Donnerstag, der 21. November 2024 - 08:32 Uhr

Powershell: Skript als Administrator ausführen – The right way

erstellt am: 31.05.2019 | von: DevLink | Kategorie(n): Powershell, Scripting | 4 Kommentare

Wer seine Skripte hin und wieder gerne als Admin ausführen möchte bekommt mehrere Lösungen über die Suchmaschine. Allerdings bieten diese Lösungen nur halbwegs komfortable Lösungen.

Die Probleme über die ich gestolpert bin waren zB: Die normal geöffnete Powershellkonsole blieb offen, der Pfad war System32 usw..

Also begab ich mich auf die Suche nach einer Lösung, mit der ich ein Skript als Admin ausführen kann, ein neuer Prozess gestartet wird, der alte beendet und die Location in die geändert wird, in der sich das aktuell ausgeführte Skript befindet.

function Check-Admin {
	$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
	$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
if ((Check-Admin) -eq $false)  
{
	Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
	Stop-Process -Id $PID
}

$scriptDirectory = Split-Path $MyInvocation.MyCommand.Path
Set-Location $scriptDirectory

#Enter Code here.


, ,

4 Kommentare


  1. Kommentar von Robert - 18. November 2020 um 19:46

    Super Lösung. Danke

  2. Kommentar von Schubidu - 16. August 2021 um 13:14

    Dann muss aber noch etwas mehr gemacht werden. Bei mir kommt:

    Die Datei "C:\xxx.ps1" kann nicht geladen werden, da die Ausführung von
    Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter "about_Execution_Policies"
    (https:/go.microsoft.com/fwlink/?LinkID=135170).
    + CategoryInfo : Sicherheitsfehler: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

  3. Kommentar von giaonamo - 17. Dezember 2021 um 9:08

    Als Admin die PShell starten und dann Set-ExecutionPolicy unrestricted setzen.


Einen Kommentar abgeben

Themen:

55 Artikel in 6 Kategorien:

  • Exchange Server (16)
  • Linux (6)
  • Microsoft Server (7)
  • Scripting (3)
  • Tutorials (10)
  • Windows (13)