Get-CMDevice

Ottenere un dispositivo Configuration Manager.

Sintassi

Get-CMDevice
   [-CollectionMember]
   [-Fast]
   [-Name <String>]
   [-Resource]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   -Collection <IResultObject>
   [-CollectionMember]
   [-Fast]
   [-Name <String>]
   [-Resource]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   -CollectionId <String>
   [-CollectionMember]
   [-Fast]
   [-Name <String>]
   [-Resource]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   [-CollectionId <String>]
   [-CollectionMember]
   [-Fast]
   [-Resource]
   -ThreatId <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   [-CollectionId <String>]
   [-CollectionMember]
   [-Fast]
   [-Resource]
   -ThreatName <String>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   [-CollectionId <String>]
   [-CollectionMember]
   [-Fast]
   -InputObject <IResultObject>
   [-Resource]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   [-CollectionMember]
   -CollectionName <String>
   [-Fast]
   [-Name <String>]
   [-Resource]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
Get-CMDevice
   [-CollectionMember]
   [-Fast]
   [-Resource]
   -ResourceId <Int32>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

Descrizione

Il cmdlet Get-CMDevice ottiene un dispositivo Configuration Manager. Per impostazione predefinita, esegue una query sulla classe SMS_CM_RES_COLL_SMS00001 . È possibile usare i parametri Resource o CollectionMember per modificare la classe di query. A seconda dell'accesso in base al ruolo nel sito, potrebbe essere necessario usare uno di questi altri parametri. Ad esempio, se non si ha accesso a SMS00001, per impostazione predefinita questo cmdlet restituisce zero risultati.

Nota

Eseguire Configuration Manager cmdlet dall'unità del sito Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1: Ottenere i dispositivi in base all'ID raccolta

Questo comando ottiene tutti gli oggetti dispositivo nella raccolta di dispositivi con l'ID XYZ0004B. Usa il cmdlet Select-Object per visualizzare solo proprietà specifiche.

Get-CMDevice -CollectionID "XYZ0004B" | Select-Object Name, ClientVersion, DeviceOS, IsActive, LastActiveTime, LastClientCheckTime, LastDDR, LastHardwareScan, LastPolicyRequest

Name                : DEVICE-LT3
ClientVersion       : 5.00.9012.1020
DeviceOS            : Microsoft Windows NT Workstation 10.0 (Tablet Edition)
IsActive            : True
LastActiveTime      : 10/1/2020 23:29:34
LastClientCheckTime : 9/8/2020 18:38:10
LastDDR             : 9/30/2020 20:29:33
LastHardwareScan    : 9/30/2020 22:24:22
LastPolicyRequest   : 10/1/2020 23:29:34

Name                : DEVICE-LT2
ClientVersion       : 5.00.9030.1011
DeviceOS            : Microsoft Windows NT Workstation 10.0 (Tablet Edition)
IsActive            : True
LastActiveTime      : 10/2/2020 00:31:54
LastClientCheckTime : 9/30/2020 23:06:10
LastDDR             : 9/30/2020 19:44:46
LastHardwareScan    : 9/30/2020 01:15:52
LastPolicyRequest   : 10/2/2020 00:31:54

Esempio 2: Ottenere le risorse del dispositivo in base all'ID raccolta

Questo comando è simile al primo esempio, ma usa il parametro -Resource . Quando esegue una query su una classe diversa, restituisce proprietà diverse per dati simili.

Get-CMDevice -CollectionID "XYZ0004B" -Resource | Select-Object Name, ClientVersion, OperatingSystemNameandVersion, Active, AgentName, AgentTime

Name                          : DEVICE-LT3
ClientVersion                 : 5.00.9012.1020
OperatingSystemNameandVersion : Microsoft Windows NT Workstation 10.0 (Tablet Edition)
Active                        : 1
AgentName                     : {SMS_AD_SYSTEM_DISCOVERY_AGENT, SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT,
                                MP_ClientRegistration, Heartbeat Discovery}
AgentTime                     : {2/28/2020 09:45:01, 10/2/2020 01:00:01, 9/21/2020 15:53:47, 9/30/2020 13:29:33}

Name                          : DEVICE-LT2
ClientVersion                 : 5.00.9030.1011
OperatingSystemNameandVersion : Microsoft Windows NT Workstation 10.0 (Tablet Edition)
Active                        : 1
AgentName                     : {SMS_AD_SYSTEM_DISCOVERY_AGENT, SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT,
                                MP_ClientRegistration, Heartbeat Discovery}
