Per fare assumere una diversa identità al processo corrente, per fargli svolgere attività altrimenti impossibili uso questo:

<DllImport("advapi32.dll")> _
Public Shared Function LogonUserA(ByVal lpszUserName As String, ByVal lpszDomain As String, ByVal lpszPassword As String, ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, ByRef phToken As IntPtr) As Integer
End Function

Impostando lo lpszUserName e lo lpszPassword e mettendo a nothing lpszDomain mi funziona perfettamente.

La mia domanda è:
se il mio computer ha utente Administrator e non ha password, che ci metto in lpszPassword?

Non funziona nè con nothing, nè con la stringa nulla :master: