我已经编写(或至少尝试编写)一个简单的脚本来获取分配给特定 Azure AD 组的所有 Microsoft Intune Defender 策略。
脚本获取所有 Defender 策略,找到链接到这些策略的组 ID,然后使用 Get-AzureADGroup 获取实际名称。
现在我需要找到一种方法来仅显示与特定组名匹配的策略(硬编码)。在脚本的顶部,我有一个带有组名的变量。我只是找不到如何过滤所有 $intent(s) 以仅显示链接到组名变量的方法。
Connect-MSGraph -ForceInteractive
Update-MSGraphEnvironment -SchemaVersion beta
Connect-MSGraph
Connect-AzureAD
$groupname = "group-name-here"
$intents = Invoke-MSGraphRequest -HttpMethod GET -Url "deviceManagement/intents" | Get-MSGraphAllPages
foreach ($intent in $intents) {
$PolicyID = Invoke-MSGraphRequest -HttpMethod GET -Url "deviceManagement/intents/$($intent.Id)/assignments"
$AssignmentGroupIDs = $PolicyID.value.target.groupID
foreach ($AssignmentGroupID in $AssignmentGroupIDs) {
$AssignmentGroupName = Get-AzureADGroup -ObjectId $AssignmentGroupID
}
}
Write-Host "Number of policies found: $($intents.Id.Count)" -ForegroundColor cyan
Write-Host $AssignmentGroupName.DisplayName
Write-Host $intent.displayName