hellas
Goto Top

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

Content-ID: 602708

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

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

TK1987
TK1987 08.09.2020 aktualisiert um 15:47:01 Uhr
Goto Top
Moin,

Start-Process mmc.exe -verb runas -ArgumentList "C:\Utility\GPO-Manager.msc"  
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
145916
145916 08.09.2020 aktualisiert um 16:38:47 Uhr
Goto Top
bspw.
$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'  
}
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.
TK1987
TK1987 08.09.2020 aktualisiert um 17:09:46 Uhr
Goto Top
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.
... 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
145916
145916 08.09.2020 aktualisiert um 17:26:20 Uhr
Goto Top
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.

Hinterlegen im Credential Store ist natürlich besser, richtig.
erikro
erikro 08.09.2020 um 18:42:12 Uhr
Goto Top
Moin,

warum einfach, wenn es auch kompliziert geht. face-wink Ich habe dafür ein Icon auf dem Desktop. Rechte Maustaste -> als Administrator ausführen. Das war's.

Oder gibt es einen Grund, warum Du das mit der PS starten willst?

hth

Erik
hellas
hellas 09.09.2020 um 07:21:27 Uhr
Goto Top
Super das hat mir geholfen face-smile

Ich wollte dieses Script zur exe compilieren damit ich dem Passwort Problem aus dem Weg gehe. Gut alle 6 Monate neu compilieren face-smile aber das würde ich in Kauf nehmen face-smile
hellas
hellas 09.09.2020 um 07:23:39 Uhr
Goto Top
Ja in diesem Script gibt es mehrere Buttons, es ist sozusagen eine Sammlung von Programmen die unter dem Admin Account gestartet werden müssen, Netzwerk Shares bei denen es egal ist ob mit Admin oder normalem Account aber auch Sharepoint Seiten auf dem nur mein "normaler" Account Zugriff hat.
mayho33
mayho33 09.09.2020 um 07:41:25 Uhr
Goto Top
Hi,

  • 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!