[MECM(SCCM)]PowerShellコマンドでデバイスコレクションを作成、規則を追加しよう!
MECM(SCCM)でデバイスコレクションを毎度作成し、デバイスを追加するのは少々面倒ですよね?
効率的にデバイスコレクションを作成したり規則を追加できる便利なPowerShellコマンドをご紹介します!
MECMからPowerShellを起動する方法
1.Configuration Manager コンソールを起動します。
2.左斜め上の「▽ボタン」を押します。
3.「Windows PowerShellで接続する」 を押します。
4.PowerShell画面が表示されます。
5.起動時に「この信頼されていない発行元からのソフトウェアを実行しますか?」 という警告が出た場合は、「[R]一度だけ実行する」、もしくは「[A]常に実行する」を入力し実行します。
デバイスコレクションをコマンドで作成する
1.PowerShellを起動し、以下のコマンドを貼りつけて実行すると、デバイスコレクションが作成されます。
New-CMDeviceCollection -Name "任意のコレクション名" -LimitingCollectionName "制限コレクション名"
▼検証で使用したコマンドでは「All Systems」の範囲内で「device」という名前のデバイスコレクションが作成されます。
New-CMDeviceCollection -Name "device" -LimitingCollectionName "All Systems"
2.新規のデバイスコレクション「device」が作成されたことが確認できました。
【ダイレクト規則】デバイスコレクションにデバイスを追加する方法
デバイスコレクションにデバイスを追加するには、最低1つの規則を追加する必要があります。
今回は先ほど作成したデバイスコレクション「device」にダイレクト規則で特定のデバイスを指定して追加します。
1つのデバイスを追加する方法
1.デバイス「CLIENTKATO」を登録しておきます。
2.PowerShellでデバイスコレクション「device」のコレクションIDとデバイス「CLIENTKATO」のリソースIDを貼りつけて下記のコマンドを実行します。
Add-CMDeviceCollectionDirectMembershipRule -CollectionId "コレクションID" -ResourceId "リソースID"
▼検証で使用したコマンド
Add-CMDeviceCollectionDirectMembershipRule -CollectionId "KT100019" -ResourceId "16777220"
3.デバイスコレクション「device」にデバイス「CLIENTKATO」が追加されました。
4.ダイレクト規則が追加されているか確認します。対象のデバイスコレクション「device」を右クリックし、プロパティをクリックします。
5.プロパティ「メンバーシップの規則」タブをクリックします。
6.デバイスコレクション「device」プロパティの「メンバーシップの規則」タブで、「規則名」にデバイス名と「種類」に「ダイレクト」と登録されていることが確認できます。
(参考)コレクションID、リソースIDを確認する方法
【コレクションIDの確認方法】
1.MECMコンソール>デバイスコレクションまで移動します。
2.対象のデバイスコレクションを右クリックして「プロパティ」を開きます。
3.プロパティ「全般」タブの「コレクションID」欄で確認可能です。
【リソースIDの確認方法】
1.対象のデバイスを右クリックして「プロパティ」を開きます。
2.プロパティ「全般」タブの「探索データ」欄にある「リソースID」の値で確認可能です。
複数のデバイスを追加する方法
今回の検証では3つのデバイス「CLIENTKATO」、「NOTEPCKATO」、「NOTEPCKATO2」をデバイスコレクションに追加します。
1.デバイス「CLIENTKATO」、「NOTEPCKATO」、「NOTEPCKATO2」を登録しておきます。
2.デバイスコレクションに追加するデバイス名が書き込まれたテキストファイル(.txt)をメモ帳などのアプリケーションで作成し、任意の場所に保存します。
今回はデバイスコレクションに追加するデバイス名を書き込み、「List_computers.txt」を作成しました。
3.PowerShellを起動します。
4.下記のコマンドを実行します。
Get-Content "作成したテキストファイルまでのパス" | foreach { Add-CMDeviceCollectionDirectMembershipRule -CollectionName "追加先のコレクション名" -ResourceID (Get-CMDevice -Name $_).ResourceID }
▼検証で使用したコマンドでは、テキストファイル「List_computers.txt」内のデバイス名を参照し、デバイスコレクション「device」に追加します。
Get-Content "C:\List_computers.txt" | foreach { Add-CMDeviceCollectionDirectMembershipRule -CollectionName "device" -ResourceID (Get-CMDevice -Name $_).ResourceID }
5.デバイスコレクション「device」内を確認すると、「List_computers.txt」に書き込んだ3つのデバイス「CLIENTKATO」、「NOTEPCKATO」、「NOTEPCKATO2」が全て追加されています。
6.デバイスコレクション「device」プロパティの「メンバーシップの規則」タブで、「規則名」にデバイス名と「種類」に「ダイレクト」と登録されていることが確認できます。
【クエリ規則】デバイスコレクションにデバイスを追加する方法
次にクエリ規則でデバイスコレクションにデバイスを追加する方法をご紹介します。
クエリ規則を使用すると、指定した条件に合ったデバイスを指定して追加可能です。
今回は例として「数字の2がつく名前のデバイス」を指定し、デバイスコレクション「device」に追加します。
1.PowerShellを起動し、下記のコマンドを実行します。
$wql ="条件に合わせたwql構文" Add-CMDeviceCollectionQueryMembershipRule -CollectionName "デバイス名" -QueryExpression $wql -RuleName "任意でつける名前"
▼検証で使用したコマンドでは、「数字の2がつく名前」のデバイスが「device」デバイスコレクションに追加されます。
$wql = "select * from SMS_R_System where UPPER(SMS_R_System.Name) like `"%2`"" Add-CMDeviceCollectionQueryMembershipRule -CollectionName "device" -QueryExpression $wql -RuleName "query"
バッククォート「`」は直後のダブルクォーテーション「”」を文字列として認識させるために使用しています。
2.デバイスコレクション「device」に指定した条件のデバイスが追加されていることを確認します。
3.デバイスコレクション「device」プロパティの「メンバーシップの規則」タブを確認すると、「規則名」にデバイス名、「種類」に「クエリ」と登録されていることが確認できます。
最後に
今回はMECMでデバイスコレクションを作成するPowerShellコマンドと、デバイスを追加するダイレクト規則・クエリ規則を設定するPowerShellコマンドをご紹介しました。
これでデバイスコレクション周りの作業が楽になると思いますので是非利用してみてください。
MECMの管理方法でお困りごとがありましたら、お気軽に株式会社アーザスへご相談ください!