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.
Alles meine eigene Pfade. Noch einer eine Idee ?
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 ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
2 Kommentare
Neuester Kommentar

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.
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
gwmi win32_computersystem -Computer <COMPUTER> | select -Expand Username
Shellschrubber