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

Printed on: April 24, 2024 at 15:04 o'clock

Member: Doskias
Doskias May 18, 2022 at 12:16:16 (UTC)
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
Member: DerWoWusste
DerWoWusste May 18, 2022 updated at 12:20:35 (UTC)
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
Member: emeriks
emeriks May 18, 2022 at 12:20:28 (UTC)
Goto Top
Hi DWW,
unter welcher Anmeldung läuft denn dieses Script? Wer führt das aus oder wann wird es ausgeführt?

E.
Member: DerWoWusste
DerWoWusste May 18, 2022 at 12:21:51 (UTC)
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.
Member: colinardo
Solution colinardo May 18, 2022 updated at 12:26:47 (UTC)
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
Member: Doskias
Doskias May 18, 2022 at 12:23:53 (UTC)
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
Member: DerWoWusste
DerWoWusste May 18, 2022 at 12:26:42 (UTC)
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
Member: DerWoWusste
DerWoWusste May 18, 2022 at 12:41:15 (UTC)
Goto Top