我有多个Active Directory林,我想为每个林获取授权的DHCP服务器。我想调用PowerShell CmdLet Get-DHCPServerinDC
。如果我在林A中的域控制器上执行该命令,它将输出正确的DHCP服务器。如果我从森林B通过Invoke-Command -ComputerName DCforestA -ScriptBlock {Get-DHCPServerinDC}
执行命令,我从森林B获得自动化的DHCP服务器。
这是一个错误吗?有人可以重现这个问题吗?
答案 0 :(得分:0)
我在这里发帖是因为这个问题非常陈旧,但在这里找到答案比在ServerFault上找到相同的问题更容易:)
我刚遇到同样的问题,看起来问题是由于cmdlet获取了要从用户帐户执行的域。这有一定的意义,尽管让cmdlet知道域并且能够接受域作为参数会很好。
如果传递要执行命令的远程域的凭据,则会检索正确的服务器列表。在下面的示例中,您将访问domain1上的计算机并连接到domain2上的server1:
$cred=Get-Credential -Message "Enter credentials for an account on domain2";
Invoke-Comand -Computername server1 -Credential $cred -Scriptblock {Write-Host $env:USERDOMAIN;Get-DCHPServerInDC}
打印USERmain环境变量以确认脚本块正在执行的上下文。