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-Key: 454949

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

Printed on: April 19, 2024 at 14:04 o'clock

Member: Xerebus
Solution Xerebus May 23, 2019 at 13:03:07 (UTC)
Goto Top
query user
Mitglied: 139920
Solution 139920 May 23, 2019 updated at 13:44:35 (UTC)
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