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
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