Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 修改同一域内另一台PC上的注册表_Powershell - Fatal编程技术网

Powershell 修改同一域内另一台PC上的注册表

Powershell 修改同一域内另一台PC上的注册表,powershell,Powershell,我是个超级无赖,所以对我放松点。这就是我到目前为止得到的。脚本的其余部分应该很好。我只是无法连接到域上的另一台PC 我还启动了RemoteRegistry进程,因此这也不应该是一个问题(以及等待命令) 我真的只需要找到一种与同一域上的另一台PC交互的方法。到目前为止,我尝试过的cmdlet还没有太多用处。我可能只是用错了。我基本上只需要向远程PC添加一个注册表项,而不是登录到他们的机器并手动执行 这就是我迄今为止所尝试的: $computer ="xxxxxx" Get-WmiObject Wi

我是个超级无赖,所以对我放松点。这就是我到目前为止得到的。脚本的其余部分应该很好。我只是无法连接到域上的另一台PC

我还启动了RemoteRegistry进程,因此这也不应该是一个问题(以及等待命令)


我真的只需要找到一种与同一域上的另一台PC交互的方法。到目前为止,我尝试过的cmdlet还没有太多用处。我可能只是用错了。我基本上只需要向远程PC添加一个注册表项,而不是登录到他们的机器并手动执行

这就是我迄今为止所尝试的:

$computer ="xxxxxx"
Get-WmiObject Win32_BIOS -ComputerName $computer
我也尝试过:

$computer ="xxxxx"
Get-ADComputer -Identity $computer

以下是与远程注册表交互的wmi方法:

$PSCredential = Get-Credential
$ComputerName = Read-Host -Prompt 'Enter target computername'

$GwmiArgs = @{
    Class        = 'StdRegProv'
    Namespace    = 'Root\Default'
    List         = $True
    ComputerName = $ComputerName
    Credential   = $PSCredential
}
$Registry = Get-WmiObject @GwmiArgs
使用此
$Registry
对象,您可以使用以下方法:
(它们都返回一个
[System.Management.ManagementBaseObject]
对象)

要添加远程注册表项,请执行以下操作:

<#  Defined in WinReg.h:
        HKEY_CLASSES_ROOT (2147483648)
        HKEY_CURRENT_USER (2147483649)
        HKEY_LOCAL_MACHINE (2147483650)
        HKEY_USERS (2147483651)
        HKEY_CURRENT_CONFIG (2147483653)
#>
$HKEY_LOCAL_MACHINE = 2147483650
$Registry.CreateKey($HKEY_LOCAL_MACHINE, 'SYSTEM\path\to\offlinecachekey')

$HKEY_本地_机器=2147483650
$Registry.CreateKey($HKEY\U LOCAL\U MACHINE,'SYSTEM\path\to\offlinecachekey')

您的最终目标是什么?我基本上只需要向远程PC添加一个注册表项来删除脱机文件缓存。我不想一直手动操作我不熟悉注册表路径,但我发布了一个wmi方法来实现这一点(依赖于RPC可用,这很正常),你能带我浏览一下数组吗?我不能100%确定名称空间中的根/默认值。我要把它改成reg路径吗?@RhaegoT,这叫做飞溅。它是一个包含
键:value
的字典,用于
获取WmiObject
的参数。你不需要更新任何内容
<#  Defined in WinReg.h:
        HKEY_CLASSES_ROOT (2147483648)
        HKEY_CURRENT_USER (2147483649)
        HKEY_LOCAL_MACHINE (2147483650)
        HKEY_USERS (2147483651)
        HKEY_CURRENT_CONFIG (2147483653)
#>
$HKEY_LOCAL_MACHINE = 2147483650
$Registry.CreateKey($HKEY_LOCAL_MACHINE, 'SYSTEM\path\to\offlinecachekey')