2009-05-04 8 views
30

Sto lavorando a uno script per iniziare in PowerShell. Sto cercando di convertire un working VBScript script che enumera unità di rete mappate su un computer Windows remoto.Come chiamare un metodo con i parametri di output in PowerShell?

Uno dei compiti consiste nell'utilizzare il numero di telefono WMI per leggere il registro e trovare il proprietario del processo di explorer.exe per determinare chi ha effettuato l'accesso. Ciò sembra abbastanza semplice passando da this guide.

Tuttavia, il metodo WMI che devo chiamare è GetOwner() from Win32_Process, che richiede due parametri di output per memorizzare il valore restituito.

Come posso chiamare un metodo con i parametri di uscita? Quando provo a dargli due stringhe, ottengo l'errore: Cannot find an overload for "GetOwner" and the argument count: "2".. La pagina MSDN dice che ci sono due parametri, quindi non sono sicuro di cosa sto facendo male.

risposta

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

dolce! – spoulson

+1

Ti darei doublevotes se potessi. Questo è un approccio migliore, ma sfortunatamente non corrisponde alla domanda principale, quindi non posso assegnarlo come risposta accettata. – spoulson

+0

mi può mancare qualcosa, ma la firma del metodo non mostra il sovraccarico di lei ha citato: PS> $ explorer.GetOwner.OverloadDefinitions System.Management.ManagementBaseObject GetOwner() –

Problemi correlati