我正在尝试使用PowerShell脚本列出远程服务器上IIS中的所有网站。以下是我尝试连接到服务器的方式:
$s = New-PSSession -ComputerName $Server
但是当我运行脚本时,出现以下错误:
New-PSSession : [Server] Connecting to remote server Server failed with the following error message : WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer Server. Verify that the computer exists on the network and that the name provided is spelled correctly. For more information, see the about_Remote_Troubleshooting Help topic. At C:\AppServers\Application.ps1:8 char:8 + $s = New-PSSession -ComputerName Server + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException + FullyQualifiedErrorId : NetworkPathNotFound,PSSessionOpenFailed
服务器已启用接收远程请求。
更新:
下面是我要运行的完整功能:
function audit-servers {
if (Test-path "ApplicationsOnTheServer.txt") {Remove-Item "ApplicationsOnTheServer.txt"}
if (Test-Path "ServersList.txt") {
foreach ($server in Get-Content .\ServersList.txt) {
"Application Server : $server`n" | out-file -FilePath "ApplicationsOnTheServer.txt" -Append
"Applications list:" | out-file -FilePath "ApplicationsOnTheServer.txt" -Append
$s = New-PSSession -ComputerName $server -Credential domainabc\myname
Invoke-Command -Session $s -ScriptBlock {Import-Module WebAdministration;Get-iissite} | out-file -FilePath "ApplicationsOnTheServer.txt" -Append
}
} else {
"ServersList.txt file is missing"
break;
}
"`nAll Done!`n"}
ServersList.txt具有atstappvmabc.tsteag.com
答案 0 :(得分:0)
您收到的FullyQualifiedErrorId : NetworkPathNotFound
错误通常意味着您传递给-ComputerName
参数的名称无法解析。
也许尝试运行Test-Connection $Server
来解决那里发生的事情。
答案 1 :(得分:0)
错误消息明确指出,您想连接到名为Server
的服务器,而不是连接到名称存储在$Server
变量中的服务器(粗体文本实际上是您尝试使用的服务器的名称)连接):
New-PSSession:[服务器]连接到远程服务器服务器失败
如果您尝试连接到名为MyServer01.example.com
的服务器,则会收到如下错误(被截断):
PS C:\> New-PSSession -ComputerName "MyServer01.example.com"
New-PSSession:[ MyServer01.example.com ]连接到远程服务器 MyServer01.example.com 失败(...)
即使您声明要尝试执行
$s = New-PSSession -ComputerName $Server
您实际上执行了(注意缺少美元符号)
$s = New-PSSession -ComputerName Server
以上内容也来自您粘贴的错误消息。我建议先跳过该变量,然后尝试在命令本身中输入服务器路径以验证其是否正常工作:
$s = New-PSSession -ComputerName "MyServer01.example.com"
然后,如果可行,将路径放入变量并再次测试。
答案 2 :(得分:0)
您的变量$ Server包含错误的值。您必须为$ Server分配有效的计算机名称。