Get-CMUserDeviceAffinity

取得裝置與其主要使用者之間的關聯性。

Syntax

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

Description

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:依使用者識別碼取得使用者裝置親和性

此命令會取得具有資源識別碼2063597981之使用者的任何使用者裝置 和性。

Get-CMUserDeviceAffinity -UserID "2063597981"

範例 4:取得裝置名稱的使用者裝置親和性

此命令會取得名為 CMCEN-DIST02之裝置的使用者裝置親和性。

Get-CMUserDeviceAffinity -DeviceName "CMCEN-DIST02"

範例 5:取得裝置識別碼的使用者裝置親和性

此命令會取得具有資源識別碼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,從具有裝置名稱 名稱之 Name 資料行的逗號分隔清單中取得輸入。

  • 第一個 foreach 命令會從逗號分隔的檔案迴圈查看每一行。 它會使用 Get-CMUserDeviceAffinity Cmdlet 來取得該裝置的主要使用者。
  • 如果裝置有多個主要使用者,則會將電腦名稱稱和每個使用者寫入另一行。
  • 如果裝置只有一個主要使用者,它會寫入電腦名稱稱和使用者。
  • 腳本的輸出是電腦名稱稱和相關聯主要使用者名稱的簡單列表。

參數

-DeviceId

指定裝置資源識別碼的陣列,以取得其主要使用者。

Type:Int32[]
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DeviceName

指定裝置名稱的陣列。

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

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

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

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

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

-ShowApprovedOnly

新增此參數以篩選出未核准的親和性。

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

-UserId

指定使用者資源識別碼的陣列。 使用此參數可取得此使用者為主要使用者的任何裝置。

Type:Int32[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UserName

指定使用者名稱的陣列。 使用此參數可取得此使用者為主要使用者的任何裝置。

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

輸入

None

輸出

IResultObject[]

IResultObject

備註

如需此傳回物件及其屬性的詳細資訊,請 參閱SMS_UserMachineRelationship伺服器 WMI 類別