Raccolta di informazioni sui computerCollecting Information About Computers

I cmdlet nel modulo CimCmdlets sono i più importanti per le attività di gestione generali del sistema.Cmdlets from CimCmdlets module are the most important cmdlets for general system management tasks. Tutte le impostazioni del sottosistema cruciali sono esposte tramite WMI.All critical subsystem settings are exposed through WMI. WMI gestisce inoltre i dati come oggetti inclusi in raccolte di uno o più elementi.Furthermore, WMI treats data as objects that are in collections of one or more items. Dato che anche Windows PowerShell funziona con oggetti e usa una pipeline che consente di gestire uno o più oggetti nello stesso modo, l'accesso WMI generico consente di eseguire alcune attività avanzate con un impegno minimo.Because Windows PowerShell also works with objects and has a pipeline that allows you to treat single or multiple objects in the same way, generic WMI access allows you to perform some advanced tasks with very little work.

Elenco delle impostazioni dei desktopListing Desktop Settings

Inizieremo con un comando che raccoglie informazioni sui desktop nel computer locale.We'll begin with a command that collects information about the desktops on the local computer.

Get-CimInstance -ClassName Win32_Desktop

Questo comando restituisce informazioni per tutti i desktop, indipendentemente dal fatto che siano in uso o meno.This returns information for all desktops, whether they are in use or not.

Nota

Le informazioni restituite da alcune classi WMI possono essere molto dettagliate e spesso includono i metadati sulla classe WMI.Information returned by some WMI classes can be very detailed, and often include metadata about the WMI class.

Dato che la maggior parte delle proprietà di questi metadati ha nomi che iniziano con Cim , è possibile filtrare le proprietà usando Select-Object.Because most of these metadata properties have names that begin with Cim , you can filter the properties using Select-Object. Specificare il parametro - ExcludeProperty usando "Cim *" come valore.Specify the -ExcludeProperty parameter with "Cim*" as the value. Ad esempio:For example:

Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"

Per escludere i metadati, usare un operatore pipeline (|) per inviare i risultati del comando Get-CimInstance a Select-Object -ExcludeProperty "CIM*".To filter out the metadata, use a pipeline operator (|) to send the results of the Get-CimInstance command to Select-Object -ExcludeProperty "CIM*".

Elenco delle informazioni sul BIOSListing BIOS Information

La classe WMI Win32_BIOS restituisce informazioni piuttosto compatte e complete sul BIOS di sistema nel computer locale:The WMI Win32_BIOS class returns fairly compact and complete information about the system BIOS on the local computer:

Get-CimInstance -ClassName Win32_BIOS

Elenco delle informazioni sul processoreListing Processor Information

È possibile recuperare informazioni generali sul processore tramite la classe WMI Win32_Processor , anche se è probabile che si preferisca filtrare le informazioni:You can retrieve general processor information by using WMI's Win32_Processor class, although you will likely want to filter the information:

Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"

Per ottenere una stringa di descrizione generica della famiglia di processori, è possibile restituire semplicemente la proprietà SystemType :For a generic description string of the processor family, you can just return the SystemType property:

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType

SystemType
----------
X86-based PC

Elenco di produttore e modello del computerListing Computer Manufacturer and Model

Le informazioni sul modello di computer sono disponibili anche da Win32_ComputerSystem .Computer model information is also available from Win32_ComputerSystem . Non sarà necessario filtrare l'output visualizzato standard per fornire dati OEM:The standard displayed output will not need any filtering to provide OEM data:

Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain    TotalPhysicalMemory Model                   Manufacturer
---- ---------------- ------    ------------------- -----                   ------------
MyPC Jane Doe         WORKGROUP 804765696           DA243A-ABA 6415cl NA910 Compaq Presario 06

La validità dell'output di comandi come questo, che restituiscono informazioni direttamente dai componenti hardware, dipende esclusivamente dai dati disponibili.Your output from commands such as this, which return information directly from some hardware, is only as good as the data you have. Alcune informazioni non sono configurate correttamente dai produttori dell'hardware e pertanto potrebbero non essere disponibili.Some information is not correctly configured by hardware manufacturers and may therefore be unavailable.

Elenco degli hotfix installatiListing Installed Hotfixes

È possibile ottenere un elenco di tutti gli hotfix installati tramite Win32_QuickFixEngineering :You can list all installed hotfixes by using Win32_QuickFixEngineering :

Get-CimInstance -ClassName Win32_QuickFixEngineering

Questa classe restituisce un elenco di hotfix simile al seguente:This class returns a list of hotfixes that looks like this:

Source Description     HotFixID  InstalledBy   InstalledOn PSComputerName
------ -----------     --------  -----------   ----------- --------------
       Security Update KB4048951 Administrator 12/16/2017  .

Per ottenere un output più conciso, è possibile escludere alcune proprietà.For more succinct output, you may want to exclude some properties. Anche se è possibile usare il parametro Property di Get-CimInstance per scegliere solo HotFixID , in questo modo si otterranno in realtà più informazioni, perché per impostazione predefinita vengono visualizzati tutti i metadati:Although you can use the Get-CimInstance's Property parameter to choose only the HotFixID , doing so will actually return more information, because all the metadata is displayed by default:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixID
InstalledOn           :
Caption               :
Description           :
InstallDate           :
Name                  :
Status                :
CSName                :
FixComments           :
HotFixID              : KB4533002
InstalledBy           :
ServicePackInEffect   :
PSComputerName        :
CimClass              : root/cimv2:Win32_QuickFixEngineering
CimInstanceProperties : {Caption, Description, InstallDate, Name…}
CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties
...

