Come chiamare un metodo con parametri di output in PowerShell?
-
03-07-2019 - |
Domanda
Sto lavorando a uno script per iniziare in PowerShell . Sto cercando di convertire un script VBScript funzionante che enumera le unità di rete mappate su un Windows remoto computer.
Una delle attività consiste nell'utilizzare in remoto per leggere il registro e trovare il proprietario del processo di explorer.exe per determinare chi ha effettuato l'accesso. Sembra abbastanza facile passare da questa guida .
Tuttavia, il metodo WMI che devo chiamare è GetOwner () da Win32_Process , che richiede due parametri di output per memorizzare il suo valore di ritorno.
Come posso chiamare un metodo con parametri di output? Quando provo a dargli due stringhe, ottengo l'errore: Impossibile trovare un sovraccarico per " GetOwner " e l'argomento conta: " 2 " ;.
. La pagina MSDN dice che ci sono due parametri, quindi non sono sicuro di cosa sto sbagliando.
Soluzione
Uso del modificatore [ref]
SomeMethod( [ref] $a );
Notevoli voci di blog
Altri suggerimenti
$explorer = gwmi Win32_Process -computerName computerName -filter "Name='explorer.exe' and SessionID=0"
$explorer.GetOwner() | select user,domain