【问题标题】:Powershell Access Denied IssuePowershell 访问被拒绝问题
【发布时间】:2016-12-07 04:09:57
【问题描述】:

我正在尝试从我的域中的计算机下载注册表配置单元,并且我首先在本地测试一些命令。我有两台机器 (VM) 不在同一个域中:SRV2K12 和 US-TEST。我可以在两台机器上成功运行reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\<hostname>(手动输入的本地主机名在哪里)。但是,我最终需要远程运行命令,所以我使用 Invoke-Command。在我的 Win 2012 服务器上,我可以使用 Invoke-Command -computername SRV2K12 -ScriptBlock {reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\<hostname> 并且它按预期工作。在我的 Windows 7 和 Windows 10 机器上,它不起作用。我收到此错误:

ERROR: Access is denied.
    + CategoryInfo           : NotSpecified: (ERROR: Access id denied.: String) []. RemoteException
    + FullyQualifiedErrorId  : NativeCommandError
    + PSComputerName         : <hostname>
NotSpecified: (:) [], RemoteException

我可以在 US-TEST Windows 7 机器上运行 Invoke-Command -ScriptBlock {reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\US-TEST} 就好了,它将配置单元保存到远程计算机。但是当我添加 -computername US-TEST 属性(在 Win 7 或 10 机器上)时,它告诉我访问被拒绝。

有什么想法可以让它发挥作用吗?我已经在这些机器上运行了enabled-psremoting -force,它成功完成了。我还在两台机器上运行了Set-item wsman:localhost\client\trustedhosts -value *。没有变化。

【问题讨论】:

  • 听起来像是两跳问题。如果你真的需要它,简单但不安全的答案是使用 CredSSP。

标签: windows powershell invoke-command


【解决方案1】:

2-Hop 远程处理是您的问题,正如 BenH 所说,CredSSP 可以解决它,但您也可以进行小的设计更改,而不是尝试从远程主机进行保存,只需将数据返回到您的调用计算机并执行从那里保存。以下是一种方法,但如果您使用 get-itemproperty 而不是 reg.exe,您可以获得更高的效率并避免临时文件另外请注意,当您使用调用时,这很有可能不起作用 -带有 -computername 参数的命令针对您正在运行的计算机,需要针对远程计算机调用 -computername。

$SB = {
  reg.exe save HKLM\SYSTEM "$($env:TMP)\reg"
  $tempFile = gc "$($env:TMP)\reg"
  return $tempFile
}

$result = Invoke-Command -ScriptBlock $SB -computername COMPUTERNAME
$result | Out-File \\SRV2K12\Hives\US-TEST

【讨论】:

  • 当您可以轻松配置 credssp 时,为什么要解决? 4sysops.com/archives/…
  • 因为 CredSSP 会带来额外的安全风险,而此方法不会。您可以在启用 CredSSP 的机器上从远程会话中模仿密码,但在使用普通身份验证时不能这样做。 MS 不默认使用 CredSSP 是有原因的。
  • 老实说,除了提供信息之外,我并没有任何意思,如果我遇到任何其他方式,我深表歉意
  • Mike,没有 -computername 命令,如果我从另一台机器上运行脚本,我如何定位 US-TEST 机器。最终,我需要针对数百个主机名运行这个脚本来拉下我的注册表配置单元列表。
  • 抱歉,我的示例中应该存在该开关。您只需要在针对您运行脚本的计算机时省略它(因此,如果您从 US-TEST 运行,您也不能通过 -computername US-TEST)。您可以也使用 Get-ItemProperty 并避免所有这些调用命令的东西,但这是一个完全不同的解决方案。
猜你喜欢
  • 1970-01-01
  • 2012-08-11
  • 2017-10-25
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
相关资源
最近更新 更多