我是 powershell 的新手,我正在尝试编写一个小脚本来检查公司计算机中的端口号。
foreach ($line in [System.IO.File]::ReadLines("C:\servers.txt")) {
Invoke-Command -HideComputername $line -ErrorAction SilentlyContinue { Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Termin*Server\WinStations\RDP*CP\ | Select-Object @{n='Hostname';e={$line}}, PortNumber}}
输出
Hostname :
PortNumber : 3389
RunspaceId : a6739f5a-c9ea-46a4-b9c0-ced6a49bd4f8
我想知道为什么主机名没有显示以及为什么输出显示“RunspaceID”值。
答案1
您正在使用 调用命令 使用以下参数:
-隐藏计算机名称
表示此 cmdlet 从输出显示中省略每个对象的计算机名称。默认情况下,生成对象的计算机的名称显示在显示中。
这可能是输出中缺少计算机名称的原因。