Powershell: MMC Konsole mit anderem Benutzer und erhöhten Rechten starten
Hallo,
ich versuche verzweifelt eine MMC Konsole in meinem Powershell Script unter einen anderen User zu starten.
Beispiel:
$username = "BeispielDomain\BeispielUser"
$password = "Mein Passwort"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
$MMC.Add_Click(
{
Start-Process mmc.exe -Credential ($credentials) -ArgumentList "C:\Utility\GPO-Manager.msc"
}
)
Ich möchte auf den Button MMC klicken und dann soll sich meine erstellte MMC öffnen, allerdings kommt die Fehlermeldung das sie mit erhöhten Rechten gestartet werde muss.
Der Account den ich in $username hinterlegt habe, ist aber der Domain Admin und sollte Rechte haben.
Wie bekomme ich jetzt noch das RunAs mit rein ??
Danke
ich versuche verzweifelt eine MMC Konsole in meinem Powershell Script unter einen anderen User zu starten.
Beispiel:
$username = "BeispielDomain\BeispielUser"
$password = "Mein Passwort"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
$MMC.Add_Click(
{
Start-Process mmc.exe -Credential ($credentials) -ArgumentList "C:\Utility\GPO-Manager.msc"
}
)
Ich möchte auf den Button MMC klicken und dann soll sich meine erstellte MMC öffnen, allerdings kommt die Fehlermeldung das sie mit erhöhten Rechten gestartet werde muss.
Der Account den ich in $username hinterlegt habe, ist aber der Domain Admin und sollte Rechte haben.
Wie bekomme ich jetzt noch das RunAs mit rein ??
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 602708
Url: https://administrator.de/contentid/602708
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
8 Kommentare
Neuester Kommentar
Moin,
bzw. muss du zuerst noch einen Start-Process Powershell mit den Credentials ausführen, falls der Benutzer ein anderer als der derzeit angemeldete ist; und diesem dann wiederum als Argument den start-process mmc mitgeben .
Gruß Thomas
Start-Process mmc.exe -verb runas -ArgumentList "C:\Utility\GPO-Manager.msc"
Gruß Thomas
bspw.
Wobei du das Hinterlegen des Passworts im Klartext dringend nochmal überdenken solltest und es stattdessen zumindest als Securestring verschlüsselt aus einer Textdatei welche an das Userprofil gebunden ist zu laden oder den User eingeben zu lassen. So ist das Bad-Practice.
$username = "BeispielDomain\BeispielUser"
$password = "Mein Passwort"
if($env:Username -ne $username){
start powershell -ArgumentList '-command',"start mmc -verb runas -Argumentlist 'C:\Utility\GPO-Manager.msc'" -Credential (new-Object PSCredential($username,(ConvertTo-SecureString $password -AsPlainText -Force)))
}else{
start mmc -verb runas -Argumentlist 'C:\Utility\GPO-Manager.msc'
}
Zitat von @145916:
... und es stattdessen zumindest als Securestring verschlüsselt aus einer Textdatei welche an das Userprofil gebunden ist zu laden
Auch das ist imao alles viel zu unsicher. Securestrings kann man ganz leicht in Klartext konvertieren.... und es stattdessen zumindest als Securestring verschlüsselt aus einer Textdatei welche an das Userprofil gebunden ist zu laden
... oder den User eingeben zu lassen.
Entweder das, oder halt in der Aufgabenplanung eine Aufgabe mit Adminstratorrechten anlegen. Da braucht man das Passwort nur einmalig für das anlegen der Aufgabe einzugeben; und die normalen Benutzer können die Aufgabe anschließend ganz ohne eingabe des Passworts starten.Natürlich sollte man in dem Fall darauf achten, dass normale Benutzer keine Schreibrechte für das Skript besitzen - da man andernfalls durch abändern des Skriptes jeden Befehl ohne Eingabe eines Passworts mit Adminrechten starten könnte.
Gruß Thomas
Zitat von @TK1987:
Auch das ist imao alles viel zu unsicher. Securestrings kann man ganz leicht in Klartext konvertieren.
Ja das ist bekannt, aber nur wenn man sich auch mit dem Useraccount einloggen kann der den Securestring erzeugt hat, denn der Salt für den SS wird mit den Windows Credentials verschlüsselt im Userprofile abgelegt.Auch das ist imao alles viel zu unsicher. Securestrings kann man ganz leicht in Klartext konvertieren.
Hinterlegen im Credential Store ist natürlich besser, richtig.
Hi,
So mache ich das immer. Funktioniert mit jedem anderen Tool auch. Dito bei Links auf Reports usw. wo andere Credentials hinterlegt sind als Windows-Identity
Grüße!
- starte eine CMD
- In der Startleiste per Rechtsklick und gleichzeitig gedrückter SHIFT-Taste auf das CMD-Icon den Punkt: "Als anderer Benutzer ausführen" auswählen
- Deine Credentials eingeben
- in der neuen CMD mmc.msc eingeben
So mache ich das immer. Funktioniert mit jedem anderen Tool auch. Dito bei Links auf Reports usw. wo andere Credentials hinterlegt sind als Windows-Identity
Grüße!