【发布时间】:2019-12-18 00:55:58
【问题描述】:
我正在尝试构建一个 Powershell 脚本,它允许您从 Powershell 会话执行各种系统管理级别的任务。但是,在网络之外,我在解析主机名和身份验证时遇到了问题。 DNS 记录在域控制器级别没有问题,甚至在 \drivers\etc\host 文件中输入了 DNS 条目,但仍然出现两个错误之一,如果使用 fqdn,它无法解析,或者如果使用它声明的 IP 地址您只能在启用 HTTPS 的情况下使用此方法。这是我迄今为止在下面尝试过的:
$rcreds = Get-Credential -credential test.user@test.com
$rcomp = Read-Host "Enter FQDN of remote computer"
$rdir = Read-Host "Enter directory"
Invoke-Command -ComputerName $rcomp -ScriptBlock -Credential $rcreds {
Get-ChildItem c$\$rdir
}
【问题讨论】:
-
您在使用 FQDN 时遇到的确切 DNS 错误是什么?
nslookup server.domain.tld是否返回您期望的 IP?使用 IP 时会出现预期错误 - 您需要信任winrm配置中的主机或通过 HTTPS 启用 WinRM(并且 IP 需要是用于服务的受信任证书中的主题或 SAN 之一WinRM 在这种情况下,否则您仍然必须信任主机)。 -
“WinRM 客户端无法处理请求,因为无法解析服务器名称。”某种程度的东西,可能并不准确。是的,nslookup 和 ping 可以毫无问题地解析主机名。
-
确切的错误很重要,因为如果 Kerberos 无法验证主机名与无法在 DNS 中找到它,错误看起来很相似。此时可能是身份验证问题或 DNS 问题,目前还不清楚。
标签: powershell wmi