-1

我需要发出 mstsc 并返回该命令适用于一系列 IP 的状态。没有 RDP 控制台。

我不能使用 WMI 端口,只能使用 RDP 3389 到设备。很想使用 PowerShell 远程命令,但我读到它们使用 WMIObjects,这意味着使用 WMI 端口。

我使用 psexec,它使用 WMI 端口。这在我的实验室中有效,但是当我遇到真正的防火墙时,被阻止了。

我尝试了几种方法,每种方法都会访问 WMI 端口或导致 RDP 控制台在从服务器上弹出。我还需要将事件报告回连接或未找到到文件中以供进一步决策。

4

1 回答 1

0

终端服务是为交互式使用而设计的,而不是批处理模式。如果你想检查一个端口是否可以在 PowerShell 中访问,你可以尝试建立一个到它的 TCP 连接:

$servers = ...

foreach ($server in $servers) {
  $clnt = New-Object Net.Sockets.TcpClient
  try {
    $clnt.Connect($server, 3389)
    "$server:`tOK"
  } catch {
    "$server:`tnot available"
  } finally {
    $clnt.Dispose()
  }
}

在更新的 Windows 版本上,还有Test-NetConnection

$servers = ...

foreach ($server in $servers) {
  Test-NetConnection -Computer $server -Port 3389
}
于 2016-02-01T21:33:00.177 回答