Hallo,
es wird eine Mehtode gesucht, mit der ein Process unter Verwendung eines anderen Users gestartet werde kann.
Hierzur kommt folgender VB.Net Code zum Einsatz:
Die Funktion wird wie folgt aufgerufen:
RunProcess("userA", ToSecureString("Password"), ".", "C:\Windows\notepad.exe")
Beim Ausführen wird immer eine Win32Exception mit der Fehlermeldung "Der Verzeichnisname ist ungültig" geworfen.
Im Debugging-Fenster kann man sehen, dass der Parameter "WorkingPath" auf ein gültiges Verzeichnis zeigt.
Kann jemand verraten, welches Verzeichnis hier gemeint sein könnte?
es wird eine Mehtode gesucht, mit der ein Process unter Verwendung eines anderen Users gestartet werde kann.
Hierzur kommt folgender VB.Net Code zum Einsatz:
VB.NET-Quellcode
- Private Function RunProcess(userName As String, securePass As SecureString, domain As String, cmd As String) As Boolean
- Dim myPath = System.IO.Path.GetFullPath(FileIO.FileSystem.CurrentDirectory)
- Dim p As New Process
- p.StartInfo.UseShellExecute = false
- p.StartInfo.FileName = cmd
- p.StartInfo.UserName = userName
- p.StartInfo.Password = securePass
- p.StartInfo.Domain = domain
- p.StartInfo.Arguments = ""
- p.StartInfo.WorkingDirectory = myPath
- Return p.Start()
- End Function
- Public Shared Function ToSecureString(value As String) As System.Security.SecureString
- Dim myOut As New System.Security.SecureString
- For Each mychar As Char In value
- myOut.AppendChar(mychar)
- Next
- Return myOut
- End Function
Die Funktion wird wie folgt aufgerufen:
RunProcess("userA", ToSecureString("Password"), ".", "C:\Windows\notepad.exe")
Beim Ausführen wird immer eine Win32Exception mit der Fehlermeldung "Der Verzeichnisname ist ungültig" geworfen.
Im Debugging-Fenster kann man sehen, dass der Parameter "WorkingPath" auf ein gültiges Verzeichnis zeigt.
Kann jemand verraten, welches Verzeichnis hier gemeint sein könnte?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BigBen2003“ ()