Skip to content

Commit 717759e

Browse files
authored
Merge pull request #381 from msewaweru/freshness-pim-policies
Freshness for PIM policies article
2 parents 15f6ca8 + 6a3411c commit 717759e

File tree

1 file changed

+61
-30
lines changed

1 file changed

+61
-30
lines changed

microsoftgraph/docs-conceptual/how-to-manage-pim-policies.md

Lines changed: 61 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Manage PIM policies using Microsoft Graph PowerShell"
33
description: "Learn how to manage PIM policies in Microsoft Graph PowerShell"
44

55
ms.topic: how-to
6-
ms.date: 09/20/2022
6+
ms.date: 09/05/2023
77
author: msewaweru
88
manager: mwongerapk
99
ms.author: eunicewaweru
@@ -46,26 +46,39 @@ Get-MgPolicyRoleManagementPolicy -Filter "scopeId eq '/' and scopeType eq 'Direc
4646
```Output
4747
Id Description DisplayName IsOrganizationDefault LastModifiedDateTime ScopeId ScopeType
4848
-- ----------- ----------- --------------------- -------------------- ------- ---------
49-
DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03 DirectoryRole DirectoryRole False / DirectoryRole
50-
DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_cc690af9-a579-4c20-81f0-c9e0c6f3e4d9 DirectoryRole DirectoryRole False / DirectoryRole
51-
DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_c4955dbd-25f9-4018-9499-8fcf0f6bf2db DirectoryRole DirectoryRole False / DirectoryRole
52-
DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_7f3f1941-38f9-42fa-828c-e45eae7ec6fd DirectoryRole DirectoryRole False / DirectoryRole
49+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720 DirectoryRole DirectoryRole False / DirectoryRole
50+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_04949382-ea50-4d50-8d4e-a89801b95dc2 DirectoryRole DirectoryRole False / DirectoryRole
51+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_5e870933-40ea-48d6-a77f-b8813f9172c2 DirectoryRole DirectoryRole False / DirectoryRole
52+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_dbc3fbda-6dfe-4e3f-9a93-e7afc047dc6b DirectoryRole DirectoryRole False / DirectoryRole
53+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_2a5f1b68-1022-41a6-be9a-fa022b1d1670 DirectoryRole DirectoryRole False / DirectoryRole
54+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_98664ea2-fcb2-4dee-a42d-4891d18df7d6 DirectoryRole DirectoryRole False / DirectoryRole
55+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_c7645eec-de95-4c56-8516-eea261ddf063 DirectoryRole DirectoryRole False / DirectoryRole
56+
DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_e7701331-5e4b-42cb-98b5-04b12e9b780d DirectoryRole DirectoryRole False / DirectoryRole
57+
DirectoryRol
5358
```
5459

5560
### List details of a specific policy
5661

5762
To get the details of a specific policy, run:
5863

5964
```powershell
60-
$policyId = "DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03"
65+
$policyId = "DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720"
6166
62-
Get-MgPolicyRoleManagementPolicy -UnifiedRoleManagementPolicyId $policyId
67+
Get-MgPolicyRoleManagementPolicy -UnifiedRoleManagementPolicyId $policyId | FL
6368
```
6469

6570
```Output
66-
Id Description DisplayName IsOrganizationDefault LastModifiedDateTime ScopeId ScopeType
67-
-- ----------- ----------- --------------------- -------------------- ------- ---------
68-
DirectoryRole_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03 DirectoryRole DirectoryRole False / DirectoryRole
71+
Description : DirectoryRole
72+
DisplayName : DirectoryRole
73+
EffectiveRules :
74+
Id : DirectoryRole_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720
75+
IsOrganizationDefault : False
76+
LastModifiedBy : Microsoft.Graph.PowerShell.Models.MicrosoftGraphIdentity
77+
LastModifiedDateTime :
78+
Rules :
79+
ScopeId : /
80+
ScopeType : DirectoryRole
81+
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/roleManagementPolicies/$entity]}
6982
```
7083

7184
## Step 2: Get policy assignments
@@ -83,27 +96,31 @@ Get-MgPolicyRoleManagementPolicyAssignment -Filter "scopeId eq '/' and scopeType
8396
```Output
8497
Id PolicyId RoleDefinitionId ScopeId ScopeType
8598
-- -------- ---------------- ------- ---------
86-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03_9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 / Directory
87-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_cc690af9-a579-4c20-81f0-c9e0c6f3e4d9_62e90394-69f5-4237-9190-012177145e10 Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_cc690af9-a579-4c20-81f0-c9e0c6f3e4d9 62e90394-69f5-4237-9190-012177145e10 / Directory
88-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_c4955dbd-25f9-4018-9499-8fcf0f6bf2db_2af84b1e-32c8-42b7-82bc-daa82404023b Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_c4955dbd-25f9-4018-9499-8fcf0f6bf2db 2af84b1e-32c8-42b7-82bc-daa82404023b / Directory
89-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_7f3f1941-38f9-42fa-828c-e45eae7ec6fd_fe930be7-5e62-47db-91af-98c3a49a38b1 Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_7f3f1941-38f9-42fa-828c-e45eae7ec6fd fe930be7-5e62-47db-91af-98c3a49a38b1 / Directory
90-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_b0ebbcf4-edb5-4c6a-b646-01850c5fc5cd_f023fd81-a637-4b56-95fd-791ac0226033 Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_b0ebbcf4-edb5-4c6a-b646-01850c5fc5cd f023fd81-a637-4b56-95fd-791ac0226033 / Directory
99+
Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720_88d8e3e3-8f55-4a1e-953a-9b9898b8876b Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720 88d8e3e3-8f55-4a1e-953a-9b9898b8876b / Directory
100+
Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_04949382-ea50-4d50-8d4e-a89801b95dc2_62e90394-69f5-4237-9190-012177145e10 Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_04949382-ea50-4d50-8d4e-a89801b95dc2 62e90394-69f5-4237-9190-012177145e10 / Directory
101+
Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_5e870933-40ea-48d6-a77f-b8813f9172c2_10dae51f-b6af-4016-8d66-8c2a99b929b3 Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_5e870933-40ea-48d6-a77f-b8813f9172c2 10dae51f-b6af-4016-8d66-8c2a99b929b3 / Directory
102+
Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_dbc3fbda-6dfe-4e3f-9a93-e7afc047dc6b_2af84b1e-32c8-42b7-82bc-daa82404023b Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_dbc3fbda-6dfe-4e3f-9a93-e7afc047dc6b 2af84b1e-32c8-42b7-82bc-daa82404023b / Directory
103+
Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_2a5f1b68-1022-41a6-be9a-fa022b1d1670_95e79109-95c0-4d8e-aee3-d01accf2d47b Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_2a5f1b68-1022-41a6-be9a-fa022b1d1670 95e79109-95c0-4d8e-aee3-d01accf2d47b / Directory
91104
```
92105

