Get-CMUserDeviceAffinity
获取设备与其主要用户之间的关系。
语法
Get-CMUserDeviceAffinity
-UserName <String[]>
[-ShowApprovedOnly]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[<CommonParameters>]
Get-CMUserDeviceAffinity
-DeviceId <Int32[]>
[-ShowApprovedOnly]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[<CommonParameters>]
Get-CMUserDeviceAffinity
-DeviceName <String[]>
[-ShowApprovedOnly]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[<CommonParameters>]
Get-CMUserDeviceAffinity
-UserId <Int32[]>
[-ShowApprovedOnly]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[<CommonParameters>]
说明
Get-CMUserDeviceAffinity cmdlet 在 Configuration Manager 中获取一个或多个用户设备相关性。 用户设备相关性是设备与其主要用户之间的关系。 有关详细信息,请参阅 在 Configuration Manager 中使用用户设备相关性链接用户和设备。
注意
从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>
。 有关详细信息,请参阅 入门。
示例
示例 1:按用户名获取用户设备相关性
此命令获取用户 contoso\jqpublic 的任何用户设备相关性。
Get-CMUserDeviceAffinity -UserName "contoso\jqpublic"
示例 2:获取给定用户的设备
此示例与第一个示例类似,但使用 Select-Object cmdlet 减少了返回的属性列表。 可以使用此示例快速查找特定用户经常使用的设备。 此示例以此修改后的格式显示输出。
PS XYZ:\> $user = "contoso\jqpublic"
PS XYZ:\> Get-CMUserDeviceAffinity -UserName $user | Select-Object ResourceName
ResourceName
------------
PUYALLUP01
KULSHAN02
TAHOMA42
示例 3:按用户 ID 获取用户设备相关性
此命令获取资源 ID 为2063597981的用户的任何用户设备相关性。
Get-CMUserDeviceAffinity -UserID "2063597981"
示例 4:获取设备名称的用户设备相关性
此命令获取名为 CMCEN-DIST02 的设备的用户设备相关性。
Get-CMUserDeviceAffinity -DeviceName "CMCEN-DIST02"
示例 5:获取设备 ID 的用户设备相关性
此命令获取具有资源 ID 16780642的设备的用户设备相关性。
Get-CMUserDeviceAffinity -DeviceID "16780642"
示例 6:获取设备列表的主要用户
此脚本示例显示导入的设备列表的主要用户。 获取此列表的一种方法是从 Configuration Manager 控制台的 “设备” 节点中,多选多个行,然后 (Ctrl + V) 复制文本。 将数据粘贴到纯文本文件中,将制表符替换为逗号 (,
) ,然后将其另存为 computers.csv。
$computers = Import-Csv -Path "C:\Users\jqpublic\computers.csv"
foreach ( $computer in $computers )
{
$uda = Get-CMUserDeviceAffinity -DeviceName $computer.Name
if ( ($uda.UniqueUserName).count -gt 1 )
{
foreach ( $user in $uda.UniqueUserName )
{
Write-Host $uda.ResourceName[1] $user
}
}
else
{
write-host $uda.ResourceName $uda.UniqueUserName
}
}
脚本示例使用 Import-Csv cmdlet 从以逗号分隔的列表获取输入,该列表具有设备名称的 “名称” 列。
- 第一个
foreach
命令循环访问逗号分隔文件中的每一行。 它使用 Get-CMUserDeviceAffinity cmdlet 获取该设备的主要用户。 - 如果设备有多个主要用户,则会在单独的行中写入计算机名和每个用户。
- 如果设备只有一个主要用户,则它会写入计算机名称和用户。
- 脚本的输出是计算机名称和关联的主用户名的简单列表。
参数
-DeviceId
指定设备资源 ID 的数组以获取其主要用户。
类型: | Int32[] |
别名: | ResourceId |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DeviceName
指定设备名称数组。
类型: | String[] |
别名: | ResourceName |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | True |
-DisableWildcardHandling
此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ForceWildcardHandling
此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ShowApprovedOnly
添加此参数以筛选出未批准的相关性。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-UserId
指定用户资源 ID 的数组。 使用此参数可获取此用户是主要用户的任何设备。
类型: | Int32[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-UserName
指定用户名数组。 使用此参数可获取此用户是主要用户的任何设备。
类型: | String[] |
别名: | UniqueUserName |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | True |
输入
None
输出
IResultObject[]
IResultObject
备注
有关此返回对象及其属性的详细信息,请参阅 SMS_UserMachineRelationship服务器 WMI 类。