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 コマンドレットは、Configuration Managerで 1 つ以上のユーザー デバイス アフィニティを取得します。 ユーザー デバイス アフィニティは、デバイスとそのプライマリ ユーザー間の関係です。 詳細については、「Configuration Managerでユーザーとデバイスをユーザー デバイス アフィニティとリンクする」を参照してください。

注:

Configuration Manager サイト ドライブからConfiguration Managerコマンドレットを実行します (例: PS XYZ:\>)。 詳細については、「作業の 開始」を参照してください。

例 1: ユーザー名でユーザー デバイスアフィニティを取得する

このコマンドは、ユーザー contoso\jqpublic のユーザー デバイス アフィニティを取得します。

Get-CMUserDeviceAffinity -UserName "contoso\jqpublic"

例 2: 特定のユーザーのデバイスを取得する

この例は最初の例と似ていますが、 Select-Object コマンドレットを使用して返される属性の一覧を減らします。 この例を使用すると、特定のユーザーが定期的に使用するデバイスをすばやく見つけることができます。 この例では、この変更された形式の出力を示します。

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: デバイスの一覧のプライマリ ユーザーを取得する

このスクリプト サンプルでは、インポートされたデバイスの一覧のプライマリ ユーザーを表示します。 この一覧を取得する方法の 1 つは、Configuration Manager コンソールの [デバイス] ノードで複数の行を複数選択し、テキストをコピーする方法の 1 つです (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 コマンドレットを使用して、デバイス名の Name 列を持つコンマ区切りリストから入力を取得します。

  • 最初 foreach のコマンドは、コンマ区切りファイルから各行をループします。 Get-CMUserDeviceAffinity コマンドレットを使用して、そのデバイスのプライマリ ユーザーを取得します。
  • デバイスのプライマリ ユーザーが複数ある場合は、コンピューター名と各ユーザーを個別の行に書き込みます。
  • デバイスのプライマリ ユーザーが 1 人しかない場合は、コンピューター名とユーザーが書き込まれます。
  • スクリプトの出力は、コンピューター名と関連付けられているプライマリ ユーザー名の単純な一覧です。

パラメーター

-DeviceId

プライマリ ユーザーを取得するデバイス リソース ID の配列を指定します。

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

ユーザー リソース ID の配列を指定します。 このユーザーがプライマリ ユーザーであるデバイスを取得するには、このパラメーターを使用します。

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

メモ

この戻りオブジェクトとそのプロパティの詳細については、「 サーバー WMI クラスSMS_UserMachineRelationship」を参照してください。