Skip to content

Commit ea83225

Browse files
authored
Merge branch 'main' into vdamabe-policheck1
2 parents d4649a1 + a2a804c commit ea83225

38 files changed

+1449
-575
lines changed

.github/workflows/AutoPublish.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: (Scheduled) Publish to live
2+
3+
permissions:
4+
contents: write
5+
pull-requests: write
6+
7+
on:
8+
schedule:
9+
- cron: "25 5,11,17,22 * * *" # Times are UTC based on Daylight Saving Time. Need to be adjusted for Standard Time. Scheduling at :25 to account for queuing lag.
10+
11+
workflow_dispatch:
12+
13+
jobs:
14+
15+
auto-publish:
16+
if: github.repository_owner == 'MicrosoftDocs' && contains(github.event.repository.topics, 'build')
17+
uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoPublish.yml@workflows-prod
18+
with:
19+
PayloadJson: ${{ toJSON(github) }}
20+
EnableAutoPublish: true
21+
22+
secrets:
23+
AccessToken: ${{ secrets.GITHUB_TOKEN }}
24+
PrivateKey: ${{ secrets.M365_APP_PRIVATE_KEY }}
25+
ClientId: ${{ secrets.M365_APP_CLIENT_ID }}

.github/workflows/StaleBranch.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,18 @@ name: (Scheduled) Stale branch removal
22

33
permissions:
44
contents: write
5-
5+
pull-requests: read
6+
7+
# This workflow is designed to be run in the days up to, and including, a "deletion day", specified by 'DeleteOnDayOfMonth' in env: in https://github.com/MicrosoftDocs/microsoft-365-docs/blob/workflows-prod/.github/workflows/Shared-StaleBranch.yml.
8+
# On the days leading up to "deletion day", the workflow will report the branches to be deleted. This lets users see which branches will be deleted. On "deletion day", those branches are deleted.
9+
# The workflow should not be configured to run after "deletion day" so that users can review the branches were deleted.
10+
# Recommendation: configure cron to run on days 1,15-31 where 1 is what's configured in 'DeleteOnDayOfMonth'. If 'DeleteOnDayOfMonth' is set to something else, update cron to run the two weeks leading up to it.
11+
612
on:
713
schedule:
8-
- cron: "0 9 1 * *"
14+
- cron: "0 9 1,15-31 * *"
915

10-
# workflow_dispatch:
16+
workflow_dispatch:
1117

1218

