共用方式為


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

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

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

類型: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

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

類型:Int32[]
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-UserName

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

類型:String[]
別名:UniqueUserName
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:True

輸入

None

輸出

IResultObject[]

IResultObject

備註

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