Powershell-这行在说什么?

时间:2018-09-26 18:10:08

标签: windows powershell

我是ServiceNow开发人员。我正在处理一个我不知道的Powershell脚本。谁能告诉我下一行怎么回事?谢谢!

$currentuserid = Get-WmiObject -Class win32_computersystem -ComputerName $workstation | Select-Object -ExpandProperty Username

1 个答案:

答案 0 :(得分:1)

让我们分开这个命令

$currentuserid = Get-WmiObject -Class win32_computersystem -ComputerName $workstation | Select-Object -ExpandProperty Username

在powershell中, $ 是变量的标识符。这意味着 $ currentuserid 将等于管道中最后一条命令的输出,在本例中为 Select-Object

在命令后的-无论中,

| 符号是管道。

Get-WmiObject 是通过 -class 参数对 win32_computersystem 进行WMI调用的命令。计算机系统。带有变量 $ workstation -ComputerName 参数意味着对我不知道的另一台计算机执行远程WMI调用,因为我不知道变量$ workstation里面有什么。然后将输出通过管道输送给 | select-object 命令,该命令允许您从属性中剪切数据。参数-ExpandProperty意味着只返回该属性的值。他想要的属性值为用户名

简单来说,它是通过WMI调用中的Win32_computersystem类的用户名获取未知用户的远程系统