1319
jobs:

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7143,6 +7143,11 @@
71437143
"redirect_url": "/powershell/module/exchange/get-exosecopsoverriderule",
71447144
"redirect_document_id": false
71457145
},
7146+
{
7147+
"source_path": "exchange/virtual-folder/exchange/Get-VivaFeatureCategory.md",
7148+
"redirect_url": "/viva/feature-access-management",
7149+
"redirect_document_id": false
7150+
},
71467151
{
71477152
"source_path": "skype/virtual-folder/skype/Disable-CsOnlineSipDomain.md",
71487153
"redirect_url": "/powershell/module/teams/Disable-CsOnlineSipDomain",

exchange/exchange-ps/exchange/Add-VivaModuleFeaturePolicy.md

Lines changed: 36 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -15,51 +15,32 @@ ms.reviewer:
1515
## SYNOPSIS
1616
This cmdlet is available only in the Exchange Online PowerShell module v3.2.0 or later. For more information, see [About the Exchange Online PowerShell module](https://aka.ms/exov3-module).
1717

18-
**Note**: Support for categories is available in version 3.5.0-Preview2 or later of the module, but no categories are currently available in Viva. We'll update the documentation when categories are available.
18+
Use the Add-VivaModuleFeaturePolicy cmdlet to add a new access policy for a specific feature in Viva. The attributes of the policy are defined using the cmdlet parameters. Policies are used to restrict or grant access to the specified feature for specific users, groups, or the entire tenant.
1919

20-
Use the Add-VivaModuleFeaturePolicy cmdlet to add a new access policy for a specific feature or a category in Viva. The attributes of the policy are defined using the cmdlet parameters. Policies are used to restrict or grant access to the specified feature or category for specific users, groups, or the entire tenant.
21-
22-
- You can assign up to 10 policies per feature/category. An additional one policy per feature/category can be assigned to the entire tenant.
23-
- Policies assigned to a specific user or group take priority over the policy assigned to the entire tenant when determining whether a feature/category is enabled. If a user has multiple policies assigned for a feature/category (directly as a user or member of a group), the most restrictive policy applies.
24-
- If a category is disabled by category policies, all features under the category are disabled regardless of the policies set at the feature level.
25-
- You can only update user controls at the feature policy level, not the category policy level.
20+
- You can assign up to 10 policies per feature. An additional one policy per feature can be assigned to the entire tenant.
21+
- Policies assigned to a specific user or group take priority over the policy assigned to the entire tenant when determining whether a feature is enabled. If a user has multiple policies assigned for a feature (directly as a user or member of a group), the most restrictive policy applies.
2622
- Some features only support policies that apply to the entire tenant, not specific users or groups. You can refer to supported policy scopes for a feature using the [Get-VivaModuleFeature](https://learn.microsoft.com/powershell/module/exchange/get-vivamodulefeature) cmdlet.
2723

2824
Some features include the option for user controls (user opt out). Refer to the feature documentation to see if user controls are available for the feature that you intend to set a policy for.
2925

3026
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
3127

3228
## SYNTAX
33-
34-
### FeaturePolicy
3529
```
3630
Add-VivaModuleFeaturePolicy -FeatureId <String> -IsFeatureEnabled <Boolean> -ModuleId <String> -Name <String>
3731
[-Confirm]
3832
[-Everyone]
3933
[-GroupIds <String[]>]
4034
[-IsUserControlEnabled <Boolean>]
41-
[-ResultSize <Unlimited>]
42-
[-UserIds <String[]>]
43-
[-WhatIf]
44-
[<CommonParameters>]
45-
```
46-
47-
### CategoryPolicy
48-
```
49-
Add-VivaModuleFeaturePolicy -CategoryId <String> -IsCategoryEnabled <Boolean> -Name <String>
50-
[-Confirm]
51-
[-Everyone]
52-
[-GroupIds <String[]>]
35+
[-IsUserOptedInByDefault <Boolean>]
5336
[-ResultSize <Unlimited>]
5437
[-UserIds <String[]>]
5538
[-WhatIf]
5639
[<CommonParameters>]
5740
```
5841

5942
## DESCRIPTION
60-
Use the Add-VivaModuleFeaturePolicy cmdlet to add a new access policy for a specific feature or category in Viva.
61-
62-
Support for categories is available in version 3.5.0-Preview2 or later of the module.
43+
Use the Add-VivaModuleFeaturePolicy cmdlet to add a new access policy for a specific feature in Viva.
6344

6445
You need to use the Connect-ExchangeOnline cmdlet to authenticate.
6546

@@ -106,92 +87,21 @@ This example adds a policy for the Reflection feature in Viva Insights. The poli
10687

10788
### Example 5
10889
```powershell
109-
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name DisableCategoryForAll -IsCategoryEnabled $false -Everyone
110-
```
111-
112-
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the organization.
113-
114-
### Example 6
115-
```powershell
116-
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleGroups -IsCategoryEnabled $false -GroupIds group1@contoso.com,group2@contoso.com,57680382-61a5-4378-85ad-f72095d4e9c3
117-
```
118-
119-
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the specified groups.
120-
121-
### Example 7
122-
```powershell
123-
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleUsers -IsCategoryEnabled $false -UserIds user1@contoso.com,user2@contoso.com
90+
Add-VivaModuleFeaturePolicy -ModuleId PeopleSkills -FeatureId ShowAISkills -Name SoftDisableShowAISkillsPolicy -IsFeatureEnabled $true -IsUserControlEnabled $true -IsUserOptedInByDefault $false -UserIds user1@contoso.com,user2@contoso.com
12491
```
12592

126-
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users.
127-
128-
### Example 8
129-
```powershell
130-
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name UsersAndGroups -IsCategoryEnabled $false -GroupIds group1@contoso.com,group2@contoso.com,57680382-61a5-4378-85ad-f72095d4e9c3 -UserIds user1@contoso.com,user2@contoso.com
131-
```
132-
133-
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users and group members.
134-
135-
### Example 9
136-
```powershell
137-
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name "Disable Category For All" -IsCategoryEnabled $false -Everyone
138-
```
139-
140-
This example adds a policy for the `<category_id>` category in Viva where the policy name is with spaces. The policy disables the category (effectively all features under the category) for all users in the organization.
93+
This example adds a policy for the ShowAISkills feature in Viva Skills. The policy enables the feature for the specified users, allows user controls, and opted out users by default (Soft Disable policy).
14194

14295
## PARAMETERS
14396

144-
### -CategoryId
145-
This parameter is available in version 3.5.0-Preview2 or later of the module.
146-
147-
**Note**: Currently, no categories are available in Viva. We'll update the documentation when categories are available.
148-
149-
The CategoryId parameter specifies the Viva category that you want to add the policy for.
150-
151-
```yaml
152-
Type: String
153-
Parameter Sets: CategoryPolicy
154-
Aliases:
155-
Applicable: Exchange Online
156-
157-
Required: True
158-
Position: Named
159-
Default value: None
160-
Accept pipeline input: False
161-
Accept wildcard characters: False
162-
```
163-
16497
### -FeatureId
16598
The FeatureId parameter specifies the feature in the Viva module that you want to add the policy for.
16699

167100
To view details about the features in a Viva module that support feature access controls, use the Get-VivaModuleFeature cmdlet. The FeatureId value is returned in the output of the cmdlet.
168101

169102
```yaml
170103
Type: String
171-
Parameter Sets: FeaturePolicy
172-
Aliases:
173-
Applicable: Exchange Online
174-
175-
Required: True
176-
Position: Named
177-
Default value: None
178-
Accept pipeline input: False
179-
Accept wildcard characters: False
180-
```
181-
182-
### -IsCategoryEnabled
183-
This parameter is available in version 3.5.0-Preview2 or later of the module.
184-
185-
**Note**: Currently, no categories are available in Viva. We'll update the documentation when categories are available.
186-
187-
The IsCategoryEnabled parameter specifies whether or not the category is enabled by the policy. Valid values are:
188-
189-
- $true: The category is enabled by the policy.
190-
- $false: The category is not enabled by the policy.
191-
192-
```yaml
193-
Type: Boolean
194-
Parameter Sets: CategoryPolicy
104+
Parameter Sets: (All)
195105
Aliases:
196106
Applicable: Exchange Online
197107

@@ -210,7 +120,7 @@ The IsFeatureEnabled parameter specifies whether or not the feature is enabled b
210120
211121
```yaml
212122
Type: Boolean
213-
Parameter Sets: FeaturePolicy
123+
Parameter Sets: (All)
214124
Aliases:
215125
Applicable: Exchange Online
216126

@@ -226,7 +136,7 @@ The ModuleId parameter specifies the Viva module that you want to add the featur
226136
227137
```yaml
228138
Type: String
229-
Parameter Sets: FeaturePolicy
139+
Parameter Sets: (All)
230140
Aliases:
231141
Applicable: Exchange Online
232142

@@ -328,7 +238,32 @@ Only features that allow admins to enable and disable user controls by policy ca
328238

329239
```yaml
330240
Type: Boolean
331-
Parameter Sets: FeaturePolicy
241+
Parameter Sets: (All)
242+
Aliases:
243+
Applicable: Exchange Online
244+
245+
Required: False
246+
Position: Named
247+
Default value: None
248+
Accept pipeline input: False
249+
Accept wildcard characters: False
250+
```
251+
252+
### -IsUserOptedInByDefault
253+
This parameter is available in version 3.8.0-Preview2 or later of the module.
254+
255+
The IsUserOptedInByDefault parameter specifies whether users are opted in by default by the policy. Valid values are:
256+
257+
- $true: By default, users are opted in by the policy if the user hasn't set a preference.
258+
- $false: By default, users are opted out by the policy if the user hasn't set a preference.
259+
260+
This parameter is optional and can be used to override the default user opt-in value set in the feature metadata.
261+
262+
This parameter can be set only when the IsUserControlEnabled parameter is set to $true.
263+
264+
```yaml
265+
Type: Boolean
266+
Parameter Sets: (All)
332267
Aliases:
333268
Applicable: Exchange Online
334269

exchange/exchange-ps/exchange/Export-QuarantineMessage.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Export-QuarantineMessage -Identities <QuarantineMessageIdentity[]> [-Identity <Q
2929
[-EntityType <Microsoft.Exchange.Management.FfoQuarantine.EntityType>]
3030
[-ForceConversionToMime]
3131
[-Password <SecureString>]
32+
[-PasswordV2 <String>]
3233
[-ReasonForExport <String>]
3334
[-RecipientAddress <String>]
3435
[<CommonParameters>]
@@ -41,6 +42,7 @@ Export-QuarantineMessage -Identity <QuarantineMessageIdentity>
4142
[-EntityType <Microsoft.Exchange.Management.FfoQuarantine.EntityType>]
4243
[-ForceConversionToMime]
4344
[-Password <SecureString>]
45+
[-PasswordV2 <String>]
4446
[-ReasonForExport <String>]
4547
[-RecipientAddress <String>]
4648
[<CommonParameters>]
@@ -202,6 +204,8 @@ You can use the following methods as a value for this parameter:
202204
- Before you run this command, store the password as a variable (for example, `$password = Read-Host "Enter password" -AsSecureString`), and then use the variable (`$password`) for the value.
203205
- `(Get-Credential).password` to be prompted to enter the password securely when you run this command.
204206

207+
To enter the password in plain text, use the PasswordV2 parameter.
208+
205209
```yaml
206210
Type: SecureString
207211
Parameter Sets: (All)
@@ -215,6 +219,22 @@ Accept pipeline input: False
215219
Accept wildcard characters: False
216220
```
217221

222+
### -PasswordV2
223+
The PasswordV2 parameter specifies the plain text value of the password that's required to open the exported message. Enclose the value in quotation marks (for example, `'<password>'`).
224+
225+
```yaml
226+
Type: String
227+
Parameter Sets: (All)
228+
Aliases:
229+
Applicable: Exchange Online, Security & Compliance, Exchange Online Protection
230+
231+
Required: False
232+
Position: Named
233+
Default value: None
234+
Accept pipeline input: False
235+
Accept wildcard characters: False
236+
```
237+
218238
### -ReasonForExport
219239
The ReasonForExport parameter specifies why the message was exported. If the value contains spaces, enclose the value in quotation marks (").
220240

exchange/exchange-ps/exchange/Get-FeatureConfiguration.md

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ For information about the parameter sets in the Syntax section below, see [Excha
2525

2626
```
2727
Get-FeatureConfiguration [[-Identity] <PolicyIdParameter>] [-FeatureScenario] <PolicyScenario>
28-
[-All]
2928
[-Confirm]
30-
[-GeneralDiscovery]
31-
[-IrmDiscovery]
3229
[-WhatIf]
3330
[<CommonParameters>]
3431
```
@@ -92,22 +89,6 @@ Accept pipeline input: False
9289
Accept wildcard characters: False
9390
```
9491

95-
### -All
96-
This parameter is reserved for internal Microsoft use.
97-
98-
```yaml
99-
Type: SwitchParameter
100-
Parameter Sets: (All)
101-
Aliases:
102-
Applicable: Security & Compliance
103-
104-
Required: False
105-
Position: Named
106-
Default value: None
107-
Accept pipeline input: False
108-
Accept wildcard characters: False
109-
```
110-
11192
### -Confirm
11293
This parameter is reserved for internal Microsoft use.
11394

@@ -124,38 +105,6 @@ Accept pipeline input: False
124105
Accept wildcard characters: False
125106
```
126107

127-
### -GeneralDiscovery
128-
This parameter is reserved for internal Microsoft use.
129-
130-
```yaml
131-
Type: SwitchParameter
132-
Parameter Sets: (All)
133-
Aliases:
134-
Applicable: Security & Compliance
135-
136-
Required: False
137-
Position: Named
138-
Default value: None
139-
Accept pipeline input: False
140-
Accept wildcard characters: False
141-
```
142-
143-
### -IrmDiscovery
144-
This parameter is reserved for internal Microsoft use.
145-
146-
```yaml
147-
Type: SwitchParameter
148-
Parameter Sets: (All)
149-
Aliases:
150-
Applicable: Security & Compliance
151-
152-
Required: False
153-
Position: Named
154-
Default value: None
155-
Accept pipeline input: False
156-
Accept wildcard characters: False
157-
```
158-
159108
### -WhatIf
160109
This parameter is reserved for internal Microsoft use.
161110

0 commit comments

Comments
 (0)