• Start
  • Über
  • Blog
  • Kontakt

DiszipLean

Lean in Produktion und Dienstleistung. Tipps, Werkzeuge und Vorlagen

Weil es einfach besser ist.

PowerShell läuft nicht? Mit diesen 5 Tricks schon

16. März 2015 von Roman Ungern-Sternberg

Das Konsolen-Fenster geht nur kurz auf und verschwindet wieder, Execution Policy Fehler, Leerzeichen im Pfad oder eine nicht deklarierte Variable? Es gibt viele Gründe warum PowerShell nicht so funktioniert, wie es sollte.

Der Artikel ist Teil der Serie Lean Automation und hier die fünf besten Tricks um PowerShell zum Laufen zu bringen.

1. PowerShell Execution Policy. PowerShell läuft, aber Skripte lassen sich nicht aufrufen

Ihnen kommen Fehlermeldungen zur falschen Execution Policy bekannt vor?

Problem: Die Execution Policy verhindert das Ausführen des Skripts.

Lösung: Ändern Sie die Rechte. Eine gute Beschreibung(so dass ich sie hier nicht nochmals wiederhole) zu Set-Execution Policy finden Sie bei WindowsIt Pro. Achtung: Man braucht Admin Rechte dazu.

2. Programm läuft in der ISE, nach einem Neustart aber nicht mehr?

Sie haben ein Skript entwickelt und dieses läuft in der Entwicklungsumgebung(PowerShell ISE), nach einem Neustart tauchen jedoch viele Fehler auf. Zwei häufige Ursachen sind:

2.1 Nicht mehr vorhandene Variablen

Beispiel: Sie haben Variablen z.B. per Eingabezeile Werte zugewiesen. Hier das Skript:

script-ohne-variable

In diesem Beispiel wird der Variablen $a ein Wert per Eingabezeile zugewiesen und dann das Skript ausgeführt. Das Funktioniert und liefert das korrekte Ergebnis „2“ zurück:

script-ohne-variable-execution

Problem: Nach einem Neustart ist die Variable $a nicht mehr verfügbar und das selbe Skript zeigt folgende Fehlermeldung:

script-fehler

Lösung: Definieren Sie alle vom Skript benötigten Variablen vor deren Verwendung direkt im Skript:

script-fehler-loesung

2.2 Ein neuer relativer Pfad

In der Konsole sind Sie zu einem Pfad navigiert, z.B.

Set-Location C:\Users\Public\Documents

oder mit cd

verzeichnis-gewechselt

Problem: Ihr Skript funktioniert bis zum Neustart einwandfrei. Dann tauchen Fehlermeldungen auf, Pfade werden nicht gefunden, etc.

Ursache: Nach einem Neustart der ISE wird der zugewiesene Pfad wieder auf den Standardpfad zurückgesetzt.

Lösung: Nutzen Sie Variablen um den Pfad zu speichern und nutzen Sie diese bei dem Aufruf von cmdlets.

$path = "C:\Temp\*"

Get-ChildItem $path

Alternativ setzen Sie den Pfad im Skript zu Beginn auf den gewünschten Ort:

set-location-powershell

3. Debugging: Probieren Sie es in der ISE

Problem: Ein Skript funktioniert nach einem Doppelklick auf das Symbol nicht. Es poppt nur kurz das Fenster auf, ein roter Text huscht vorüber und alles ist wieder weg.

Lösung: Öffnen Sie das Skript in einer neuen Instanz der ISE. Und führen Sie es mit F5 bzw. einem Klick auf Ausführen aus. Die ISE bleibt offen und Sie können das Skript dort wesentlich besser debuggen.

4. Das Fenster schließt sich sofort wieder. Read-Host hilft.

Problem: Nachdem das Skript ausgeführt wurde schließt es sich sofort wieder. Sie wollen allerdings, dass das Fenter offen bleibt, z.B. um eine Meldung auszugeben.

Lösung: Fragen Sie den Benutzer nach einer Eingabe. Achtung: Das Skript wird erst nach dieser Eingabe beendet. Warten andere Skripte auf das Beenden des aktuellen Skripts, sollten Sie diese Methode nicht verwenden. Nutzen Sie dann besser das -NoExit Flag beim Start der PowerShell.. Wie das geht lesen Sie im nächsten Beitrag.

5. Skript verschoben/umbenannt, jetzt geht es nicht mehr. Wohl ein Leerzeichen im Pfad

Sie haben ein Skript, das funktionierte auch prima. Bis Sie es verschoben oder umbenannt haben. Das Fenster blinkt auf und weg ist es.

Problem: Sie haben vermutlich ein Leerzeichen im Pfad, damit hat PowerShell ein paar Probleme.

Lösung: Nutzen Sie eine Verknüpfung für den Start des Skripts. Wie dies genau geht, lesen Sie auch im nächsten Beitrag.

Extra-Tipp für Windows 8.1: PowerShell im Startmenü statt der CMD

Danke für den Tipp an Lifehacker.com. Ab Windows 8.1 gibt es wieder ein Startmenü. Dies erreicht man mit einem Rechtsklick auf den Windows Button oder über Tastenkombination Windows + X. Anstelle der Kommandozeile kann in dem Startmenü direkt die PowerShell aufgeführt werden:

Start-menu-with-powershell

Dazu einen Rechtsklick auf eine freie Stelle auf der Tastkleiste. Dort wählt man Einstellungen… und setzt den korrekten Haken:

powershell-start-settings

Ich hoffe der Beitrag konnte beim dem ein oder anderen PowerShell Problem helfen? Hinterlassen Sie doch einen Kommentar.

Filed Under: Allgemein

Keinen Artikel zur aktuellen Kanban Serie verpassen?

Tragen Sie sich in den Newsletter ein und Sie bekommen
- eine komplette Einkaufsliste für ein Büromaterial-Kanban
- Layoutvorlagen und Software für den Druck
- mehr Tipps zu Lean Techniken

Spam ist blöd. Mit einem Klick sind Sie wieder draußen!

Disziplean, was soll das?

Ein Blog über Verbesserungen in der Industrie und Produktion? Mit Vorlagen und Tipps zu Lean?
Das ist doch verrückt!

Lust auf mehr zum Thema Lean und OpEx?

Am einfachsten vernetzen wir uns bei LinkedIN.

Ich freue mich über Ihre Kontaktanfrage!

Impressum | Datenschutz

Beliebteste Artikel

  • Dafür ist Excel einfach nicht gemacht
  • PowerShell und Leerzeichen. Es startet nicht? So klappts. Mit einer Verknüpfung und Parametern
  • PowerShell läuft nicht? Mit diesen 5 Tricks schon
  • Poka Yoke Beispiele – auch beim Geldabheben
  • Visio ist zu teuer? Dann schauen Sie sich diese kostenlose Alternative an
  • Eigene Datengrafiken erstellen mit Visio & Excel
  • Mit 10 Regeln zum perfekten Wertstromdesign

Suche

© 2014 - 2023 Roman Ungern-Sternberg · Alle Rechte vorbehalten · Impressum · Datenschutz