Skip to content

Instantly share code, notes, and snippets.

@JonathonAnderson
Last active September 4, 2019 15:49
Show Gist options
  • Save JonathonAnderson/d6f510acf60723973a8e6b94d52be368 to your computer and use it in GitHub Desktop.
Save JonathonAnderson/d6f510acf60723973a8e6b94d52be368 to your computer and use it in GitHub Desktop.
Add-Type -Namespace Import -Name Win32 -MemberDefinition @'
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(string user, string domain, string password, int logonType, int logonProvider, out IntPtr token);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool CloseHandle(IntPtr handle);
'@
$Global:ImpersonatedUser = @{}
$tokenHandle = 0
$Username = "NT AUTHORITY\NetworkService"
$Password = $null
$Domain = $null
$LogonType = 3
$LogonProvider = 0
$returnValue = [Import.Win32]::LogonUser($Username, $Domain, $Password, $LogonType, $LogonProvider, [ref]$tokenHandle)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment