Skip to content

Commit 987565c

Browse files
authored
Merge pull request #212041 from MicrosoftDocs/main
9/21 AM Publish
2 parents bcd38e2 + 017b39b commit 987565c

File tree

31 files changed

+424
-64
lines changed

31 files changed

+424
-64
lines changed

articles/active-directory/enterprise-users/licensing-service-plan-reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.service: active-directory
1313
ms.subservice: enterprise-users
1414
ms.topic: reference
1515
ms.workload: identity
16-
ms.date: 09/19/2022
16+
ms.date: 09/21/2022
1717
ms.author: nicholak
1818
ms.reviewer: Nicholak-MS
1919
ms.custom: "it-pro;seo-update-azuread-jan"
@@ -32,7 +32,7 @@ When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
3232
- **Service plans included (friendly names)**: A list of service plans (friendly names) in the product that correspond to the string ID and GUID
3333

3434
>[!NOTE]
35-
>This information last updated on September 19th, 2022.<br/>You can also download a CSV version of this table [here](https://download.microsoft.com/download/e/3/e/e3e9faf2-f28b-490a-9ada-c6089a1fc5b0/Product%20names%20and%20service%20plan%20identifiers%20for%20licensing.csv).
35+
>This information last updated on September 21st, 2022.<br/>You can also download a CSV version of this table [here](https://download.microsoft.com/download/e/3/e/e3e9faf2-f28b-490a-9ada-c6089a1fc5b0/Product%20names%20and%20service%20plan%20identifiers%20for%20licensing.csv).
3636
><br/>
3737
3838
| Product name | String ID | GUID | Service plans included | Service plans included (friendly names) |

articles/active-directory/governance/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@
245245
href: workflows-faqs.md
246246
- name: Developer API reference Lifecycle Workflows- Azure Active Directory
247247
href: lifecycle-workflows-developer-reference.md
248+
- name: Set employeeLeaveDateTime for leaver workflows
249+
href: set-employee-leave-date-time.md
248250
- name: Preparing user accounts for Lifecycle workflows tutorials (Preview)
249251
href: tutorial-prepare-azure-ad-user-accounts.md
250252
- name: Configure a Logic App for Lifecycle Workflow use (Preview)

articles/active-directory/governance/how-to-lifecycle-workflow-sync-attributes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ The following table shows the scheduling (trigger) relevant attributes and the m
2323
|Attribute|Type|Supported in HR Inbound Provisioning|Support in Azure AD Connect Cloud Sync|Support in Azure AD Connect Sync|
2424
|-----|-----|-----|-----|-----|
2525
|employeeHireDate|DateTimeOffset|Yes|Yes|Yes|
26-
|employeeLeaveDateTime|DateTimeOffset|Not currently(manually setting supported)|Not currently(manually setting supported)|Not currently(manually setting supported)|
26+
|employeeLeaveDateTime|DateTimeOffset|Yes|Not currently|Not currently|
2727

2828
> [!NOTE]
29-
> Currently, automatic synchronization of the employeeLeaveDateTime attribute for HR Inbound scenarios is not available. To take advantaged of leaver scenarios, you can set the employeeLeaveDateTime manually. Manually setting the attribute can be done in the portal or with Graph. For more information see [User profile in Azure](../fundamentals/active-directory-users-profile-azure-portal.md) and [Update user](/graph/api/user-update?view=graph-rest-beta&tabs=http).
29+
> To take advantaged of leaver scenarios, you can set the employeeLeaveDateTime manually for cloud-only users. For more information, see: [Set employeeLeaveDateTime](set-employee-leave-date-time.md)
3030
3131
This document explains how to set up synchronization from on-premises Azure AD Connect cloud sync and Azure AD Connect for the required attributes.
3232

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Set employeeLeaveDateTime
3+
description: Explains how to manually set employeeLeaveDateTime.
4+
author: owinfreyATL
5+
ms.author: owinfrey
6+
ms.service: active-directory
7+
ms.topic: how-to
8+
ms.date: 09/07/2022
9+
ms.custom: template-how-to
10+
---
11+
12+
# Set employeeLeaveDateTime
13+
14+
This article describes how to manually set the employeeLeaveDateTime attribute for a user. This attribute can be set as a trigger for leaver workflows created using Lifecycle Workflows.
15+
16+
## Required permission and roles
17+
18+
To set the employeeLeaveDateTime attribute, you must make sure the correct delegated roles and application permissions are set. They are as follows:
19+
20+
### Delegated
21+
22+
In delegated scenarios, the signed-in user needs the Global Administrator role to update the employeeLeaveDateTime attribute. One of the following delegated permissions is also required:
23+
- User-LifeCycleInfo.ReadWrite.All
24+
- Directory.AccessAsUser.All
25+
26+
### Application
27+
28+
Updating the employeeLeaveDateTime requires the User-LifeCycleInfo.ReadWrite.All application permission.
29+
30+
>[!NOTE]
31+
> The User-LifeCycleInfo.ReadWrite.All permissions is currently hidden and cannot be configured in Graph Explorer or the API permission blade of app registrations.
32+
33+
## Set employeeLeaveDateTime via PowerShell
34+
To set the employeeLeaveDateTime for a user using PowerShell enter the following information:
35+
36+
```powershell
37+
Connect-MgGraph -Scopes "User-LifeCycleInfo.ReadWrite.All"
38+
Select-MgProfile -Name "beta"
39+
40+
$UserId = "<Object ID of the user>"
41+
$employeeLeaveDateTime = "<Leave date>"
42+
43+
$Body = '{"employeeLeaveDateTime": "' + $employeeLeaveDateTime + '"}'
44+
Update-MgUser -UserId $UserId -BodyParameter $Body
45+
46+
$User = Get-MgUser -UserId $UserId -Property employeeLeaveDateTime
47+
$User.AdditionalProperties
48+
```
49+
50+
This script is an example of a user who will leave on September 30, 2022 at 23:59.
51+
52+
```powershell
53+
Connect-MgGraph -Scopes "User-LifeCycleInfo.ReadWrite.All"
54+
Select-MgProfile -Name "beta"
55+
56+
$UserId = "528492ea-779a-4b59-b9a3-b3773ef6da6d"
57+
$employeeLeaveDateTime = "2022-09-30T23:59:59Z"
58+
59+
$Body = '{"employeeLeaveDateTime": "' + $employeeLeaveDateTime + '"}'
60+
Update-MgUser -UserId $UserId -BodyParameter $Body
61+
62+
$User = Get-MgUser -UserId $UserId -Property employeeLeaveDateTime
63+
$User.AdditionalProperties
64+
```
65+
66+
67+
## Next steps
68+
69+
- [How to synchronize attributes for Lifecycle workflows](how-to-lifecycle-workflow-sync-attributes.md)
70+
- [Lifecycle Workflows templates](lifecycle-workflow-templates.md)

articles/active-directory/hybrid/reference-connect-sync-attributes-synchronized.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ Device objects are created in Active Directory. These objects can be devices joi
461461

462462
## Notes
463463
* When using an Alternate ID, the on-premises attribute userPrincipalName is synchronized with the Azure AD attribute onPremisesUserPrincipalName. The Alternate ID attribute, for example mail, is synchronized with the Azure AD attribute userPrincipalName.
464+
* Although there is no enforcement of uniqueness on the Azure AD onPremisesUserPrincipalName attribute, it is not supported to sync the same UserPrincipalName value to the Azure AD onPremisesUserPrincipalName attribute for multiple different Azure AD users.
464465
* In the lists above, the object type **User** also applies to the object type **iNetOrgPerson**.
465466

466467
## Next steps

articles/azure-app-configuration/howto-best-practices.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ editor: ''
99
ms.assetid:
1010
ms.service: azure-app-configuration
1111
ms.topic: conceptual
12-
ms.date: 05/02/2019
12+
ms.date: 09/21/2022
1313
ms.author: malev
1414
ms.custom: "devx-track-csharp, mvc"
1515
---
@@ -55,7 +55,7 @@ configBuilder.AddAzureAppConfiguration(options => {
5555

5656
## References to external data
5757

58-
App Configuration is designed to store any configuration data that you would normally save in configuration files or environment variables. However, some types of data may better suited to reside in other sources. For example, store secrets in Key Vault, files in Azure Storage, membership information in Azure AD groups, or customer lists in a database.
58+
App Configuration is designed to store any configuration data that you would normally save in configuration files or environment variables. However, some types of data may be better suited to reside in other sources. For example, store secrets in Key Vault, files in Azure Storage, membership information in Azure AD groups, or customer lists in a database.
5959

6060
You can still take advantage of App Configuration by saving a reference to external data in a key-value. You can [use content type](./concept-key-value.md#use-content-type) to differentiate each data source. When your application reads a reference, it loads the actual data from the referenced source, assuming it has the necessary permission to the source. If you change the location of your external data, you only need to update the reference in App Configuration instead of updating and redeploying your entire application.
6161

articles/azure-arc/data/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,5 +284,5 @@ items:
284284
href: preview-testing.md
285285
- name: Support policy
286286
href: support-policy.md
287-
- name: Automated integration testing
287+
- name: Automated validation testing
288288
href: automated-integration-testing.md

articles/azure-fluid-relay/how-tos/container-recovery.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ Fluid framework periodically saves state, called summary, without any explicit b
2020

2121
We've added following methods to AzureClient that will enable developers to recover data from corrupted containers.
2222

23-
[`getContainerVersions(ID, options)`](https://fluidframework.com/docs/apis/azure-client/azureclient#getcontainerversions-Method)
23+
[`getContainerVersions(ID, options)`](https://fluidframework.com/docs/apis/azure-client/azureclient-class#getcontainerversions-method)
2424

2525
`getContainerVersions` allows developers to view the previously generated versions of the container.
2626

27-
[`copyContainer(ID, containerSchema)`](https://fluidframework.com/docs/apis/azure-client/azureclient#copycontainer-Method)
27+
[`copyContainer(ID, containerSchema)`](https://fluidframework.com/docs/apis/azure-client/azureclient-class#copycontainer-method)
2828

2929
`copyContainer` allows developers to generate a new detached container from a specific version of another container.
3030

articles/azure-fluid-relay/how-tos/test-automation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ fluid.url: https://fluidframework.com/docs/testing/testing/
1414

1515
Testing and automation are crucial to maintaining the quality and longevity of your code. Internally, Fluid uses a range of unit and integration tests powered by [Mocha](https://mochajs.org/), [Jest](https://jestjs.io/), [Puppeteer](https://github.com/puppeteer/puppeteer), and [Webpack](https://webpack.js.org/).
1616

17-
You can run tests using the local [@fluidframework/azure-local-service](https://www.npmjs.com/package/@fluidframework/azure-local-service) or using a test tenant in Azure Fluid Relay service. [AzureClient](https://fluidframework.com/docs/apis/azure-client/azureclient) can be configured to connect to both a remote service and a local service, which enables you to use a single client type between tests against live and local service instances. The only difference is the configuration used to create the client.
17+
You can run tests using the local [@fluidframework/azure-local-service](https://www.npmjs.com/package/@fluidframework/azure-local-service) or using a test tenant in Azure Fluid Relay service. [AzureClient](https://fluidframework.com/docs/apis/azure-client/azureclient-class) can be configured to connect to both a remote service and a local service, which enables you to use a single client type between tests against live and local service instances. The only difference is the configuration used to create the client.
1818

1919
## Automation against Azure Fluid Relay
2020

articles/azure-fluid-relay/how-tos/validate-document-creator.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ fluid.url: https://fluidframework.com/docs/apis/azure-client/itokenprovider/
1212

1313
# How to: Validate a User Created a Document
1414

15-
When you create a document in Azure Fluid Relay, the JWT provided by the [ITokenProvider](https://fluidframework.com/docs/apis/azure-client/itokenprovider/) for the creation request can only be used once. After creating a document, the client must generate a new JWT that contains the document ID provided by the service at creation time. If an application has an authorization service that manages document access control, it will need to know who created a document with a given ID in order to authorize the generation of a new JWT for access to that document.
15+
When you create a document in Azure Fluid Relay, the JWT provided by the [ITokenProvider](https://fluidframework.com/docs/apis/azure-client/itokenprovider-interface) for the creation request can only be used once. After creating a document, the client must generate a new JWT that contains the document ID provided by the service at creation time. If an application has an authorization service that manages document access control, it will need to know who created a document with a given ID in order to authorize the generation of a new JWT for access to that document.
1616

1717
## Inform an Authorization Service when a document is Created
1818

19-
An application can tie into the document creation lifecycle by implementing a public [documentPostCreateCallback()](https://fluidframework.com/docs/apis/azure-client/itokenprovider#documentpostcreatecallback-MethodSignature) method in its `TokenProvider`. This callback will be triggered directly after creating the document, before a client requests the new JWT it needs to gain read/write permissions to the document that was created.
19+
An application can tie into the document creation lifecycle by implementing a public [documentPostCreateCallback()](https://fluidframework.com/docs/apis/azure-client/itokenprovider-interface#documentpostcreatecallback-methodsignature) method in its `TokenProvider`. This callback will be triggered directly after creating the document, before a client requests the new JWT it needs to gain read/write permissions to the document that was created.
2020

2121
The `documentPostCreateCallback()` receives two parameters: 1) the ID of the document that was created and 2) a JWT signed by the service with no permission scopes. The authorization service can verify the given JWT and use the information in the JWT to grant the correct user permissions for the newly created document.
2222

@@ -107,7 +107,7 @@ export default httpTrigger;
107107

108108
### Implement the `documentPostCreateCallback`
109109

110-
This example implementation below extends the [AzureFunctionTokenProvider](https://fluidframework.com/docs/apis/azure-client/azurefunctiontokenprovider/) and uses the [axios](https://www.npmjs.com/package/axios) library to make a HTTP request to the Azure Function used for generating tokens.
110+
This example implementation below extends the [AzureFunctionTokenProvider](https://fluidframework.com/docs/apis/azure-client/azurefunctiontokenprovider-class) and uses the [axios](https://www.npmjs.com/package/axios) library to make a HTTP request to the Azure Function used for generating tokens.
111111

112112
```typescript
113113
import { AzureFunctionTokenProvider, AzureMember } from "@fluidframework/azure-client";

0 commit comments

Comments
 (0)