Vengono restituiti dati aggiuntivi perché il parametro Property in Get-CimInstance limita le proprietà restituite dalle istanze della classe WMI, non l'oggetto restituito a PowerShell.The additional data is returned, because the Property parameter in Get-CimInstance restricts the properties returned from WMI class instances, not the object returned to PowerShell. Per ridurre l'output, usare Select-Object:To reduce the output, use Select-Object:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId | Select-Object -Property HotFixId
HotFixId
--------
KB4048951

Elenco di informazioni sulla versione del sistema operativoListing Operating System Version Information

Le proprietà della classe Win32_OperatingSystem includono informazioni sulla versione e sui Service Pack.The Win32_OperatingSystem class properties include version and service pack information. È possibile selezionare esplicitamente queste proprietà per ottenere un riepilogo delle informazioni sulla versione da Win32_OperatingSystem :You can explicitly select only these properties to get a version information summary from Win32_OperatingSystem :

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion

È anche possibile usare caratteri jolly con il parametro Property di Select-Object.You can also use wildcards with the Select-Object's Property parameter. Dato che in questo caso è importante usare tutte le proprietà che iniziano con Build o ServicePack , è possibile abbreviare il comando in questo modo:Because all the properties beginning with either Build or ServicePack are important to use here, we can shorten this to the following form:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property Build*,OSType,ServicePack*
BuildNumber             : 18362
BuildType               : Multiprocessor Free
OSType                  : 18
ServicePackMajorVersion : 0
ServicePackMinorVersion : 0

Elenco di utenti locali e proprietarioListing Local Users and Owner

Selezionando le proprietà della classe Win32_OperatingSystem è possibile trovare informazioni locali generali sugli utenti, ad esempio il numero di utenti con licenza, il numero corrente di utenti e il nome del proprietario.Local general user information — number of licensed users, current number of users, and owner name — can be found with a selection of Win32_OperatingSystem class properties. È possibile selezionare in modo esplicito le proprietà da visualizzare come segue:You can explicitly select the properties to display like this:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser

Questa è una versione più concisa con caratteri jolly:A more succinct version using wildcards is:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*

Recupero dello spazio su disco disponibileGetting Available Disk Space

Per visualizzare lo spazio su disco e lo spazio disponibile per le unità locali, è possibile usare la classe WMI Win32_LogicalDisk.To see the disk space and free space for local drives, you can use the Win32_LogicalDisk WMI class. È necessario visualizzare solo le istanze con DriveType 3, ovvero il valore usato dalla classe WMI per i dischi rigidi fissi.You need to see only instances with a DriveType of 3 — the value WMI uses for fixed hard disks.

Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
DeviceID DriveType ProviderName VolumeName Size         FreeSpace   PSComputerName
-------- --------- ------------ ---------- ----         ---------   --------------
C:       3                      Local Disk 203912880128 65541357568 .
Q:       3                      New Volume 122934034432 44298250240 .
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" |
  Measure-Object -Property FreeSpace,Size -Sum |
    Select-Object -Property Property,Sum
Property           Sum
--------           ---
FreeSpace 109839607808
Size      326846914560

Recupero di informazioni sulle sessioni di accessoGetting Logon Session Information

È possibile ottenere informazioni generali sulle sessioni di accesso associate agli utenti tramite la classe WMI Win32_LogonSession :You can get general information about logon sessions associated with users through the Win32_LogonSession WMI class:

Get-CimInstance -ClassName Win32_LogonSession

Recupero dell'utente connesso a un computerGetting the User Logged on to a Computer

È possibile visualizzare l'utente connesso a un computer specifico con Win32_ComputerSystem.You can display the user logged on to a particular computer system using Win32_ComputerSystem. Questo comando restituisce solo l'utente connesso al desktop di sistema:This command returns only the user logged on to the system desktop:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Recupero dell'ora locale da un computerGetting Local Time from a Computer

È possibile recuperare l'ora locale corrente in un computer specifico con la classe WMI Win32_LocalTime .You can retrieve the current local time on a specific computer by using the Win32_LocalTime WMI class.

Get-CimInstance -ClassName Win32_LocalTime
Day            : 23
DayOfWeek      : 1
Hour           : 8
Milliseconds   :
Minute         : 52
Month          : 12
Quarter        : 4
Second         : 55
WeekInMonth    : 4
Year           : 2019
PSComputerName :

Visualizzazione dello stato dei serviziDisplaying Service Status

Per visualizzare lo stato di tutti i servizi in un computer specifico, è possibile usare in locale il cmdlet Get-Service.To view the status of all services on a specific computer, you can locally use the Get-Service cmdlet. Per i sistemi remoti, è possibile usare la classe WMI Win32_Service .For remote systems, you can use the Win32_Service WMI class. Se si usa Select-Object anche per filtrare i risultati per Status , Name e DisplayName , il formato dell'output sarà quasi identico a quello ottenuto da Get-Service:If you also use Select-Object to filter the results to Status , Name , and DisplayName , the output format will be almost identical to that from Get-Service:

Get-CimInstance -ClassName Win32_Service | Select-Object -Property Status,Name,DisplayName

Per consentire la visualizzazione completa dei nomi nei casi occasionali di servizi con nomi estremamente lunghi e ottimizzare la larghezza della colonna consentendo il ritorno a capo dei nomi lunghi anziché il troncamento, è possibile usare Format-Table con i parametri AutoSize e Wrap :To allow the complete display of names for the occasional services with extremely long names, you may want to use Format-Table with the AutoSize and Wrap parameters, to optimize column width and allow long names to wrap instead of being truncated:

Get-CimInstance -ClassName Win32_Service | Format-Table -Property Status,Name,DisplayName -AutoSize -Wrap