Start-Process Script mit Optionen starten
Guten Tag zusammen,
Ich möchte meinen Nutzer eine Software installieren. Dafür brauch ich natürlich höhere Rechte.
Ich muss dem Script aber den User mitgeben mit dem er arbeiten soll.
Ich habe es so versucht:
Ich bekomme jedoch immer:
Start-Process : Dieser Befehl kann aufgrund des folgenden Fehlers nicht ausgeführt werden: Der Verzeichnisname ist ungültig.
Der Pfad stimmt aber zu 100%. Wenn ich das -Credential weg lasse geht es auch. Nur habe ich nicht die passenden Rechte dann.
Wie kann ich das lösen?
Gruß Andre
Ich möchte meinen Nutzer eine Software installieren. Dafür brauch ich natürlich höhere Rechte.
Ich muss dem Script aber den User mitgeben mit dem er arbeiten soll.
Ich habe es so versucht:
$anmeldedaten = Get-Credential -UserName "Firma\admin" -Message "Anmeldedaten"
Start-Process powershell.exe -Argumentlist "\\server\daten\test2.ps1 $env:USERNAME" -Credential $anmeldedaten
Ich bekomme jedoch immer:
Start-Process : Dieser Befehl kann aufgrund des folgenden Fehlers nicht ausgeführt werden: Der Verzeichnisname ist ungültig.
Der Pfad stimmt aber zu 100%. Wenn ich das -Credential weg lasse geht es auch. Nur habe ich nicht die passenden Rechte dann.
Wie kann ich das lösen?
Gruß Andre
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2133915450
Url: https://administrator.de/contentid/2133915450
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
7 Kommentare
Neuester Kommentar
Servus.
Dem User "Firma\Admin" Rechte auf \\server\daten\test2.ps1 erteilen?
Cheers,
jsysde
Dem User "Firma\Admin" Rechte auf \\server\daten\test2.ps1 erteilen?
Cheers,
jsysde
Guten Morgen,
setze mal in die Argumentlist -File ein und übergehe deinen Parameter(namen) für $env:USERNAME mit.
https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell. ...
Gruß
setze mal in die Argumentlist -File ein und übergehe deinen Parameter(namen) für $env:USERNAME mit.
https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell. ...
Gruß
Moin.
Vielleicht so?
Cheers,
jsysde
Nachtrag:
Durch die Sicherheitsbrille betrachtet ist es natürlich fatal, dass ein Domänen-Admin auf einem Client-System genutzt wird bzw. genutzt werden kann....
Vielleicht so?
$anmeldedaten = Get-Credential -UserName "Firma\admin" -Message "Anmeldedaten"
Start-Process C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Argumentlist "\\server\daten\test2.ps1 $env:USERNAME" -Credential $anmeldedaten
Cheers,
jsysde
Nachtrag:
Durch die Sicherheitsbrille betrachtet ist es natürlich fatal, dass ein Domänen-Admin auf einem Client-System genutzt wird bzw. genutzt werden kann....
Ich möchte meinen Nutzer eine Software installieren. Dafür brauch ich natürlich höhere Rechte.
Gut, aber dazu reicht es in der Regel nicht einfach nur die Powershell mit Admin-Credentials zu starten, denn die Shell läuft dann erst mal nicht elevated! Du musst also erst mal eine Konsole als Admin starten und darin anschließend das Skript elevieren mittels -verb runas Parameter, das geht so:$anmeldedaten = Get-Credential -UserName "Firma\admin" -Message "Anmeldedaten"
start powershell -Argumentlist "-EP Bypass -C start powershell -verb runas -Argumentlist '-EP Bypass -File `"\\server\daten\test2.ps1`" $env:Username'" -Credential $anmeldedaten
Also Step1: Starte eine unelevierte Shell mit Credentials des Admins, Step2: aus dieser Shell starte eine elevierte Session mittels -verb runas Parameter.
Der User ist Domain-Admin
Autsch ... Da hat mal wieder einer die goldene Regel gebrochen. Never, never ever use Domain-Admin-Credentials on untrusted devices/workstations! Stichwort "Golden Ticket" sollte reichen.