2009-05-04 9 views
30

Estoy trabajando en un script para comenzar en PowerShell. Estoy tratando de convertir un working VBScript script que enumera las unidades de red asignadas en una computadora remota con Windows.¿Cómo llamar a un método con parámetros de salida en PowerShell?

Una de las tareas consiste en utilizar el WMI remoto para leer el registro y encontrar el propietario del proceso de explorer.exe para determinar quién está conectado. Esto parece bastante fácil yendo por this guide.

Sin embargo, el método WMI al que debo llamar es GetOwner() from Win32_Process, que requiere dos parámetros de salida para almacenar su valor de retorno.

¿Cómo puedo llamar a un método con parámetros de salida? Cuando trato de darle dos cadenas, obtengo el error: Cannot find an overload for "GetOwner" and the argument count: "2".. La página de MSDN dice que hay dos parámetros, por lo que no estoy seguro de lo que estoy haciendo mal.

Respuesta

9
$explorer = gwmi Win32_Process -computerName computerName -filter "Name='explorer.exe' and SessionID=0" 
$explorer.GetOwner() | select user,domain 
+0

dulce! – spoulson

+1

Te daría doble voto si pudiera. Este es un mejor enfoque, pero desafortunadamente no coincide con la pregunta principal, así que no puedo asignar esto como la respuesta aceptada. – spoulson

+0

me pueden faltar algo, pero la firma del método no muestra la sobrecarga que usted ha mencionado: PS> $ explorer.GetOwner.OverloadDefinitions System.Management.ManagementBaseObject GetOwner() –

Cuestiones relacionadas