Get-CMDevice

获取Configuration Manager设备。

语法

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>]

说明

Get-CMDevice cmdlet 获取Configuration Manager设备。 默认情况下,它会查询 SMS_CM_RES_COLL_SMS00001 类。 可以使用 ResourceCollectionMember 参数更改查询类。 根据站点中基于角色的访问,可能需要使用以下其他参数之一。 例如,如果无权访问 SMS00001,则默认情况下,此 cmdlet 返回的结果为零。

注意

从Configuration Manager站点驱动器运行Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门

示例

示例 1:按集合 ID 获取设备

此命令获取 ID 为 XYZ0004B 的设备集合中的所有设备对象。 它使用 Select-Object cmdlet 仅显示特定属性。

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

示例 2:按集合 ID 获取设备资源

此命令类似于第一个示例,但使用 -Resource 参数。 查询其他类时,它将返回类似数据的不同属性。

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}

示例 3:获取特定设备的属性

此命令获取特定设备,并通过 Select-Object cmdlet 通过管道传递输出,以仅显示特定属性。 由于它使用 -Resource 参数,因此属性特定于该类。

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

示例 4:获取不是客户端的设备

此命令使用 -Fast 参数获取所有没有延迟属性的设备。 它将列表筛选为仅不是客户端的设备。 它仅在最终列表中显示设备名称。

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

示例 5:获取特定威胁名称的设备

此命令显示Microsoft Defender检测到特定威胁的所有设备。 它仅显示设备的名称。

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

示例 6:获取具有任何检测到恶意软件的所有设备

此命令首先使用 Get-CMDetectedMalware cmdlet 来获取所有威胁。 然后,它会分析该列表,并显示具有恶意软件的设备的名称。

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

参数

-Collection

使用此参数可从设备集合对象获取所有设备。 若要获取此对象,请使用 Get-CMDeviceCollection cmdlet。

类型:IResultObject
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-CollectionId

指定设备集合的 ID。 例如,XYZ0004B

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-CollectionMember

添加此参数以查询 SMS_R_UnknownSystemSMS_R_System 类以获取设备信息。 这些类可能受基于角色的访问的限制。 这些类包含更详细的计算机信息。

类型:SwitchParameter
别名:CollectionMemberInstance
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CollectionName

指定设备集合的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DisableWildcardHandling

此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Fast

添加此参数以不自动刷新延迟属性。 延迟属性包含检索效率相对较低的值。 获取这些属性可能会导致额外的网络流量并降低 cmdlet 性能。

如果不使用此参数,cmdlet 将显示警告。 若要禁用此警告,请设置 $CMPSSuppressFastNotUsedCheck = $true

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为 (不建议) 。 不能将其与 DisableWildcardHandling 结合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定检测到的恶意软件对象。 若要获取此对象,请使用 Get-CMDetectedMalware cmdlet。

类型:IResultObject
别名:Threat
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Name

指定设备的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Resource

添加此参数以查询 SMS_Resource 类以获取设备信息。 此类不应受到基于角色的访问的限制。 输出与 Get-CMResource cmdlet 相同。 此输出具有设备的最小属性。 有关更详细的属性,请不要添加此参数,也不要使用 CollectionMember 参数。

类型:SwitchParameter
别名:ResourceInstance
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResourceId

指定设备的资源 ID。 例如,16780010

类型:Int32
别名:Id, DeviceId
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ThreatId

使用此参数按 ID 筛选返回给具有特定恶意软件的设备。 例如,2147735505。 若要获取此威胁 ID,请使用 Get-CMDetectedMalware cmdlet。

类型:String
别名:ThreatNameId
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ThreatName

使用此参数可按名称筛选返回给具有特定恶意软件的设备。 例如,Trojan:Win32/Wacatac.B!ml。 若要获取此威胁名称,请使用 Get-CMDetectedMalware cmdlet。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

IResultObject[]

IResultObject

备注

有关此返回对象及其属性的详细信息,请参阅 SMS_CombinedDeviceResources服务器 WMI 类