about_WMI_Cmdlets

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

Inserire l'introduzione qui.

ARGOMENTO

about_WMI_cmdlets

DESCRIZIONE BREVE

Fornisce informazioni complementari su Strumentazione gestione Windows (WMI) e Windows PowerShell®.

DESCRIZIONE LUNGA

Questo argomento fornisce informazioni sulla tecnologia WMI, sui cmdlet WMI per Windows PowerShell, sulla comunicazione remota basata su WMI, sugli acceleratori WMI e sulla risoluzione dei problemi WMI. Questa argomento fornisce anche collegamenti ad altre informazioni su WMI.

INFORMAZIONI SU WMI

Strumentazione gestione Windows (WMI) è l'implementazione Microsoft di Web-Based Enterprise Management (WBEM), che è un'iniziativa di settore per sviluppare una tecnologia standard per accedere alle informazioni di gestione in un ambiente aziendale. WMI usa lo standard di settore CIM (Common Information Model) per rappresentare sistemi, applicazioni, reti, dispositivi e altri componenti gestiti. CIM è sviluppato e gestito da Distributed Management Task Force (DMTF). È possibile usare WMI per gestire computer remoti e locali. Ad esempio, è possibile usare WMI per effettuare le operazioni seguenti:

Avviare un processo in un computer remoto.

Riavviare un computer in modalità remota.

Ottenere un elenco delle applicazioni installate in un computer locale o remoto.

Eseguire query sui registri eventi di Windows in un computer locale o remoto.

I CMDLET WMI PER WINDOWS POWERSHELL

Windows PowerShell implementa la funzionalità WMI attraverso un set di cmdlet che sono disponibili in Windows PowerShell per impostazione predefinita. È possibile usare questi cmdlet per completare le attività end-to-end necessarie per gestire computer locali e remoti.

Sono inclusi i cmdlet WMI seguenti.

      Cmdlet                 Description
      ------------------     ----------------------------------------------
      Get-WmiObject          Gets instances of WMI classes or information 
                             about the available classes.

      Invoke-WmiMethod       Calls WMI methods.

      Register-WmiEvent      Subscribes to a WMI event.

      Remove-WmiObject       Deletes WMI classes and instances.

      Set-WmiInstance        Creates or modifies instances of WMI classes.

COMANDI DI ESEMPIO

Il comando seguente visualizza le informazioni BIOS per il computer locale.

          C:\PS> get-wmiobject win32_bios | format-list *

Il comando seguente visualizza le informazioni sul servizio WinRM per tre computer remoti.

          C:\PS> get-wmiobject -query "select * from win32_service where name='WinRM'" -computername server01, server01, server03

Il comando seguente più complesso chiude tutte le istanze di un programma.

          C:\PS> notepad.exe
          C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'" 
          C:\PS> $np | remove-wmiobject

COMUNICAZIONE REMOTA BASATA SU WMI

Se è utile poter gestire un sistema locale con WMI, d'altra parte le funzionalità di comunicazione remota rendono WMI un potente strumento di gestione di amministrazione. WMI usa Distributed Component Object Model (DCOM) di Microsoft per connettere e gestire sistemi. Potrebbe essere necessario configurare alcuni sistemi per consentire connessioni DCOM. Le impostazioni del firewall e le autorizzazioni DCOM bloccate possono bloccare la capacità di WMI di gestire sistemi in modalità remota.

ACCELERATORE DI TIPO WMI

Windows PowerShell include acceleratori di tipo WMI. Questi acceleratori di tipo WMI (collegamenti) consentono un accesso più diretto a oggetti WMI rispetto a quello che consentirebbe un approccio non di tipo acceleratore.

Gli acceleratori di tipo seguenti sono supportati con WMI:

[WMISEARCHER]

Un collegamento per la ricerca di oggetti WMI.

[WMICLASS]

Un collegamento per accedere alle proprietà e ai metodi statici di una classe.

[WMI]

Un collegamento per ottenere una singola istanza di una classe.

[WMISEARCHER]

Si tratta di un tipo di acceleratore per un ManagementObjectSearcher. Può richiedere un costruttore di stringa per creare un'utilità di ricerca su cui eseguire un'operazione GET().

