web-dev-qa-db-ja.com

SCCM PowerShell-特定のデバイスコレクションに対してInvoke-CMWmiQueryを実行しますか?

次のWQLクエリがあります。

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_EndpointProtectionStatus on SMS_G_System_EndpointProtectionStatus.ResourceID = SMS_R_System.ResourceId where SMS_G_System_EndpointProtectionStatus.SignatureOlderThan7Days = 1

を使用して問題なく実行できます

Invoke-CMWmiQuery -Query $WQL -Option Lazy

しかし、SCCMコンソールで実行できるように、これを特定のデバイスコレクションに対して実行するように制限する方法はありますか?

ありがとう!

1
d3Xt3r

U/Johnny_Scriptのおかげで、 Reddit で答えを見つけました:

結果を1つのコレクションに制限するには、クエリにjoin SMS_FullCollectionMembership on SMS_FullCollectionMembership.ResourceID = SMS_R_System.ResourceIDを追加して、コレクションデータにアクセスできるようにする必要があります。次に、クエリの最後にAND SMS_FullCollectionMembership.CollectionID = 'ABC0001'を追加して、特定のコレクションに制限する必要があります。いずれかのCollectionIDのCollectionIDでABC0001を更新します。最終的なWQLステートメントは次のようになります。

SELECT SMS_R_SYSTEM.ResourceID, SMS_R_SYSTEM.ResourceType, SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier, SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client 
FROM SMS_R_System INNER JOIN SMS_G_System_EndpointProtectionStatus on SMS_G_System_EndpointProtectionStatus.ResourceID = SMS_R_System.ResourceId JOIN SMS_FullCollectionMembership on SMS_FullCollectionMembership.ResourceID = SMS_R_System.ResourceID 
WHERE SMS_G_System_EndpointProtectionStatus.SignatureOlderThan7Days = 1 and SMS_FullCollectionMembership.CollectionID = 'ABC0001'
1
d3Xt3r

SCCMクエリを作成し、デバイスコレクションに対して実行することができます。 https://docs.Microsoft.com/en-us/sccm/core/servers/manage/ create-queries

2
SolidSid