powershell 需要帮助格式化来自多台计算机的输出

uplii1fm  于 2023-03-12  发布在  Shell
关注(0)|答案(1)|浏览(112)

PowerShell 5.1
有没有方法可以得到下面所示的输出结果?基本上,我是在查看User1是否存在于给定的计算机列表中。
脚本:

Invoke-Command -ComputerName Computer1,Computer2 -ScriptBlock {
    Get-LocalUser
}

输出:

Name                 Enabled Description                                                         
----                 ------- -----------                                                         
Administrator        False   Built-in account for administering the computer/domain              
DefaultAccount       False   A user account managed by the system.                               
Guest                False   Built-in account for guest access to the computer/domain            
User1                True    User 1

预期输出:

Name                 Computer 
----                 ------- 
User1                Computer 1 
User1                Computer 2
xwbd5t1u

xwbd5t1u1#

Get-Localuser允许通过-Name参数搜索指定用户,甚至使用通配符。要获得所需的输出,您可以使用计算属性将Invoke-Command的结果通过管道传输到Select-Object,以使Computer属性基于PSComputerName属性的值。

Invoke-Command -ComputerName Computer1, Computer2 -ScriptBlock {
    Get-LocalUser -Name User1 -ErrorAction SilentlyContinue
} | Select-Object Name, @{ N='Computer'; E='PSComputerName' }

相关问题