@@ -3,7 +3,7 @@ title: "Manage PIM policies using Microsoft Graph PowerShell"
3
3
description : " Learn how to manage PIM policies in Microsoft Graph PowerShell"
4
4
5
5
ms.topic : how-to
6
- ms.date : 09/20/2022
6
+ ms.date : 09/05/2023
7
7
author : msewaweru
8
8
manager : mwongerapk
9
9
ms.author : eunicewaweru
@@ -46,26 +46,39 @@ Get-MgPolicyRoleManagementPolicy -Filter "scopeId eq '/' and scopeType eq 'Direc
46
46
``` Output
47
47
Id Description DisplayName IsOrganizationDefault LastModifiedDateTime ScopeId ScopeType
48
48
-- ----------- ----------- --------------------- -------------------- ------- ---------
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
53
58
```
54
59
55
60
### List details of a specific policy
56
61
57
62
To get the details of a specific policy, run:
58
63
59
64
``` 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 "
61
66
62
- Get-MgPolicyRoleManagementPolicy -UnifiedRoleManagementPolicyId $policyId
67
+ Get-MgPolicyRoleManagementPolicy -UnifiedRoleManagementPolicyId $policyId | FL
63
68
```
64
69
65
70
``` 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]}
69
82
```
70
83
71
84
## Step 2: Get policy assignments
@@ -83,27 +96,31 @@ Get-MgPolicyRoleManagementPolicyAssignment -Filter "scopeId eq '/' and scopeType
83
96
``` Output
84
97
Id PolicyId RoleDefinitionId ScopeId ScopeType
85
98
-- -------- ---------------- ------- ---------
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
91
104
```
92
105
93
106
### Get a specific policy assignment
94
107
95
108
To get a specific policy assignment, run:
96
109
97
110
``` 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 "
99
112
100
- Get-MgPolicyRoleManagementPolicyAssignment -UnifiedRoleManagementPolicyAssignmentId $policyId
113
+ Get-MgPolicyRoleManagementPolicyAssignment -UnifiedRoleManagementPolicyAssignmentId $assignmentId | FL
101
114
```
102
115
103
116
``` 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]}
107
124
```
108
125
109
126
## Step 3: Get policy rules
@@ -115,12 +132,11 @@ Policy rules are the individual role setting details.
115
132
To get all the rules for a policy, run:
116
133
117
134
``` 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
120
137
```
121
138
122
139
``` Output
123
-
124
140
Id : Expiration_Admin_Eligibility
125
141
Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRoleManagementPolicyRuleTarget
126
142
AdditionalProperties : {[@odata.type, #microsoft.graph.unifiedRoleManagementPolicyExpirationRule], [isExpirationRequired, False], [maximumDuration, P365D]}
@@ -130,32 +146,34 @@ Target : Microsoft.Graph.PowerShell.Models.MicrosoftGraphUnifiedRo
130
146
AdditionalProperties : {[@odata.type, #microsoft.graph.unifiedRoleManagementPolicyEnablementRule], [enabledRules, System.Object[]]}
131
147
```
132
148
149
+ > [ !NOTE]
150
+ > The output above is truncated for readability.
151
+
133
152
### Get a specific rule for a policy
134
153
135
154
To get the details of a specific rule for a policy, run:
136
155
137
156
``` 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 "
139
158
140
159
$ruleId = "Expiration_EndUser_Assignment"
141
160
142
- Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId | Format-List
161
+ Get-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyId -UnifiedRoleManagementPolicyRuleId $ruleId | FL
143
162
```
144
163
145
164
``` Output
146
-
147
165
Id : Expiration_EndUser_Assignment
148
166
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]}
151
169
```
152
170
153
171
## Step 4: Update a policy rule
154
172
155
173
In this step, we'll update the ` Expiration_EndUser_Assignment ` rule.
156
174
157
175
``` 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 "
159
177
160
178
$ruleId = "Expiration_EndUser_Assignment"
161
179
@@ -178,7 +196,20 @@ Target = @{
178
196
}
179
197
}
180
198
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]}
182
213
```
183
214
184
215
## Next steps
0 commit comments