Skip to content

Commit af9724e

Browse files
committed
merge
2 parents 9065a19 + 45f8b0b commit af9724e

File tree

1,213 files changed

+52069
-10873
lines changed

Some content is hidden

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

1,213 files changed

+52069
-10873
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,11 @@
800800
"redirect_url": "/azure/active-directory/external-identities/external-identities-overview",
801801
"redirect_document_id": false
802802
},
803+
{
804+
"source_path_from_root": "/articles/active-directory/external-identities/o365-external-user.md",
805+
"redirect_url": "/azure/active-directory/external-identities/what-is-b2b",
806+
"redirect_document_id": false
807+
},
803808
{
804809
"source_path_from_root": "/articles/active-directory/active-directory-b2b-current-preview-limitations.md",
805810
"redirect_url": "/azure/active-directory/active-directory-b2b-current-limitations",

.openpublishing.redirection.defender-for-iot.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,17 @@
3030
"redirect_url": "/azure/defender-for-iot/organizations/getting-started",
3131
"redirect_document_id": false
3232
},
33-
{
33+
{
34+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-view-information-provided-in-alerts.md",
35+
"redirect_url": "/azure/defender-for-iot/organizations/how-to-view-alerts",
36+
"redirect_document_id": false
37+
},
38+
{
39+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-work-with-alerts-on-your-sensor.md",
40+
"redirect_url": "/azure/defender-for-iot/organizations/concept-key-concepts#analytics-and-self-learning-engines",
41+
"redirect_document_id": false
42+
},
43+
{
3444
"source_path_from_root": "/azure/defender-for-iot/organizations/quickstart-system-prerequisites.md",
3545
"redirect_url": "/azure/defender-for-iot/organizations/getting-started",
3646
"redirect_document_id": false

.openpublishing.redirection.json

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15901,8 +15901,13 @@
1590115901
},
1590215902
{
1590315903
"source_path_from_root": "/articles/lab-services/devtest-lab-developer-lab.md",
15904-
"redirect_url": "/azure/devtest-labs/devtest-lab-developer-lab",
15905-
"redirect_document_id": true
15904+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
15905+
"redirect_document_id": false
15906+
},
15907+
{
15908+
"source_path_from_root": "/articles/devtest-labs/devtest-lab-developer-lab.md",
15909+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
15910+
"redirect_document_id": false
1590615911
},
1590715912
{
1590815913
"source_path_from_root": "/articles/lab-services/devtest-lab-dev-ops.md",
@@ -16036,13 +16041,23 @@
1603616041
},
1603716042
{
1603816043
"source_path_from_root": "/articles/lab-services/devtest-lab-test-env.md",
16039-
"redirect_url": "/azure/devtest-labs/devtest-lab-test-env",
16040-
"redirect_document_id": true
16044+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
16045+
"redirect_document_id": false
1604116046
},
1604216047
{
1604316048
"source_path_from_root": "/articles/lab-services/devtest-lab-training-lab.md",
16044-
"redirect_url": "/azure/devtest-labs/devtest-lab-training-lab",
16045-
"redirect_document_id": true
16049+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
16050+
"redirect_document_id": false
16051+
},
16052+
{
16053+
"source_path_from_root": "/articles/devtest-labs/devtest-lab-test-env.md",
16054+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
16055+
"redirect_document_id": false
16056+
},
16057+
{
16058+
"source_path_from_root": "/articles/devtest-labs/devtest-lab-training-lab.md",
16059+
"redirect_url": "/azure/devtest-labs/devtest-lab-guidance-get-started",
16060+
"redirect_document_id": false
1604616061
},
1604716062
{
1604816063
"source_path_from_root": "/articles/lab-services/devtest-lab-troubleshoot-apply-artifacts.md",
@@ -22629,6 +22644,11 @@
2262922644
"redirect_url": "/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps",
2263022645
"redirect_document_id": true
2263122646
},
22647+
{
22648+
"source_path_from_root": "/articles/scheduler/scheduler-intro.md",
22649+
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",
22650+
"redirect_document_id": ""
22651+
},
2263222652
{
2263322653
"source_path_from_root": "/articles/scheduler/scheduler-advanced-complexity.md",
2263422654
"redirect_url": "/azure/scheduler/migrate-from-scheduler-to-logic-apps",

CODEOWNERS

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,6 @@ articles/azure-monitor/vm @bwren
2424
articles/advisor @rboucher
2525
articles/service-health @rboucher
2626

27-
28-
# Azure Active Directory
29-
/articles/active-directory-b2c/ @msmimart @yoelhor
30-
/articles/active-directory/app-provisioning/ @CelesteDG
31-
/articles/active-directory/develop/ @mmacy
32-
/articles/active-directory/manage-apps/ @CelesteDG
33-
3427
# Azure Synapse Analytics
3528
/articles/synapse-analytics/ @julieMSFT @ryanmajidi @saveenr
3629
/articles/synapse-analytics/backuprestore/ @joannapea @julieMSFT

articles/active-directory-b2c/faq.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ metadata:
88

99
ms.service: active-directory
1010
ms.workload: identity
11-
ms.topic: conceptual
11+
ms.topic: faq
1212
ms.date: 01/03/2022
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515
ms.custom: "b2c-support"
16-
1716
title: 'Azure AD B2C: Frequently asked questions (FAQ)'
1817
summary: This page answers frequently asked questions about the Azure Active Directory B2C (Azure AD B2C). Keep checking back for updates.
1918

@@ -253,4 +252,4 @@ sections:
253252
- question: |
254253
How do I report issues with Azure AD B2C?
255254
answer: |
256-
See [File support requests for Azure Active Directory B2C](support-options.md).
255+
See [File support requests for Azure Active Directory B2C](support-options.md).

articles/active-directory-domain-services/faqs.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ metadata:
1010
ms.service: active-directory
1111
ms.subservice: domain-services
1212
ms.workload: identity
13-
ms.topic: how-to
13+
ms.topic: faq
1414
ms.date: 02/16/2022
1515
ms.author: justinha
16-
1716
title: Frequently asked questions (FAQs) about Azure Active Directory (AD) Domain Services
1817
summary: This page answers frequently asked questions about Azure Active Directory Domain Services.
1918

articles/active-directory/app-provisioning/functions-for-customizing-application-data.md

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -908,85 +908,85 @@ Replaces values within a string in a case-sensitive manner. The function behaves
908908
#### Replace characters using a regular expression
909909
**Example 1:** Using **oldValue** and **replacementValue** to replace the entire source string with another string.
910910

911-
Lets say your HR system has an attribute `BusinessTitle`. As part of recent job title changes, your company wants to update anyone with the business title Product Developer to Software Engineer.
911+
Let's say your HR system has an attribute `BusinessTitle`. As part of recent job title changes, your company wants to update anyone with the business title "Product Developer" to "Software Engineer".
912912
Then in this case, you can use the following expression in your attribute mapping.
913913

914914
`Replace([BusinessTitle],"Product Developer", , , "Software Engineer", , )`
915915

916916
* **source**: `[BusinessTitle]`
917-
* **oldValue**: Product Developer
918-
* **replacementValue**: Software Engineer
917+
* **oldValue**: "Product Developer"
918+
* **replacementValue**: "Software Engineer"
919919
* **Expression output**: Software Engineer
920920

921921
**Example 2:** Using **oldValue** and **template** to insert the source string into another *templatized* string.
922922

923923
The parameter **oldValue** is a misnomer in this scenario. It is actually the value that will get replaced.
924-
Lets say you want to always generate login id in the format `<username>@contoso.com`. There is a source attribute called **UserID** and you want that value to be used for the `<username>` portion of the login id.
924+
Let's say you want to always generate login id in the format `<username>@contoso.com`. There is a source attribute called **UserID** and you want that value to be used for the `<username>` portion of the login id.
925925
Then in this case, you can use the following expression in your attribute mapping.
926926

927927
`Replace([UserID],"<username>", , , , , "<username>@contoso.com")`
928928

929-
* **source:** `[UserID]` = jsmith
930-
* **oldValue:** `<username>`
931-
* **template:** `<username>@contoso.com`
932-
* **Expression output:** [email protected]
929+
* **source:** `[UserID]` = "jsmith"
930+
* **oldValue:** "`<username>`"
931+
* **template:** "`<username>@contoso.com`"
932+
* **Expression output:** "[email protected]"
933933

934934
**Example 3:** Using **regexPattern** and **replacementValue** to extract a portion of the source string and replace it with an empty string or a custom value built using regex patterns or regex group names.
935935

936-
Lets say you have a source attribute `telephoneNumber` that has components `country code` and `phone number` separated by a space character. E.g. `+91 9998887777`
936+
Let's say you have a source attribute `telephoneNumber` that has components `country code` and `phone number` separated by a space character. E.g. `+91 9998887777`
937937
Then in this case, you can use the following expression in your attribute mapping to extract the 10 digit phone number.
938938

939939
`Replace([telephoneNumber], , "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})", , "${phoneNumber}", , )`
940940

941-
* **source:** `[telephoneNumber]` = +91 9998887777
942-
* **regexPattern:** `\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})`
943-
* **replacementValue:** `${phoneNumber}`
941+
* **source:** `[telephoneNumber]` = "+91 9998887777"
942+
* **regexPattern:** "`\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})`"
943+
* **replacementValue:** "`${phoneNumber}`"
944944
* **Expression output:** 9998887777
945945

946946
You can also use this pattern to remove characters and collapse a string.
947947
For example, the expression below removes parenthesis, dashes and space characters in the mobile number string and returns only digits.
948948

949949
`Replace([mobile], , "[()\\s-]+", , "", , )`
950950

951-
* **source:** `[mobile] = +1 (999) 888-7777`
952-
* **regexPattern:** `[()\\s-]+`
953-
* **replacementValue:** “” (empty string)
951+
* **source:** `[mobile] = "+1 (999) 888-7777"`
952+
* **regexPattern:** "`[()\\s-]+`"
953+
* **replacementValue:** "" (empty string)
954954
* **Expression output:** 19998887777
955955

956956
**Example 4:** Using **regexPattern**, **regexGroupName** and **replacementValue** to extract a portion of the source string and replace it with another literal value or empty string.
957957

958-
Lets say your source system has an attribute AddressLineData with two components street number and street name. As part of a recent move, lets say the street number of the address changed and you want to update only the street number portion of the address line.
959-
Then in this case, you can use the following expression in your attribute mapping to extract the 10 digit phone number.
958+
Let's say your source system has an attribute AddressLineData with two components street number and street name. As part of a recent move, let's say the street number of the address changed and you want to update only the street number portion of the address line.
959+
Then in this case, you can use the following expression in your attribute mapping to extract the street number.
960960

961961
`Replace([AddressLineData], ,"(?<streetNumber>^\\d*)","streetNumber", "888", , )`
962962

963-
* **source:** `[AddressLineData]` = 545 Tremont Street
964-
* **regexPattern:** `(?<streetNumber>^\\d*)`
965-
* **regexGroupName:** streetNumber
966-
* **replacementValue:** 888
963+
* **source:** `[AddressLineData]` = "545 Tremont Street"
964+
* **regexPattern:** "`(?<streetNumber>^\\d*)`"
965+
* **regexGroupName:** "streetNumber"
966+
* **replacementValue:** "888"
967967
* **Expression output:** 888 Tremont Street
968968

969969
Here is another example where the domain suffix from a UPN is replaced with an empty string to generate login id without domain suffix.
970970

971971
`Replace([userPrincipalName], , "(?<Suffix>@(.)*)", "Suffix", "", , )`
972972

973-
* **source:** `[userPrincipalName]` = [email protected]
974-
* **regexPattern:** `(?<Suffix>@(.)*)`
975-
* **regexGroupName:** Suffix
976-
* **replacementValue:** “” (empty string)
973+
* **source:** `[userPrincipalName]` = "[email protected]"
974+
* **regexPattern:** "`(?<Suffix>@(.)*)`"
975+
* **regexGroupName:** "Suffix"
976+
* **replacementValue:** "" (empty string)
977977
* **Expression output:** jsmith
978978

979-
**Example 5:** Using **regexPattern**, **regexGroupName** and **replacementAttributeName** to handle scenarios when the source attribute is empty or doesnt have a value.
979+
**Example 5:** Using **regexPattern**, **regexGroupName** and **replacementAttributeName** to handle scenarios when the source attribute is empty or doesn't have a value.
980980

981-
Lets say your source system has an attribute telephoneNumber. If telephoneNumber is empty, you want to extract the 10 digits of the mobile number attribute.
981+
Let's say your source system has an attribute telephoneNumber. If telephoneNumber is empty, you want to extract the 10 digits of the mobile number attribute.
982982
Then in this case, you can use the following expression in your attribute mapping.
983983

984984
`Replace([telephoneNumber], , "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})", "phoneNumber" , , [mobile], )`
985985

986-
* **source:** `[telephoneNumber]` = “” (empty string)
987-
* **regexPattern:** `\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})`
988-
* **regexGroupName:** phoneNumber
989-
* **replacementAttributeName:** `[mobile]` = +91 8887779999
986+
* **source:** `[telephoneNumber]` = "" (empty string)
987+
* **regexPattern:** "`\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})`"
988+
* **regexGroupName:** "phoneNumber"
989+
* **replacementAttributeName:** `[mobile]` = "+91 8887779999"
990990
* **Expression output:** 8887779999
991991

992992
**Example 6:** You need to find characters that match a regular expression value and remove them.
@@ -1106,6 +1106,10 @@ Switch(source, defaultValue, key1, value1, key2, value2, …)
11061106
**Description:**
11071107
When **source** value matches a **key**, returns **value** for that **key**. If **source** value doesn't match any keys, returns **defaultValue**. **Key** and **value** parameters must always come in pairs. The function always expects an even number of parameters. The function should not be used for referential attributes such as manager.
11081108

1109+
> [!NOTE]
1110+
> Switch function performs a case-sensitive string comparison of the **source** and **key** values. If you'd like to perform a case-insensitive comparison, normalize the **source** string before comparison using a nested ToLower function and ensure that all **key** strings use lowercase.
1111+
> Example: `Switch(ToLower([statusFlag]), "0", "true", "1", "false", "0")`. In this example, the **source** attribute `statusFlag` may have values ("True" / "true" / "TRUE"). However, the Switch function will always convert it to lowercase string "true" before comparison with **key** parameters.
1112+
11091113
**Parameters:**
11101114

11111115
| Name | Required/ Repeating | Type | Notes |

articles/active-directory/app-proxy/application-proxy-faq.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@ metadata:
88
ms.service: active-directory
99
ms.subservice: app-proxy
1010
ms.workload: identity
11-
ms.topic: reference
11+
ms.topic: faq
1212
ms.date: 01/10/2022
1313
ms.author: kenwith
1414
ms.reviewer: ashishj
15-
1615
title: Active Directory (Azure AD) Application Proxy frequently asked questions
1716
summary: This page answers frequently asked questions about Azure Active Directory (Azure AD) Application Proxy.
1817

articles/active-directory/authentication/active-directory-passwords-faq.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ metadata:
66
services: active-directory
77
ms.service: active-directory
88
ms.subservice: authentication
9-
ms.topic: how-to
9+
ms.topic: faq
1010
ms.date: 08/13/2021
1111
ms.author: justinha
1212
author: justinha
1313
manager: karenhoran
1414
ms.reviewer: rhicock
1515
ms.collection: M365-identity-device-management
16-
1716
title: Self-service password reset frequently asked questions
1817
summary: |
1918
The following are some frequently asked questions (FAQ) for all things related to self-service password reset.

articles/active-directory/authentication/certificate-based-authentication-faq.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ metadata:
66
services: multi-factor-authentication
77
ms.service: active-directory
88
ms.subservice: authentication
9-
ms.topic: how-to
9+
ms.topic: faq
1010
ms.date: 02/09/2022
1111
ms.author: justinha
1212
author: vimrang
1313
manager: karenhoran
1414
ms.reviewer: vimrang
1515
ms.collection: M365-identity-device-management
16-
1716
title: Frequently asked questions about Azure AD certificate-based authentication (CBA)
1817
summary: |
1918
This article addresses frequently asked questions about how Azure AD certificate-based authentication (CBA) works.
@@ -97,4 +96,4 @@ additionalContent: |
9796
* [Technical deep dive for Azure AD CBA](concept-certificate-based-authentication-technical-deep-dive.md)
9897
* [Limitations with Azure AD CBA](concept-certificate-based-authentication-limitations.md)
9998
* [How to configure Azure AD CBA](how-to-certificate-based-authentication.md)
100-
* [Troubleshoot Azure AD CBA](troubleshoot-certificate-based-authentication.md)
99+
* [Troubleshoot Azure AD CBA](troubleshoot-certificate-based-authentication.md)

0 commit comments

Comments
 (0)