1

我想使用下面的脚本从不同的森林运行 portqry,但我收到找不到路径错误。从网络共享访问文件时,我可以手动访问它,而远程域没有问题

# 获取森林名称

$domain = "spos02600287.test.net"
$contextType = [system.directoryservices.activedirectory.Directorycontexttype]::Domain
$domain ="$domain"
$domainContext = new-object system.directoryservices.ActiveDirectory.DirectoryContext @($contextType,$domain)
#Query  the Forest and PDC Role Emulator 
$Server = [system.DirectoryServices.Activedirectory.Domain]::GetDomain($domaincontext)
$passwords = "newtemp123"
$user =  "$domain\Administrator"
$password = $Passwords | ConvertTo-SecureString -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential -argument $user, $password

$PDC =$server.Name
foreach ( $serv in $PDC){

$Server =  "d.root-servers.net"
$Port = "53"

Invoke-Command -ComputerName $serv -Credential $creds  -ScriptBlock {\\10.28.64.15\EXE\portqry.exe -n $Server -e $Port -p UDP }}
4

2 回答 2

0

您遇到的情况类似于著名的 PowerShell 双跃点问题。基本上,当通过 Invoke-command 进行远程处理时,您无法访问远程位置。

另外,您似乎在“-scriptBlock”之后缺少括号?

这是有关该问题的更多信息。 在这里,来自 MSDN。

于 2014-10-17T00:40:52.200 回答
0

-authentication credssp只需添加如下所示的调用命令行即​​可解决该问题

Invoke-Command -ComputerName $serv -Credential $creds -authentication credssp -ScriptBlock {...}
于 2014-10-20T18:18:41.330 回答