AgentTime                     : {2/28/2020 09:45:01, 10/2/2020 01:00:01, 10/1/2020 14:03:56, 9/30/2020 12:44:46}

Esempio 3: Ottenere le proprietà per un dispositivo specifico

Questo comando ottiene un dispositivo specifico e invia l'output tramite il cmdlet Select-Object per visualizzare solo proprietà specifiche. Poiché usa il parametro -Resource , le proprietà sono specifiche di tale classe.

Get-CMDevice -Name "DEVICE-LT2" -Resource | Select-Object Name, CPUType, DistinguishedName, HardwareID, IPAddresses

Esempio 4: Ottenere i dispositivi che non sono client

Questo comando usa il parametro -Fast per ottenere tutti i dispositivi senza proprietà lazy. Filtra l'elenco solo per i dispositivi che non sono client. Visualizza solo il nome del dispositivo nell'elenco finale.

Get-CMDevice -Fast | Where-Object { $_.IsClient -eq $false } | Select-Object Name

Esempio 5: Ottenere i dispositivi per un nome di minaccia specifico

Questo comando mostra tutti i dispositivi in cui Microsoft Defender ha rilevato una minaccia specifica. Visualizza solo il nome del dispositivo.

Get-CMDevice -ThreatName "Trojan:Win32/Wacatac.B!ml" | Select-Object Name

Esempio 6: Ottenere tutti i dispositivi con malware rilevato

Questo comando usa innanzitutto il cmdlet Get-CMDetectedMalware per ottenere tutte le minacce. Analizza quindi l'elenco e visualizza il nome dei dispositivi con malware.

$allMalware = Get-CMDetectedMalware
foreach ( $malware in $allMalware ) { Get-CMDevice -InputObject $malware | Select-Object Name }

Parametri

-Collection

Usare questo parametro per ottenere tutti i dispositivi da un oggetto raccolta di dispositivi. Per ottenere questo oggetto, usare il cmdlet Get-CMDeviceCollection .

Type:IResultObject
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CollectionId

Specificare un ID per una raccolta di dispositivi. Ad esempio, XYZ0004B.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CollectionMember

Aggiungere questo parametro per eseguire query sulle classi SMS_R_UnknownSystem e SMS_R_System per ottenere informazioni sul dispositivo. Queste classi possono essere limitate dall'accesso in base al ruolo. Queste classi contengono informazioni più dettagliate sul computer.

Type:SwitchParameter
Aliases:CollectionMemberInstance
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CollectionName

Specificare il nome di una raccolta di dispositivi.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Fast

Aggiungere questo parametro per non aggiornare automaticamente le proprietà lazy. Le proprietà lazy contengono valori relativamente inefficienti da recuperare. Il recupero di queste proprietà può causare traffico di rete aggiuntivo e ridurre le prestazioni dei cmdlet.

Se non si usa questo parametro, il cmdlet visualizza un avviso. Per disabilitare questo avviso, impostare $CMPSSuppressFastNotUsedCheck = $true.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specificare un oggetto malware rilevato. Per ottenere questo oggetto, usare il cmdlet Get-CMDetectedMalware .

Type:IResultObject
Aliases:Threat
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specificare il nome di un dispositivo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Resource

Aggiungere questo parametro per eseguire una query sulla classe SMS_Resource per ottenere informazioni sul dispositivo. Questa classe non deve essere limitata dall'accesso in base al ruolo. L'output è uguale a quello del cmdlet Get-CMResource . Questo output ha proprietà minime per il dispositivo. Per le proprietà più dettagliate, non aggiungere questo parametro o usare il parametro CollectionMember .

Type:SwitchParameter
Aliases:ResourceInstance
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

Specificare l'ID risorsa di un dispositivo. Ad esempio, 16780010.

Type:Int32
Aliases:Id, DeviceId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ThreatId

Usare questo parametro per filtrare i dispositivi restituiti a tali dispositivi con malware specifico in base all'ID. Ad esempio, 2147735505. Per ottenere questo ID minaccia, usare il cmdlet Get-CMDetectedMalware .

Type:String
Aliases:ThreatNameId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ThreatName

Usare questo parametro per filtrare i dispositivi restituiti a tali dispositivi con malware specifico in base al nome. Ad esempio, Trojan:Win32/Wacatac.B!ml. Per ottenere questo nome di minaccia, usare il cmdlet Get-CMDetectedMalware .

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Input

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Output

IResultObject[]

IResultObject

Note

Per altre informazioni su questo oggetto restituito e sulle relative proprietà, vedere SMS_CombinedDeviceResources classe WMI del server.