2016-02-12 76 views
0

我正在嘗試創建一個模塊來將我的系統配置爲指向某個服務器。我需要更改我需要的服務器主機名的註冊表項。木偶:混合註冊表項和變量

我這樣做的方式是,我有一個'params.pp',它配置了我想要運行的命令。我也有一個指定主機名的hiera值。這個想法是,如果主機名不斷變化,我只是改變hiera值,模塊不需要改變。

我得到了reg.exe命令的語法錯誤(我使用puppet exec)。問題是下面的代碼;

$server_add = "reg.exe add HKLM\\SOFTWARE\\path\\to\\registry /f /v KeyName /t REG_SZ /d ${server}" 
    $server_query = "reg.exe query HKLM\\SOFTWARE\\path\\to\\registry /v KeyName | findstr.exe ${server}" 

它希望圍繞註冊表鍵路徑使用雙引號。然後問題是我的木偶代碼無法訪問找到我的變量'$ {server}'。

我已經嘗試過許多與報價和雙引號組合,似乎沒有運氣。

任何幫助將是偉大的。

在此先感謝。

回答

0

周圍的註冊表項雙qoutes,請在字符串中使用\」

$server_add = "reg.exe add \"HKLM\\SOFTWARE\\path\\to\\registry\" /f /v KeyName /t REG_SZ /d ${server}" 

它會給你:

reg.exe add "HKLM\SOFTWARE\path\to\registry" /f /v KeyName /t REG_SZ /d