对另一个域远程使用 Get-DnsServerResourceRecord

Using Get-DnsServerResourceRecord Remotely Against Another Domain

我正在尝试 运行 以下内容

$secpasswd = 'Test'
$secpasswd = ConvertTo-SecureString $secpasswd -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ('domain2\nick', $secpasswd)

[scriptblock]$CheckDNS = {
Get-DnsServerResourceRecord -Name 'computername' -ZoneName domain2.local -ComputerName domain2dC.domain2.local }

invoke-command -scriptblock $CheckDNS -Credential $mycreds -ComputerName domain2managementbox.domain2.local 

这应该是目标机器上的 运行ning Get-DnsServerResourceRecord 模块,但是我收到以下错误:

Failed to get the zone information for domain2.local on server domain2managementbox.domain2.local.
+ CategoryInfo          : PermissionDenied: (dgtest.local:root/Microsoft/...rResourceRecord) [Get-DnsServerResourceRecord], CimException
+ FullyQualifiedErrorId : WIN32 5,Get-DnsServerResourceRecord

当我 运行 框本身上的命令时,它工作正常并且我有正确的权限。

谢谢

您正在尝试 "double hop" 使用您的凭据(从您的客户端计算机到 "domain2managementbox.domain2.local" 然后再到 "domain2dC.domain2.local"。使用默认的 kerberos 身份验证不允许这样做。

运行 Enable-WSManCredSSP -Role Client -DelegateComputer domain2managementbox.domain2.local -Force 在您的客户端计算机上。

运行 Enable-WSMaCredSSP -Role Server –Force "domain2managementbox.domain2.local"

... 然后使用 -CredSSP 作为 Invoke-Command.

的附加身份验证参数