PowerShell

PowerShell in Modulen (ad-hoc Kommandos) und States verwenden

Module

Per Standard für Salt Kommandos, welche mit cmd.run „losgeschickt“ werden mit cmd.exe aus. Sie können entweder aus cmd.exe PowerShell aufrufen, oder die Shell Variable ändern. Siehe Beispiele:

salt '*' cmd.run 'powershell -Command "Get-Date"'
salt '*' cmd.run 'Get-Date' shell=powershell
salt '*' cmd.powershell 'Get-Date'
salt '*' cmd.run '$(Get-ComputerInfo).CsModel' shell=powershell
Verschiedene PowerShell Optionen

State

Wenn Sie in einem State ein PowerShell Script ausführen möchten, müssen Sie ebenfalls die Variable shell auf powershell setzen.

Mehrzeilige PowerShell Script in States

Wenn Sie einen State auf einem Linux-System erstellen, versteht die PowerShell den Zeilenumbruch nicht. Ein State wie der Nachfolgende würde nur das erste Kommando auf der PowerShell ausführen und die Restlichen ignorieren.

Dieses Problem können Sie umschiffen, indem die mit dem Yaml-Operator >- "Folded Blocks" alles auf eine Zeile bringen lassen und dann explizit das Semikolon zum Abtrennen der Kommandos angeben.

Last updated