我正在编写一个脚本以开始使用PowerShell。我正在尝试转换枚举远程Windows计算机上映射网络驱动器的working VBScript script。
其中一项任务是使用远程WMI来读取注册表并找到explorer.exe的进程所有者,以确定谁已登录。这似乎很容易通过this guide。
但是,我需要调用的WMI方法是GetOwner() from Win32_Process,它需要两个输出参数来存储其返回值。
如何使用输出参数调用方法?当我尝试给它两个字符串时,我得到错误:Cannot find an overload for "GetOwner" and the argument count: "2".
。 MSDN页面说有两个参数,所以我不确定我做错了什么。
答案 0 :(得分:41)
使用[ref]修饰符
SomeMethod( [ref] $a );
值得注意的博客条目
答案 1 :(得分:10)
$explorer = gwmi Win32_Process -computerName computerName -filter "Name='explorer.exe' and SessionID=0"
$explorer.GetOwner() | select user,domain