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 でユーザーとデバイスをユーザー デバイス アフィニティとリンクする」を参照してください。
注:
PS XYZ:\>
など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。
例
例 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 コンソールの [デバイス ] ノードで複数の行を複数選択し、テキスト (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 の配列を指定します。
型: | Int32[] |
Aliases: | ResourceId |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DeviceName
デバイス名の配列を指定します。
型: | String[] |
Aliases: | ResourceName |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ShowApprovedOnly
承認されていないアフィニティを除外するには、このパラメーターを追加します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserId
ユーザー リソース ID の配列を指定します。 このユーザーがプライマリ ユーザーであるデバイスを取得するには、このパラメーターを使用します。
型: | Int32[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserName
ユーザー名の配列を指定します。 このユーザーがプライマリ ユーザーであるデバイスを取得するには、このパラメーターを使用します。
型: | String[] |
Aliases: | UniqueUserName |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
入力
None
出力
IResultObject[]
IResultObject
メモ
この戻りオブジェクトとそのプロパティの詳細については、「 サーバー WMI クラスSMS_UserMachineRelationship」を参照してください。