Powershell 查询登录用户是/否

Powershell 查询登录用户是/否,powershell,Powershell,我有一个脚本,可以远程查询计算机的SMBIOSVersion,然后像这样输出ComputerName和SMBIOSVersion ComputerName SMBIOSBIOSVersion ------------ ----------------- SD010E7C6B28A08 P08 Ver. 02.18 如果你想查看是否有人登录,试试这个[这只是一个如何获取信息的想法] qwinsta /Server:$server | ? -f {if ($_ -like "*Conso

我有一个脚本,可以远程查询计算机的SMBIOSVersion,然后像这样输出ComputerName和SMBIOSVersion

ComputerName SMBIOSBIOSVersion ------------ ----------------- SD010E7C6B28A08 P08 Ver. 02.18
如果你想查看是否有人登录,试试这个[这只是一个如何获取信息的想法]

qwinsta /Server:$server | ? -f {if ($_ -like "*Console*") {$ConsoleSession= $true}} 
$ConsoleSession 

$ConsoleSession将为true或False您可以调整输出以获得您想要的更多信息

您可以使用CIM/WMI获取当前本地登录的用户。它不显示远程用户,比如RDP之类的东西。像这样

(Get-CimInstance -ClassName CIM_ComputerSystem -ComputerName 'LocalHost').UserName
(Get-CimInstance -ClassName CIM_BIOSElement -ComputerName 'LocalHost').SMBIOSBIOSVersion
如果可以,您可能希望通过WMI将BIOS调用更改为使用CIM。CIM调用稍微快一些。。。如果您需要访问datetime信息,他们会使用datetime而不是WMI文件时间。像这样的

(Get-CimInstance -ClassName CIM_ComputerSystem -ComputerName 'LocalHost').UserName
(Get-CimInstance -ClassName CIM_BIOSElement -ComputerName 'LocalHost').SMBIOSBIOSVersion

这两个都很好用!有没有一种方法可以将CIM用户名输出的格式设置为,如果找到$null,它将反映“否”,否则将反映“是”?@DRuppe-将输出保存到$Var&将
if($Var){'Yes'}或{'No'}
添加到代码中。。。让奥塔去做。[咧嘴笑]@DRuppe-不客气!很高兴能帮上一点忙。。。[咧嘴笑]