MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【SCCM】[VBScript] [WMI] ダイレクト規則のデバイスコレクションにデバイスを追加・削除する | Microsoft System Center Configuration Manager(SCCM)

f:id:takayuki-yoshida:20190421222641p:plain

 

はじめに

SCCMでデバイスコレクションのメンバー追加、削除するサブルーチンです。

こちらの記事のSCCM接続のFunctionプロシージャを使用する前提で記載します。

www.startpassion.life

 

デバイスコレクション(ダイレクト規則)にメンバーを追加する

ダイレクト規則のデバイスコレクションのメンバーに、デバイスを追加します。ResourceIDは、SCCMでデバイスを一意を表すIDです。事前に取得している前提です。

コレクションIDは事前にSCCM管理コンソールから調べておいてください。

※デバイスコレクションに追加するデバイスがいないことを事前に確認してください。重複した場合は、無効状態で登録されてしまうようです。

 

  • 実行行方法

VBScript内でSCCM接続のFunctionプロシジャーを含めてください。

set Connection = Connect("サーバー名","ユーザー名"."パスワード")
call DeviceCollection_AddComputer(Connection,ResourceID,collectionID)

 

Sub DeviceCollection_AddComputer(Connection,ResourceID,collectionID)

Dim collection
Dim collectionRule

Set collection = connection.Get("SMS_Collection.CollectionID='" & collectionID & "'")
Set collectionRule = connection.Get("SMS_CollectionRuleDirect").SpawnInstance_
collectionRule.ResourceClassName="SMS_R_System"
collectionRule.ResourceID=ResourceID

'Add CollectionMember
collection.AddMembershipRule collectionRule

End Sub

 

デバイスコレクション(ダイレクト規則)にメンバーから削除する

ダイレクト規則のデバイスコレクションのメンバーからデバイスを削除します。

サンプルスクリプトは追加する場合とほぼ同じで、削除する際に使用するメゾットが違う程度です。

事前に削除するデバイスのResourceIDを取得している前提です。

また、コレクションIDは事前にSCCM管理コンソールから調べておいてください。

 

  • 実行方法

VBScript内でSCCM接続のFunctionプロシジャーを含めてください。

set connection = Connect("サーバー名","ユーザー名"."パスワード")
call DeviceCollection_DeleteComputer(connection,ResourceID,collectionID)

 

Sub DeviceCollection_DeleteComputer(connection,ResourceID,collectionID)

Dim collection
Dim collectionRule

Set collection = connection.Get("SMS_Collection.CollectionID='" & collectionID & "'")
Set collectionRule = connection.Get("SMS_CollectionRuleDirect").SpawnInstance_
collectionRule.ResourceClassName="SMS_R_System"
collectionRule.ResourceID=ResourceID

'Delete CollectionMember
collection.DeleteMembershipRule collectionRule

End Sub

参考)

devblogs.microsoft.com