2017-08-31 112 views
0

我必須編寫一個腳本,它將兩個不同的註冊表項遠程部署到我們的Active Directory中的所有客戶端。該腳本不響應任何錯誤,但它似乎仍然沒有創建密鑰。你能幫我嗎?遠程部署註冊表項

我不是用來編程,所以請記住這一點:d

$pc = Get-ADComputer -filter {name -like "WS226"} 
foreach ($object in $pc) 
{ 
    $object.name 

    #New Powershell-Remotesession with $PC 
    $session = New-PSSession -Computername $object.name 

    $Dir ="HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1" 
    If (Test-Path $Dir) 
    { 
     New-Item -Path HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1 -Name NewKey -Value "Default Value" -Force 
     New-ItemProperty -Path HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1\NewKey -Name "NLS_DATE_FORMAT" -PropertyType "String" -Value "DD.MM.RRRR" 
    } 
    else 
    { 
     ECHO "key" 
    } 

    $Dir ="HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1" 
    If (Test-Path $Dir) 
    { 
     New-Item -Path HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1 -Name NewKey2 -Value "Default Value" -Force 
     New-ItemProperty -Path  HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1\NewKey2 -Name " NLS_NUMERIC_CHARACTERS" -PropertyType "String" -Value ".," 
    } 
    else 
    { 
     ECHO "key" 
    } 
} 
+0

一件事你的代碼是不完整的,你換行被打破。你的代碼與你在這裏發佈的內容完全相同嗎?如果沒有:請[編輯]你的問題並解決。 –

回答

1

您所創建的PSSession中,但你不使用它。 將你的代碼放在一個invoke命令中。

Invoke-command -Session $Session -scriptblock{ 
    $Dir ="HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1" 
    If (Test-Path $Dir) 
    { 
    New-Item -Path HKLM:\SOFTWARE\ORACLE\KEY_OraClient11g_home1 -Name NewKey - 
    Value "Default Value" -Force 
    #your other code goes here 
}