Get-CMDevice

Ottenere un dispositivo di 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 di 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 i cmdlet di Configuration Manager dall'unità del sito di 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 di 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 .

Tipo:IResultObject
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CollectionId

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Alias:CollectionMemberInstance
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CollectionName

Specificare il nome di una raccolta di dispositivi.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

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

Tipo:IResultObject
Alias:Threat
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Specificare il nome di un dispositivo.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 proprietà più dettagliate, non aggiungere questo parametro o usare il parametro CollectionMember .

Tipo:SwitchParameter
Alias:ResourceInstance
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ResourceId

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

Tipo:Int32
Alias:Id, DeviceId
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 .

Tipo:String
Alias:ThreatNameId
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 .

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.