远程部署注册表项

时间:2017-08-31 08:37:03

标签: powershell deployment registry

我必须对脚本进行编码,该脚本将两个不同的注册表项远程部署到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"
    }
}

1 个答案:

答案 0 :(得分:1)

您正在创建pssession但不使用它。 将代码放在invoke-command中。

实施例

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
}