Skip to content

Commit 84796f9

Browse files
Merge branch 'MicrosoftDocs:main' into main
2 parents e3e3048 + 7506a17 commit 84796f9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+2085
-444
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: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ name: (Scheduled) Stale branch removal
22

33
permissions:
44
contents: write
5-
5+
6+
# 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.
7+
# 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.
8+
# The workflow should not be configured to run after "deletion day" so that users can review the branches were deleted.
9+
# 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.
10+
611
on:
712
schedule:
8-
- cron: "0 */12 * * *"
13+
- cron: "0 9 1,15-31 * *"
914

1015
workflow_dispatch:
1116

@@ -21,6 +26,6 @@ jobs:
2126
"ExampleBranch1",
2227
"ExampleBranch2"
2328
]'
24-
ReportOnly: true
29+
ReportOnly: false
2530
secrets:
2631
AccessToken: ${{ secrets.GITHUB_TOKEN }}

.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-UnifiedGroupLinks.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ This cmdlet is available only in the cloud-based service.
1616

1717
Use the Add-UnifiedGroupLinks cmdlet to add members, owners and subscribers to Microsoft 365 Groups in your cloud-based organization. To remove members, owners, and subscribers, use the Remove-UnifiedGroupLinks cmdlet. To modify other properties of Microsoft 365 Groups, use the Set-UnifiedGroup cmdlet.
1818

19-
**Note**: You can't use this cmdlet to modify Microsoft 365 Group members, owners, or subscribers if you connect using certificate based authentication (also known as CBA or app-only authentication for unattended scripts) or Azure managed identity. You can use Microsoft Graph instead. For more information, see [Group resource type](https://learn.microsoft.com/graph/api/resources/group).
19+
> [!NOTE]
20+
> You can't use this cmdlet to modify Microsoft 365 Group members, owners, or subscribers if you connect using certificate based authentication (also known as CBA or app-only authentication for unattended scripts) or Azure managed identity. You can use Microsoft Graph instead. For more information, see [Group resource type](https://learn.microsoft.com/graph/api/resources/group).
21+
>
22+
> Using this cmdlet, only group members can be owners of the group. Add users as members before you add them as owners. This limitation doesn't apply in web management portals where you can add non-members as group owners. Guest users can never be group owners.
2023
2124
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
2225

@@ -43,7 +46,7 @@ You need to be assigned permissions before you can run this cmdlet. Although thi
4346
Add-UnifiedGroupLinks -Identity "Legal Department" -LinkType Members -Links chris@contoso.com,michelle@contoso.com
4447
```
4548

46-
This example adds members chris@contoso.com and michelle@contoso.com to the Microsoft 365 Group named Legal Department.
49+
This example adds members `chris@contoso.com` and `michelle@contoso.com` to the Microsoft 365 Group named Legal Department.
4750

4851
### Example 2
4952
```powershell
@@ -80,7 +83,7 @@ Accept wildcard characters: False
8083
```
8184
8285
### -Links
83-
The Links parameter specifies the recipients to add to the Microsoft 365 Group. You specify whether these recipients are members, owners or subscribers by using the LinkType parameter.
86+
The Links parameter specifies the recipients to add to the Microsoft 365 Group. You specify whether these recipients are members, owners, or subscribers by using the LinkType parameter.
8487
8588
You can use any value that uniquely identifies the recipient. For example:
8689
@@ -93,7 +96,9 @@ You can use any value that uniquely identifies the recipient. For example:
9396
9497
You can enter multiple values separated by commas. If the values contain spaces or otherwise require quotation marks, use the following syntax: `"Value1","Value2",..."ValueN"`.
9598

96-
You must use this parameter with the LinkType parameter, which means the specified recipients will all receive the same role in the Microsoft 365 Group (you can't add recipients with different roles in the same command).
99+
You must use this parameter with the LinkType parameter, which means the specified recipients receive the same role in the Microsoft 365 Group (you can't add recipients with different roles in the same command).
100+
101+
**Note**: Using this cmdlet, only group members can be owners of the group. Add users as members before you add them as owners. This limitation doesn't apply in web management portals where you can add non-members as group owners. Guest users can never be group owners.
97102

98103
```yaml
99104
Type: RecipientIdParameter[]
@@ -113,11 +118,11 @@ The LinkType parameter specifies the recipient's role in the Microsoft 365 Group
113118

114119
- Members: Participate in conversations, create Teams channels, collaborate on files, and edit the connected SharePoint site.
115120
- Owners: Add or remove members, delete conversations, changes Team settings, delete the Team, and full control of the connected SharePoint site. A group must have at least one owner.
116-
- Subscribers: Members who receive conversation and calendar event notifications from the group. All subscribers are members of the group, but all members aren't necessarily subscribers (depending on the AutoSubscribeNewMembers property value of the group and when the member was added).
121+
- Subscribers: Existing group members who receive conversation and calendar event notifications from the group. All subscribers are members of the group, but all members aren't necessarily subscribers (depending on the AutoSubscribeNewMembers property value of the group and when the member was added).
117122

118-
In PowerShell, any owner or subscriber that you want to add to the group must also be a member.
123+
You must use this parameter with the Links parameter.
119124

120-
You must use this parameter with the LinkType parameter.
125+
**Note**: Using this cmdlet, only group members can be owners of the group. Add users as members before you add them as owners. This limitation doesn't apply in web management portals where you can add non-members as group owners. Guest users can never be group owners.
121126

122127
```yaml
123128
Type: LinkType

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/Connect-IPPSSession.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Connect-IPPSSession
3232
[[-Prefix] <String>]
3333
[[-CommandName] <String[]>]
3434
[[-FormatTypeName] <String[]>]
35+
[-AccessToken <String>]
3536
[-AppId <String>]
3637
[-BypassMailboxAnchoring]
3738
[-Certificate <X509Certificate2>]
@@ -218,6 +219,26 @@ Accept pipeline input: False
218219
Accept wildcard characters: False
219220
```
220221

222+
### -AccessToken
223+
**Note**: This parameter is available in version 3.8.0-Preview1 or later of the module.
224+
225+
The AccessToken parameter specifies the OAuth JSON Web Token (JWT) that's used to connect to Security and Compliance PowerShell.
226+
227+
Depending on the type of access token, you need to use this parameter with the Organization, DelegatedOrganization, or UserPrincipalName parameters.
228+
229+
```yaml
230+
Type: String
231+
Parameter Sets: (All)
232+
Aliases:
233+
Applicable: Exchange Online
234+
235+
Required: False
236+
Position: Named
237+
Default value: None
238+
Accept pipeline input: False
239+
Accept wildcard characters: False
240+
```
241+
221242
### -AppId
222243
The AppId parameter specifies the application ID of the service principal that's used in certificate based authentication (CBA). A valid value is the GUID of the application ID (service principal). For example, `36ee4c6c-0812-40a2-b820-b22ebd02bce3`.
223244

0 commit comments

Comments
 (0)