Ad esempio:

      PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 1000'
      PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto
      handlecount  __PATH                                              name
      -----------  ------                                              ----
      1105         \\SERVER01\root\cimv2:Win32_Process.Handle="3724"   PowerShell...
      1132         \\SERVER01\root\cimv2:Win32_Process.Handle="1388"   winlogon.exe
      1495         \\SERVER01\root\cimv2:Win32_Process.Handle="2852"   iexplore.exe
      1699         \\SERVER01\root\cimv2:Win32_Process.Handle="1204"   OUTLOOK.EXE
      1719         \\SERVER01\root\cimv2:Win32_Process.Handle="1912"   iexplore.exe
      2579         \\SERVER01\root\cimv2:Win32_Process.Handle="1768"   svchost.exe

[WMICLASS]

È un acceleratore di tipo per ManagementClass. Ha un costruttore di stringhe che accetta un percorso WMI locale o assoluto di una classe WMI e restituisce un oggetto associato a questa classe.

Ad esempio:

      PS> $c = [WMICLASS]"root\cimv2:WIn32_Process"
      PS> $c |fl *
      Name             : Win32_Process
      __GENUS          : 1
      __CLASS          : Win32_Process
      __SUPERCLASS     : CIM_Process
      __DYNASTY        : CIM_ManagedSystemElement
      __RELPATH        : Win32_Process
      __PROPERTY_COUNT : 45
      __DERIVATION     : {CIM_Process, CIM_LogicalElement, CIM_ManagedSystemElement}
      __SERVER         : SERVER01
      __NAMESPACE      : ROOT\cimv2
      __PATH           : \\SERVER01\ROOT\cimv2:Win32_Process

[WMI]

È un acceleratore di tipo per ManagementObject. Ha un costruttore di stringhe che accetta un percorso WMI locale o assoluto di un'istanza WMI e restituisce un oggetto associato a questa istanza.

Ad esempio:

      PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handle="1204"'
      PS> $p.Name
      OUTLOOK.EXE

RISOLUZIONE DEI PROBLEMI DI WMI

I problemi seguenti sono i problemi più comuni che potrebbero verificarsi durante i tentativi di connessione a un computer remoto.

Problema 1:

Il computer remoto non è online.

Se un computer è offline, non sarà possibile connettersi usando WMI. Si potrebbe ricevere il messaggio di errore seguente:

          "Remote server machine does not exist or is unavailable"

Se si riceve questo messaggio di errore, verificare che il computer sia online. Cercare di effettuare il ping del computer remoto.

Problema 2:

Non si hanno i diritti di amministratore locale nel computer remoto.

Per usare WMI in modalità remota, si devono avere i diritti di amministratore locale nel computer remoto. In caso contrario, l'accesso al computer verrà negato.

Per verificare la sicurezza dello spazio dei nomi:

a. Fare clic su Start, fare clic con il pulsante destro del mouse su Risorse del computer e quindi scegliere Gestisci.

b. In Gestione computer espandere Servizi e applicazioni, fare clic con il pulsante destro del mouse su Controllo WMI e quindi scegliere Proprietà.

c. Nella finestra di dialogo Proprietà del controllo WMI selezionare la scheda Sicurezza.

Problema 3:

Un firewall sta bloccando l'accesso al computer remoto.

WMI usa i protocolli DCOM (Distributed COM) e RPC (Remote Procedure Call) per attraversare la rete. Per impostazione predefinita molti firewall bloccano il traffico DCOM e RPC. Se il firewall sta bloccando questi protocolli, la connessione avrà esito negativo. Ad esempio, Windows Firewall in Microsoft Windows XP Service Pack 2 è configurato per bloccare automaticamente tutto il traffico di rete non richiesto, inclusi DCOM e WMI. Nella relativa configurazione predefinita, Windows Firewall rifiuta una richiesta WMI in ingresso e si riceve il messaggio di errore seguente:

          "Remote server machine does not exist or is unavailable"

Altre informazioni su WMI

Per altre informazioni su WMI, vedere gli argomenti seguenti in MSDN (Microsoft Developer Network) Library:

"Informazioni su WMI:

https://go.microsoft.com/fwlink/?LinkId=142212

"Risoluzione dei problemi di WMI"

https://go.microsoft.com/fwlink/?LinkId=142213

Vedere anche "Segreti della Strumentazione gestione Windows - Suggerimenti e risoluzione dei problemi" in Microsoft TechNet Script Center:

https://go.microsoft.com/fwlink/?LinkId=142214

VEDERE ANCHE

Versione online: https://go.microsoft.com/fwlink/?LinkId=142219

Get-WmiObject

Invoke-WmiMethod

Register-WmiEvent

Remove-WmiObject

Set-WmiInstance