93106
### Get a specific policy assignment
94107

95108
To get a specific policy assignment, run:
96109

97110
```powershell
98-
$policyId = "Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03_9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"
111+
$assignmentId = "Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720_88d8e3e3-8f55-4a1e-953a-9b9898b8876b"
99112
100-
Get-MgPolicyRoleManagementPolicyAssignment -UnifiedRoleManagementPolicyAssignmentId $policyId
113+
Get-MgPolicyRoleManagementPolicyAssignment -UnifiedRoleManagementPolicyAssignmentId $assignmentId | FL
101114
```
102115

103116
```Output
104-
Id PolicyId RoleDefinitionId ScopeId ScopeType
105-
-- -------- ---------------- ------- ---------
106-
Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03_9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 / Directory
117+
Id : Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720_88d8e3e3-8f55-4a1e-953a-9b9898b8876b
118+
Policy : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRoleManagementPolicy
119+
PolicyId : Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720
120+
RoleDefinitionId : 88d8e3e3-8f55-4a1e-953a-9b9898b8876b
121+
ScopeId : /
122+
ScopeType : Directory
123+
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/roleManagementPolicyAssignments/$entity]}
107124
```
108125

109126
## Step 3: Get policy rules
@@ -115,12 +132,11 @@ Policy rules are the individual role setting details.
115132
To get all the rules for a policy, run:
116133

117134
```powershell
118-
$policyId = "Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03"
119-
Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId | Format-List
135+
$policyId = "Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720"
136+
Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId | FL
120137
```
121138

122139
```Output
123-
124140
Id : Expiration_Admin_Eligibility
125141
Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRoleManagementPolicyRuleTarget
126142
AdditionalProperties : {[@odata.type, #microsoft.graph.unifiedRoleManagementPolicyExpirationRule], [isExpirationRequired, False], [maximumDuration, P365D]}
@@ -130,32 +146,34 @@ Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRo
130146
AdditionalProperties : {[@odata.type, #microsoft.graph.unifiedRoleManagementPolicyEnablementRule], [enabledRules, System.Object[]]}
131147
```
132148

149+
> [!NOTE]
150+
>The output above is truncated for readability.
151+
133152
### Get a specific rule for a policy
134153

135154
To get the details of a specific rule for a policy, run:
136155

137156
```powershell
138-
$policyId = "Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03"
157+
$policyId = "Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720"
139158
140159
$ruleId = "Expiration_EndUser_Assignment"
141160
142-
Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId | Format-List
161+
Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId | FL
143162
```
144163

145164
```Output
146-
147165
Id : Expiration_EndUser_Assignment
148166
Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRoleManagementPolicyRuleTarget
149-
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/roleManagementPolicies('Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03')/rules/$entity], [@odata.type, #microsoft.graph.unifiedRoleManagementPolicyExpirationRule],
150-
[isExpirationRequired, True], [maximumDuration, PT8H]}
167+
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/roleManagementPolicies('Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720')/rules/$entity], [@odata.type,
168+
#microsoft.graph.unifiedRoleManagementPolicyExpirationRule], [isExpirationRequired, True], [maximumDuration, PT8H]}
151169
```
152170

153171
## Step 4: Update a policy rule
154172

155173
In this step, we'll update the `Expiration_EndUser_Assignment` rule.
156174

157175
```powershell
158-
$policyId = "Directory_06f6521d-c18c-460a-8656-fa82e81aa94b_81328d30-ae8f-48cc-b242-48f50dd77d03"
176+
$policyId = "Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720"
159177
160178
$ruleId = "Expiration_EndUser_Assignment"
161179
@@ -178,7 +196,20 @@ Target = @{
178196
}
179197
}
180198
181-
Update-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyid -UnifiedRoleManagementPolicyRuleId $ruleId -BodyParameter $params
199+
Update-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId -BodyParameter $params
200+
```
201+
202+
You can check the updated rule by running the following command:
203+
204+
```powershell
205+
Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId | FL
206+
```
207+
208+
```Output
209+
Id : Expiration_EndUser_Assignment
210+
Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRoleManagementPolicyRuleTarget
211+
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/roleManagementPolicies('Directory_f54257c3-0b0f-4dd1-b7d9-8a20d8f57f8b_181f1c72-4d0e-4e3c-902d-ad08d070e720')/rules/$entity], [@odata.type,
212+
#microsoft.graph.unifiedRoleManagementPolicyExpirationRule], [isExpirationRequired, False], [maximumDuration, P365D]}
182213
```
183214

184215
## Next steps

0 commit comments

Comments
 (0)