2014-07-16 4 views
5

Использование поставщика powershell_script поставщика chef, как бы я ссылался на файл, хранящийся на сервере chef, вместо того, чтобы иметь код, определенный в том же файле? В принципе, как я могу позвонить на .ps1, расположенный на сервере от клиента-шеф-повара?Chef Powershell Run from File

ответ

6

Вы можете вызывать скрипты без знака powershell непосредственно в пределах powershell_script, до тех пор, как your execution policy allows it, который по умолчанию делает шеф-повар.

powershell_script "run some script" do 
    code "c:/something/script.ps1" 
end 

Если вы хотите повар развернуть сценарий тоже, вы можете сделать это из /files части поваренной книги с cookbook_file.

+0

А, ладно. Я был немного смущен всеми примерами, используя только «код» для фактического кода, но я предполагаю, что, поскольку он просто запускает команду powershell, имя скрипта действительно работает. Но используя это, я бы хотел, чтобы я сначала навел сценарий на машину и вручную очистил его позже. Не для многих хлопот, но было бы неплохо иметь возможность запускать удаленный скрипт, и шеф-повар обрабатывал бы временное создание для меня. – Derongan

+2

Ну DSL - это всего лишь код Ruby. Вы можете вытащить строку для «кода» в клиент из любой точки. Вы можете 'File.read (" script.ps1 ")' из локального кэша cookbook. Даже 'Net :: HTTP.get ('example.com', 'script.ps1')' – Matt

+0

У меня мало знакомы с рубином, но это похоже на то, что я хочу! Благодаря! – Derongan

0

Для нескольких строк кода не забудьте добавить \ n в конце каждой строки в параметре кода ресурса powershell_script.