lord-icon
Goto Top

Psexec.exe Umgebungsvariable vom angemeldeten User

Moinz,

ich müsste per Interactive Command Prompt einige Verzeichnisse erstellen.
Das klappt auch soweit.
Nur benötige ich nun auch noch eine Datei auf den Desktop vom angemeldeten User.
Die allgemeinen Umgungsvariablen greifen hier nicht. Ich bekomme immer meine eigene.

.\psexec.exe \\$CMName -e cmd /c "echo $env:userprofile"  
.\psexec.exe \\$CMName -e cmd /c "echo %USERPROFILE%"  

Alles meine eigene Pfade. Noch einer eine Idee ?

Content-ID: 454949

Url: https://administrator.de/forum/psexec-exe-umgebungsvariable-vom-angemeldeten-user-454949.html

Ausgedruckt am: 04.04.2025 um 08:04 Uhr

Xerebus
Lösung Xerebus 23.05.2019 um 15:03:07 Uhr
Goto Top
query user
139920
Lösung 139920 23.05.2019 aktualisiert um 15:44:35 Uhr
Goto Top
Zitat von @lord-icon:

Moinz,

ich müsste per Interactive Command Prompt einige Verzeichnisse erstellen.
Das klappt auch soweit.
Nur benötige ich nun auch noch eine Datei auf den Desktop vom angemeldeten User.
Die allgemeinen Umgungsvariablen greifen hier nicht. Ich bekomme immer meine eigene.

Zur Begründung warum das obige so überhaupt nicht gehen kann:

.\psexec.exe \\$CMName -e cmd /c "echo $env:userprofile"
Erstens, das ist Powershell,also in einer CMD ausgeführt ist Schwachfug.
.\psexec.exe \\$CMName -e cmd /c "echo %USERPROFILE%"
Zweitens: Du hast Batch offenbar nicht ganz verstanden, Die Umgebungsvariable wird vor dem Ausführen durch die ersetzt mit der das ganze gerade ausgeführt wird, du müsstest diese also escapen.

Drittens nutzt du den Parameter -e der dazu führt das das Profil nicht geladen wird, somit auch nicht seine Umgebungsvariablen.

Viertens , die PSEXEC Instanz läuft im Kontext des Users der psexec gerade ausführt, er wird als immer deinen Usernamen liefern egal wer angemeldet ist. Dort müsste man dann interaktiv ausführen und Parameter -i nutzen.

An den Usernamen kommst du aber auf vielen Wegen.
wmic /node:<computer> computersystem get username /value
Oder Powershell
gwmi win32_computersystem -Computer <COMPUTER> | select -Expand Username
usw.


Shellschrubber