はじめに
SCCMでデバイスコレクションのメンバー追加、削除するサブルーチンです。
こちらの記事のSCCM接続のFunctionプロシージャを使用する前提で記載します。
デバイスコレクション(ダイレクト規則)にメンバーを追加する
ダイレクト規則のデバイスコレクションのメンバーに、デバイスを追加します。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
参考)