Redaktionssystem [www.ingenieur-menzel.de]
Powershell 2.0

Anleitungen zu Powershell 2.0 

 

Powershell ist die Scripting-Umgebung für die tägliche Arbeit eines Windows-Administrators. Durch den nahtlosen Zugriff auf das mächtige [.Net]-Framework gehört die Entwicklung von unübersichtlich strukturierten BAT- und VBS-Skripten endgültig der Vergangenheit an.  

Mit entsprechender Fachliteratur ([1], [2]) kann Powershell in wenigen Tagen im Selbststudium erlernt werden.

Umgebung
Unterstützte Betriebssysteme: Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008
Auf diesen Betriebssystemen ist die Ausführung von Powershell 2.0 möglich. Ist Powershell im Auslieferungszustand noch nicht auf dem System vorhanden, so kann es durch einen separaten Download nachinstalliert werden. 

 

Powershell-Skripte ausführen

Im Auslieferungszustand der Powershell-Installation ist die Skriptausführung gesperrt. Diese Ausführungsrichtlinie kann über einen Befehl in der Powershell-Konsole geändert werden (s.u.). Des Weiteren können Skripte in der Standardeinstellung des Systems nicht per Doppelklick gestartet werden. Ein Doppelklick bewirkt stattdessen die Anzeige des Skriptes im Texteditor. Dieses Verhalten bezeichnet der Hersteller als Sicherheitseinstellung. Damit soll die unbeabsichtigte Ausführung von Code verhindert werden.  

Um ein Skript dennoch auszuführen, stehen verschiedene Wege zur Verfügung.

  1. Starten des Skripts mit der alternativen Maustaste (i.d.R. rechte Maustaste) über den Kontextmenüeintrag "Mit Powershell ausführen"
  2. Starten des Skripts im Powershell-Editor (ISE) über den Befehl "Skript ausführen (F5)"
  3. Starten des Skripts aus der Powershell-Konsole, durch Eingabe der Pfadzeichenfolge und Taste [Eingabe]
  4. Verpacken des Aufrufs [Powershell.exe "PfadSkriptName.ps1"] in eine BAT-Datei oder in eine Verknüpfung und Starten des Aufrufes per Task oder Doppelklick.

 

Anmerkung
Die Möglichkeit, Skripte als Kommandozeilenaufruf per Doppelklick zu starten, lässt das Sicherheitsvorhaben des Herstellers grotesk erscheinen. 

 

Ausführung von Skripten erlauben (Anpassen der Powershell-Sicherheitseinstellungen)

Um die Ausführung von lokal gespeicherten Skripten dauerhaft zu erlauben, muss folgender Konsolenbefehl ausgeführt werden.  

 

# alle Fragen mit 'J' bestätigen
# oder beim Aufruf {-Force} übergeben

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Code: PSCMD, Auführungsrichtline lokale Skripte  

 

Sollen die Einschränkungen der Sicherheitsrichtlinie unverändert bleiben, so ist dennoch eine Skriptausführung möglich. Hierzu ist im Aufruf der Parameter [-ExecutionPolicy ByPass] aufzunehmen. Dieser Parameter stellt die Sicherheitsrichtlinie nur temporär, für die Dauer der Skriptausführung, um. 

 

REM * Powershell-Skiptaufruf mit Umgehung der Sicherheitsrichtlinie *

Powershell.exe -ExecutionPolicy ByPass -file "PfadSkriptName.ps1"

Code: CMD, Beispiel Umgehung der Sicherheitsrichtlinie für Powershell-Skripte  

Hinweis
Um die Ausführungsrichtlinie ändern zu können, müssen die Rechte eines Administrators vorhanden sein. Das Ändern der Ausführungsrichtlinie durch lokale Administratoren kann durch eine Domänenrichtlinie verhindert werden. 
Themen
Name 
Beschreibung 
Einrichten und Verwenden der Fernausführung für Powershell
 
Für Rückgaben im Klartext verfügt Powershell über keine Commandlets, die eine maskierte Benutzereingabe erlauben. Nachfolgend werden zwei Möglichkeiten beschrieben, um diese Funktionalität bereitzustellen  
Automatisches Aktualisieren der abgerufenen Webseite im Internetexplorer durch ein Powershell-Skript

Diverse Internetseiten stellen in zeitlichen Intervallen neue Inhalte ins Netz (Newsticker, Wetterradar u.a.). Um ohne Seitenwechsel mit dem Internetexplorer diese neuen Inhalte abzurufen, muss die Taste [F5] gedrückt werden. Diese Aufgabe erledigt das nachfolgende Skript IE_Autorefresh.ps1 in einem einstellbaren Intervall automatisch.
 
Informationen (extern)
Pfad:  Anleitungen > Powershell 2.0
TopicID: [_tut_powershell_2x0]
© Dipl.-Ing. (FH) Alfred Menzel, 2012
Impressum, Haftungsausschluss und Nutzungsbedingungen