derwowusste
Goto Top

Verhalten von New-Object System.Diagnostics.Process

Moin PowerShell-Meister.

Bei folgendem Skript lasse ich Anmeldeinfos von der SmartCard lesen - klappt.
Was nicht wie erwartet klappt: in der sich öffnenden Powershell wird als $env:userprofile c:\users\default gesetzt, ich brauche an der Stelle aber c:\users\SmartCardnutzer.

Weiß jemand, was man am Skript dafür ändern muss?
$cred=Get-credential
$StartInfo = New-Object System.Diagnostics.ProcessStartInfo
$StartInfo.FileName = 'powershell.exe'  
$StartInfo.UseShellExecute = $false
$StartInfo.UserName = $Cred.Username
$StartInfo.Password = $Cred.Password
$StartInfo.WorkingDirectory =  $env:USERPROFILE
$Process = New-Object System.Diagnostics.Process
$Process.StartInfo = $StartInfo
$Process.Start()

Content-Key: 2826948082

Url: https://administrator.de/contentid/2826948082

Ausgedruckt am: 25.04.2024 um 15:04 Uhr

Mitglied: Doskias
Doskias 18.05.2022 um 14:16:16 Uhr
Goto Top
Moin,

wenn ich dich richtig verstanden habe, dann müsstest du nur in Zeile 7 $env:USERPROFILE durch c:\users\SmartCardnutzer ersetzen.

Gruß
Doskias
Mitglied: DerWoWusste
DerWoWusste 18.05.2022 aktualisiert um 14:20:35 Uhr
Goto Top
Moin.

Nein, jene Zeile ist nur das Arbeitsverzeichnis, das beeinflusst nicht die Variable.
PS: teste es selbst, man braucht keine SmartCard für den Test
Mitglied: emeriks
emeriks 18.05.2022 um 14:20:28 Uhr
Goto Top
Hi DWW,
unter welcher Anmeldung läuft denn dieses Script? Wer führt das aus oder wann wird es ausgeführt?

E.
Mitglied: DerWoWusste
DerWoWusste 18.05.2022 um 14:21:51 Uhr
Goto Top
Ich starte das Skript und will Powershell damit als anderer Nutzer starten - klappt. Nur wird in der Powershell eben nicht die Variable $env:userprofile so gesetzt, wie ich sie gerne hätte, nämlich auf das Nutzerprofil des Nutzers, der die Powershell gerade gestartet hat.
Mitglied: colinardo
Lösung colinardo 18.05.2022 aktualisiert um 14:26:47 Uhr
Goto Top
Servus DWW.
$StartInfo.LoadUserProfile = $true
fehlt. Damit wird der Prozess angewiesen auch das Environment(User-Profile) des Users zu laden.

Grüße Uwe
Mitglied: Doskias
Doskias 18.05.2022 um 14:23:53 Uhr
Goto Top
Zitat von @DerWoWusste:

Moin.

Nein, jene Zeile ist nur das Arbeitsverzeichnis, das beeinflusst nicht die Variable.
PS: teste es selbst, man braucht keine SmartCard für den Test

Siehste.. Dann hab ich dich nicht richtig verstanden :D
Mitglied: DerWoWusste
DerWoWusste 18.05.2022 um 14:26:42 Uhr
Goto Top
Danke Uwe, du liegst wie so oft goldrichtig.
Ich habe in den Parametern noch nicht gestöbert gehabt, da ich vermutet hätte, dass das Profil per Default geladen wird, so wie einst bei der runas.exe
Mitglied: DerWoWusste
DerWoWusste 18.05.2022 um 14:41:15 Uhr
Goto Top