Get-WmiObject Computer remoto: Inventario di computer utilizzando PowerShell
Come posso effettuare l'inventario di computer remoti utilizzando PowerShell? La risposta è utilizzando Get-WmiObject su un computer remoto. Questo post ti fornisce un tutorial completo. Continua a leggere se sei interessato.
Come connettersi a WMI in remoto?
Windows Management Instrumentation (WMI) è un"infrastruttura di gestione integrata in Windows per interrogare dati di gestione e operazioni. Può essere utilizzato per interrogare computer locali e remoti per informazioni come processi in esecuzione, software installato, informazioni del BIOS e molto altro.
Il cmdlet Get-WmiObject ottiene istanze di classi WMI o informazioni sulle classi WMI disponibili. Puoi utilizzare il parametro ComputerName per specificare un computer remoto, in modo da poterti connettere a WMI in remoto.
Come utilizzare PowerShell Get-WmiObject su un computer remoto
Successivamente, vedremo come utilizzare PowerShell Get-WmiObject su un computer remoto per raccogliere informazioni sul computer.
Se il parametro Query viene specificato, il cmdlet esegue una query linguaggio di query WMI (WQL). Se il parametro List viene specificato, il cmdlet ottiene informazioni sulle classi WMI disponibili in un determinato namespace. Il parametro ComputerName viene utilizzato per specificare i computer. Vediamo alcuni esempi.
Prima di tutto, testiamo la connessione WMI al computer remoto. L"esempio sottostante ti permette di testare la connessione WMI al computer remoto chiamato PC1.
- Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1
Puoi anche enumerare l"elenco delle condivisioni di rete da una macchina remota utilizzando la classe WMI di PowerShell Win32_Share. Qui, FT sta per il cmdlet Format-Table, puoi cambiarlo in FL per visualizzare i risultati in modalità elenco.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL
Puoi utilizzare una sintassi simile a una query SQL per applicare filtri alla classe Win32_Share. Lo script PowerShell seguente filtra e elenca solo le cartelle condivise di rete (non condivisioni nascoste) aggiungendo il filtro Type=0.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT
Altri esempi
Esempio 1: Ottiene i servizi sul computer remoto PC1:
- Get-WmiObject -Class Win32_Service -ComputerName PC1
Puoi anche ottenere i servizi su un computer remoto usando Get-WmiObject computer remoto Credenziale. L"esempio seguente utilizza il parametro Credential. Il valore del parametro Credential è un nome di account utente. All"utente viene richiesta una password.
- Get-WmiObjectWin32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Esempio 2: Arresta un servizio sul computer remoto PC1:
- (Get-WmiObject -Class Win32_Service -Filter "name="WinRM"' -ComputerName PC1).StopService()
Esempio 3: Ottieni il BIOS sul computer remoto PC1:
- Get-WmiObject -Class Win32_Bios -ComputerName PC1| Format-List -Property *
Nota
Dobbiamo segnalarti che il cmdlet Get-WmiObject è stato sostituito da Get-CimInstance in PowerShell 3.0. Ad esempio, il comando seguente visualizza il nome di ogni processo in esecuzione insieme al suo tempo del kernel dal più grande al più piccolo:
- Get-CimInstance -Class Win32_Process -ComputerName DC1 | Select-Object -Property Name,KernelModeTime | Sort-Object KernelModeTime -Descending
AnyViewer: Soluzione GUI per desktop remoto per Windows
Se desideri un modo più diretto per interrogare la gestione del computer e i dati delle operazioni, ti consigliamo vivamente AnyViewer, un programma desktop remoto gratuito che ti consente di controllare un computer da un altro in modo remoto. Offre un"interfaccia utente grafica per un computer remoto, che è molto diretta e intuitiva rispetto a PowerShell.
Passo 1. Scarica, installa e avvia AnyViewer su entrambi i computer.
Passo 2. Vai a Accedi, quindi clicca su Iscriviti. (Se ti sei già registrato sul sito ufficiale, puoi accedere direttamente.)
Passaggio 3. Compila le informazioni di registrazione.
Passaggio 4. Ora puoi vedere che hai effettuato l"accesso con successo a AnyViewer. Il tuo dispositivo verrà automaticamente assegnato all"account a cui hai effettuato l"accesso.
Passaggio 5. Accedi allo stesso account AnyViewer sui due dispositivi, quindi fai clic su Controllo con un clic per ottenere accesso remoto non assistito.
✍Nota: Se aggiorni il tuo account a un piano professionale o enterprise, avrai maggiori privilegi:
- Puoi assegnare più dispositivi per ottenere accesso remoto non assistito.
- Verranno visualizzati più dispositivi collegati attualmente, il che è comodo per visualizzare più cronologie di connessione in qualsiasi momento.
- Puoi connetterti a un altro computer in modalità privacy, il che significa che puoi oscurare lo schermo e bloccare il mouse e la tastiera del computer remoto, proteggendo ulteriormente la tua privacy.
Passaggio 6. Dopo aver preso il pieno controllo del computer remoto, puoi aprire qualsiasi programma e gestirlo come se lo stessi utilizzando effettivamente.
La conclusione
Questo articolo fornisce un tutorial completo su come utilizzare PowerShell Get-WmiObject su un computer remoto per inventariare le informazioni del computer. Se desideri un modo più diretto e intuitivo per interrogare i dati di gestione e operazioni del computer, ti consigliamo di utilizzare AnyViewer.