none
Powershell Skript als Administrator starten auf verschiedenen Systemen RRS feed

  • Frage

  • Hallo zusammen,

    ich habe das Problem das mein Powershell Skript vom USB Stick als Administrator gestartet werden muss.

    Jetzt ist ja die Execution Policy standardmäßig auf restricted gestellt und damit alles komfortabler startet wollte ich es durch eine CMD Bat datei erstmal so einrichten das die Powershell Temporär Unrestricted ist und danach mein Skript als Administrator ausführt.

    Aktuell bin ich etwas am verzweifeln da mein CMD Fenster als Administrator einfach direkt zu geht ohne Meldung "PAUSE" ignoriert der einfach. Und als normales Bat File hat er keine Berechtigung.

    Ich meine das es erst seit Windows 10 so ist davor auf 7 hat es gut funktioniert.

    Wie bekomme ich es hin das mein Skript vom Stick startet als administrator.

    Ich bitte um Hilfe.

    Mit freundlichen Grüßen

    Rafael

    Samstag, 20. August 2016 09:47

Antworten


  • @Simon So lange die Policy auf restriced steht, startet das Script und damit der Self-Elevation code erst gar nicht.

    @Rafael
    Falls dein Problem noch besteht und das Powershell-Fenster sofort wieder schließt, ist mit großer Wahrscheinlichkeit die Policy der Grund dafür. Sofern die Policy nicht per GPO gesetzt ist, kannst du mit diesem Befehl in der bat, die Policy temporär umschalten:
     
    powershell.exe -executionpolicy bypass -NoProfile -file "xyz.ps1"
    
     
    Abgesehen davon ist ein häufiger Fehler auch, das das Script nicht gefunden wird, hier würde ich mal den Pfad zum Script in deiner Bat überprüfen. ( %cd% benutzt?)
    Ansonnsten: poste die bat!
     
    Grüße, Denniver





    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Donnerstag, 25. August 2016 11:34
    Moderator

Alle Antworten

  • Hi Rafael,

    um die genaue Fehlerursache zu ermitteln, würde ich dich darum bitten, uns den Code der .bat-Datei zu Verfügung zu stellen.

    Liebe Grüße

    -Lars

    Montag, 22. August 2016 06:40
  • Hallo Rafael

    Du könntest den Skript "self-elevating" machen, damit er sich selber als admin ausführt.

    Dazu einfach folgende Code Zeile an den Anfang deines Skripts setzten:

    if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }


    Montag, 22. August 2016 06:49

  • @Simon So lange die Policy auf restriced steht, startet das Script und damit der Self-Elevation code erst gar nicht.

    @Rafael
    Falls dein Problem noch besteht und das Powershell-Fenster sofort wieder schließt, ist mit großer Wahrscheinlichkeit die Policy der Grund dafür. Sofern die Policy nicht per GPO gesetzt ist, kannst du mit diesem Befehl in der bat, die Policy temporär umschalten:
     
    powershell.exe -executionpolicy bypass -NoProfile -file "xyz.ps1"
    
     
    Abgesehen davon ist ein häufiger Fehler auch, das das Script nicht gefunden wird, hier würde ich mal den Pfad zum Script in deiner Bat überprüfen. ( %cd% benutzt?)
    Ansonnsten: poste die bat!
     
    Grüße, Denniver





    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Donnerstag, 25. August 2016 11:34
    Moderator
  • > Jetzt ist ja die Execution Policy standardmäßig auf restricted gestellt
    > und damit alles komfortabler startet wollte ich es durch eine CMD Bat
    > datei erstmal so einrichten das die Powershell Temporär Unrestricted ist
    > und danach mein Skript als Administrator ausführt.
     
    Die Execution Policy hat aber mit "Admin oder nicht" nichts zu tun....
    "get-help about_execution_policy".
     
    > Aktuell bin ich etwas am verzweifeln da mein CMD Fenster als
    > Administrator einfach direkt zu geht ohne Meldung "PAUSE" ignoriert der
    > einfach. Und als normales Bat File hat er keine Berechtigung.
     
    Hm - CMD, BAT oder PS1? Zeigt mal wie schon geschrieben den Code, den Du
    hast :-)
     
    Freitag, 9. September 2016 13:29
  • > Die Execution Policy hat aber mit "Admin oder nicht" nichts zu tun....
     Die Frage ist auch etwas verwirrend ausgedrückt. Aber das hier: "Aktuell bin ich etwas am verzweifeln da mein CMD Fenster als Administrator einfach direkt zu geht " ist das Problem. Und da ist die Policy ein heißer Kandidat, direkt gefolgt von falscher Pfad zur ps1 oder anderen Typos in der Kommandozeile. In diesen Fällen geht nämlich scheinbar "das CMD-Fenster" sofort wieder zu.

    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Freitag, 9. September 2016 22:23
    Moderator
  • > "/Aktuell bin ich etwas am verzweifeln da mein CMD Fenster als
    > Administrator einfach direkt zu geht/ " ist das Problem. Und da ist die
    > Policy ein heißer Kandidat, direkt gefolgt von falscher Pfad zur ps1
    > oder anderen Typos in der Kommandozeile. In diesen Fällen geht nämlich
    > scheinbar "das CMD-Fenster" sofort wieder zu.
     
    Da fällt mir noch was dazu ein - "als Admin" startet mit
    %Windir%\System32 als CWD und nicht mit %homedrive%%homepath%. Könnte
    auch noch ne Rolle spielen, aber warten wir mal, bis der TO sich wieder
    meldet :-)
     
    Montag, 12. September 2016 14:16
  • > aber warten wir mal, bis der TO sich wieder meldet
    Da der Thread 3 1/2 Wochen alt ist, wird er das wohl nicht mehr tun. ;-)

    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Montag, 12. September 2016 14:34
    Moderator