我有我们的Windows Active Directory域中的每台机器的文本文件,我想确定使用WMIC的每台机器的当前login用户(如果有的话)和操作系统:
WMIC /NODE:<machine_name> COMPUTERSYSTEM GET USERNAME WMIC /NODE:<machine_name> OS GET caption
有谁知道这是如何脚本从文本文件中读取我的计算机列表,并执行两个WMIC命令为每个,并输出结果的格式:
ComputerName, OperatingSystem, CurrentUserName
我不会推荐使用wmic来做这件事(尽pipe你可以在batch file中使用lop),因为在powershell(这是标记问题的方式)中它要容易得多。 closures我的头顶我会这样做:
clear-Host $File = "Machines.txt" get-Content $File | foreach-object { $uname = (get-wmiobject win32_computersystem -computername $_).username ; $os = (get-wmiobject win32_operatingsystem -computername $_).caption ; "$_ $os $uname" }
唯一不太明显的是在第6行inputvariables名输出到控制台,特殊variables“$ _”表示“当前对象”