Skip to content

Commit 8dc4821

Browse files
authored
Merge pull request #115731 from BethWilke/branch171
Fixing 1716590, 1716594, 1717916
2 parents 8fad1f3 + 93037c5 commit 8dc4821

File tree

69 files changed

+382
-458
lines changed

Some content is hidden

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

69 files changed

+382
-458
lines changed

articles/automation/automation-alert-metric.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,4 @@ Once the metric is no longer outside of the threshold defined, the alert is deac
7171

7272
## Next steps
7373

74-
Continue to the following article to learn about other ways that you can integrate alertings into your Automation account.
75-
76-
> [!div class="nextstepaction"]
77-
> [Use an alert to trigger an Azure Automation runbook](automation-create-alert-triggered-runbook.md)
74+
* [Use an alert to trigger an Azure Automation runbook](automation-create-alert-triggered-runbook.md)

articles/automation/automation-child-runbooks.md

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
---
2-
title: Child runbooks in Azure Automation
3-
description: Describes the different methods for starting a runbook in Azure Automation from another runbook and sharing information between them.
2+
title: Create modular runbooks in Azure Automation
3+
description: This article tells how to create a runbook that is called by another runbook.
44
services: automation
55
ms.subservice: process-automation
66
ms.date: 01/17/2019
77
ms.topic: conceptual
88
---
9-
# Child runbooks in Azure Automation
9+
# Create modular runbooks
1010

11-
It is a recommended practice in Azure Automation to write reusable, modular runbooks with a discrete function that is called by other runbooks. A parent runbook often calls one or more child runbooks to perform required functionality. There are two ways to call a child runbook, and there are distinct differences that you should understand to be able to determine which is best for your scenarios.
11+
It is a recommended practice in Azure Automation to write reusable, modular runbooks with a discrete function that is called by other runbooks. A parent runbook often calls one or more child runbooks to perform required functionality.
1212

13-
## Invoking a child runbook using inline execution
13+
There are two ways to call a child runbook, and there are distinct differences that you should understand to be able to determine which is best for your scenarios. The following table summarizes the differences between the two ways to call one runbook from another.
14+
15+
| | Inline | Cmdlet |
16+
|:--- |:--- |:--- |
17+
| Job |Child runbooks run in the same job as the parent. |A separate job is created for the child runbook. |
18+
| Execution |Parent runbook waits for the child runbook to complete before continuing. |Parent runbook continues immediately after child runbook is started *or* parent runbook waits for the child job to finish. |
19+
| Output |Parent runbook can directly get output from child runbook. |Parent runbook must retrieve output from child runbook job *or* parent runbook can directly get output from child runbook. |
20+
| Parameters |Values for the child runbook parameters are specified separately and can use any data type. |Values for the child runbook parameters have to be combined into a single hashtable. This hashtable can only include simple, array, and object data types that use JSON serialization. |
21+
| Automation Account |Parent runbook can only use child runbook in the same Automation account. |Parent runbooks can use a child runbook from any Automation account, from the same Azure subscription, and even from a different subscription to which you have a connection. |
22+
| Publishing |Child runbook must be published before parent runbook is published. |Child runbook is published any time before parent runbook is started. |
23+
24+
## Invoke a child runbook using inline execution
1425

1526
To invoke a runbook inline from another runbook, use the name of the runbook and provide values for its parameters, just like you would use an activity or a cmdlet. All runbooks in the same Automation account are available to all others to be used in this manner. The parent runbook waits for the child runbook to complete before moving to the next line, and any output returns directly to the parent.
1627

@@ -50,14 +61,14 @@ $vm = Get-AzVM –ResourceGroupName "LabRG" –Name "MyVM"
5061
$output = .\PS-ChildRunbook.ps1 –VM $vm –RepeatCount 2 –Restart $true
5162
```
5263

53-
## Starting a child runbook using a cmdlet
64+
## Start a child runbook using a cmdlet
5465

5566
> [!IMPORTANT]
5667
> If your runbook invokes a child runbook with the `Start-AzAutomationRunbook` cmdlet with the `Wait` parameter and the child runbook produces an object result, the operation might encounter an error. To work around the error, see [Child runbooks with object output](troubleshoot/runbooks.md#child-runbook-object) to learn how to implement the logic to poll for the results using the [Get-AzAutomationJobOutputRecord](/powershell/module/az.automation/get-azautomationjoboutputrecord) cmdlet.
5768
5869
You can use `Start-AzAutomationRunbook` to start a runbook as described in [To start a runbook with Windows PowerShell](start-runbooks.md#start-a-runbook-with-powershell). There are two modes of use for this cmdlet. In one mode, the cmdlet returns the job ID when the job is created for the child runbook. In the other mode, which your script enables by specifying the *Wait* parameter, the cmdlet waits until the child job finishes and returns the output from the child runbook.
5970

60-
The job from a child runbook started with a cmdlet runs separately from the parent runbook job. This behavior results in more jobs than starting the runbook inline, and makes the jobs more difficult to track. The parent can start more than one child runbook asynchronously without waiting for each to complete. For this parallel execution calling the child runbooks inline, the parent runbook must use the [parallel keyword](automation-powershell-workflow.md#parallel-processing).
71+
The job from a child runbook started with a cmdlet runs separately from the parent runbook job. This behavior results in more jobs than starting the runbook inline, and makes the jobs more difficult to track. The parent can start more than one child runbook asynchronously without waiting for each to complete. For this parallel execution calling the child runbooks inline, the parent runbook must use the [parallel keyword](automation-powershell-workflow.md#use-parallel-processing).
6172

6273
Child runbook output does not return to the parent runbook reliably because of timing. In addition, variables such as `$VerbosePreference`, `$WarningPreference`, and others might not be propagated to the child runbooks. To avoid these issues, you can start the child runbooks as separate Automation jobs using `Start-AzAutomationRunbook` with the `Wait` parameter. This technique blocks the parent runbook until the child runbook is complete.
6374

@@ -98,19 +109,6 @@ Start-AzAutomationRunbook `
98109
–Parameters $params –Wait
99110
```
100111

101-
## Comparison of methods for calling a child runbook
102-
103-
The following table summarizes the differences between the two ways to call a runbook from another runbook.
104-
105-
| | Inline | Cmdlet |
106-
|:--- |:--- |:--- |
107-
| Job |Child runbooks run in the same job as the parent. |A separate job is created for the child runbook. |
108-
| Execution |Parent runbook waits for the child runbook to complete before continuing. |Parent runbook continues immediately after child runbook is started *or* parent runbook waits for the child job to finish. |
109-
| Output |Parent runbook can directly get output from child runbook. |Parent runbook must retrieve output from child runbook job *or* parent runbook can directly get output from child runbook. |
110-
| Parameters |Values for the child runbook parameters are specified separately and can use any data type. |Values for the child runbook parameters have to be combined into a single hashtable. This hashtable can only include simple, array, and object data types that use JSON serialization. |
111-
| Automation Account |Parent runbook can only use child runbook in the same Automation account. |Parent runbooks can use a child runbook from any Automation account, from the same Azure subscription, and even from a different subscription to which you have a connection. |
112-
| Publishing |Child runbook must be published before parent runbook is published. |Child runbook is published any time before parent runbook is started. |
113-
114112
## Next steps
115113

116114
* [Starting a runbook in Azure Automation](start-runbooks.md)
Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
---
22
title: Authenticate Azure Automation runbooks with Amazon Web Services
3-
description: This article describes how to create and validate an AWS credential for runbooks in Azure Automation managing AWS resources.
3+
description: This article tells how to authenticate runbooks with Amazon Web Services.
44
keywords: aws authentication, configure aws
55
services: automation
66
ms.subservice: process-automation
77
ms.date: 04/23/2020
88
ms.topic: conceptual
99
---
10-
# Authenticate Azure Automation runbooks with Amazon Web Services
10+
# Authenticate runbooks with Amazon Web Services
1111

12-
Automating common tasks with resources in Amazon Web Services (AWS) can be accomplished with Automation runbooks in Azure. You can automate many tasks in AWS using Automation runbooks just like you can with resources in Azure. All that is required are two things:
12+
Automating common tasks with resources in Amazon Web Services (AWS) can be accomplished with Automation runbooks in Azure. You can automate many tasks in AWS using Automation runbooks just like you can with resources in Azure. For authentication, you must have an Azure subscription.
1313

14-
* An AWS subscription and a set of credentials. Specifically your AWS Access Key and Secret Key. For more information, review the article [Using AWS Credentials](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html).
15-
* An Azure subscription and Automation account.
14+
## Obtain AWS subscription and credentials
1615

17-
To authenticate with AWS, you must specify a set of AWS credentials to authenticate your runbooks running from Azure Automation. If you already have an Automation account created and you want to use that to authenticate with AWS, you can follow the steps in the following section. If you want to dedicate an account for runbooks targeting AWS resources, you should first create a new [Automation account](automation-create-standalone-account.md) and skip the step to create a Run As account. After creating the account, follow the steps below to complete the configuration.
16+
To authenticate with AWS, you must obtain an AWS subscription and specify a set of AWS credentials to authenticate your runbooks running from Azure Automation. Specific credentials required are the AWS Access Key and Secret Key. See [Using AWS Credentials](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html).
1817

1918
## Configure Automation account
2019

21-
For Azure Automation to communicate with AWS, you first need to retrieve your AWS credentials and store them as assets in Azure Automation. Perform the following steps documented in the AWS document [Managing Access Keys for your AWS Account](https://docs.aws.amazon.com/general/latest/gr/managing-aws-access-keys.html) to create an Access Key and copy the **Access Key ID** and **Secret Access Key** (optionally download your key file to store it somewhere safe).
20+
You can use an existing Automation account to authenticate with AWS. Alternatively, you can dedicate an account for runbooks targeting AWS resources. In this case, create a new [Automation account](automation-create-standalone-account.md).
2221

23-
After you have created and copied your AWS security keys, you need to create a Credential asset with an Azure Automation account to securely store them and reference them with your runbooks. Follow the steps in the section: **To create a new credential** in the [Credential assets in Azure Automation](shared-resources/credentials.md#create-a-new-credential-asset-with-the-azure-portal) article and enter the following information:
22+
## Store AWS credentials
2423

25-
1. In the **Name** box, enter **AWScred** or an appropriate value following your naming standards.
26-
2. In the **User name** box, type your **Access ID** and your **Secret Access Key** in the **Password** and **Confirm password** box.
24+
You must store the AWS credentials as assets in Azure Automation. See [Managing Access Keys for your AWS Account](https://docs.aws.amazon.com/general/latest/gr/managing-aws-access-keys.html) for instructions on creating the Access Key and the Secret Key. When the keys are available, copy the Access Key ID and the Secret Key ID in a safe place. You can download your key file to store it somewhere safe.
25+
26+
## Create credential asset
27+
28+
After you have created and copied your AWS security keys, you must create a Credential asset with the Automation account. The asset allows you to securely store the AWS keys and reference them in your runbooks. See [Create a new credential asset with the Azure portal](shared-resources/credentials.md#create-a-new-credential-asset-with-the-azure-portal). Enter the following AWS information in the fields provided:
29+
30+
* **Name** - **AWScred**, or an appropriate value following your naming standards
31+
* **User name** - Your access ID
32+
* **Password** - Name of your Secret Key
2733

2834
## Next steps
2935

30-
* Review [Automating deployment of a VM in Amazon Web Services](automation-scenario-aws-deployment.md) to learn how to create runbooks to automate tasks in AWS.
36+
* [Automate deployment of a VM in Amazon Web Services](automation-scenario-aws-deployment.md)
Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
title: Configure Windows Update settings to work with Azure Update Management
3-
description: This article describes the Windows Update settings that you configure to work with Azure Update Management.
2+
title: Configure Windows Update settings for Azure Automation Update Management
3+
description: This article tells how to configure Windows Update settings to work with Azure Automation Update Management.
44
services: automation
55
ms.subservice: update-management
66
ms.date: 05/04/2020
77
ms.topic: conceptual
88
---
9-
# Configure Windows Update settings for Update Management
9+
# Configure Windows Update settings for Azure Automation Update Management
1010

11-
Azure Update Management relies on [Windows Update client](https://docs.microsoft.com//windows/deployment/update/windows-update-overview) to download and install Windows updates. There are specific settings that are used by the Windows Update client when connecting to Windows Server Update Services (WSUS) or Windows Update. Many of these settings can be managed with:
11+
Azure Automation Update Management relies on the [Windows Update client](https://docs.microsoft.com//windows/deployment/update/windows-update-overview) to download and install Windows updates. There are specific settings that are used by the Windows Update client when connecting to Windows Server Update Services (WSUS) or Windows Update. Many of these settings can be managed with:
1212

1313
- Local Group Policy Editor
1414
- Group Policy
@@ -21,9 +21,9 @@ For additional recommendations on setting up WSUS in your Azure subscription and
2121

2222
## Pre-download updates
2323

24-
To configure automatic downloading of updates but don't automatically install them, you can use Group Policy to set the [Configure Automatic Updates setting](/windows-server/administration/windows-server-update-services/deploy/4-configure-group-policy-settings-for-automatic-updates##configure-automatic-updates) to **3**. This setting enables downloads of the required updates in the background, and notifies you that the updates are ready to install. In this way, Update Management remains in control of schedules, but updates can be downloaded outside the Update Management maintenance window. This behavior prevents **Maintenance window exceeded** errors in Update Management.
24+
To configure the automatic downloading of updates without automatically installing them, you can use Group Policy to [configure the Automatic Updates setting](/windows-server/administration/windows-server-update-services/deploy/4-configure-group-policy-settings-for-automatic-updates##configure-automatic-updates) to 3. This setting enables downloads of the required updates in the background, and notifies you that the updates are ready to install. In this way, Update Management remains in control of schedules, but allows downloading of updates outside the Update Management maintenance window. This behavior prevents `Maintenance window exceeded` errors in Update Management.
2525

26-
You can enable this setting setting using PowerShell, by running the following command:
26+
You can enable this setting in PowerShell:
2727

2828
```powershell
2929
$WUSettings = (New-Object -com "Microsoft.Update.AutoUpdate").Settings
@@ -37,9 +37,9 @@ The registry keys listed in [Configuring Automatic Updates by editing the regist
3737

3838
## Enable updates for other Microsoft products
3939

40-
By default, Windows Update client is configured to provide updates only for Windows. If you enable the **Give me updates for other Microsoft products when I update Windows** setting, you also receive updates for other products, including security patches for Microsoft SQL Server and other Microsoft software. This option can be configured if you have downloaded and copied the latest [Administrative template files](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) available for Windows 2016 and higher.
40+
By default, the Windows Update client is configured to provide updates only for Windows. If you enable the **Give me updates for other Microsoft products when I update Windows** setting, you also receive updates for other products, including security patches for Microsoft SQL Server and other Microsoft software. You can configure this option if you have downloaded and copied the latest [Administrative template files](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) available for Windows 2016 and later.
4141

42-
If you are running Windows Server 2012 R2, this setting cannot be configured by Group Policy. Run the following PowerShell command on those machines. Update Management complies with this setting.
42+
If you have machines running Windows Server 2012 R2, you can't configure this setting through Group Policy. Run the following PowerShell command on these machines:
4343

4444
```powershell
4545
$ServiceManager = (New-Object -com "Microsoft.Update.ServiceManager")
@@ -48,16 +48,12 @@ $ServiceID = "7971f918-a847-4430-9279-4a52d1efe18d"
4848
$ServiceManager.AddService2($ServiceId,7,"")
4949
```
5050

51-
## WSUS configuration settings
51+
## Make WSUS configuration settings
5252

53-
Update Management supports WSUS settings. The WSUS settings you can configure for working with Update Management are listed below.
53+
Update Management supports WSUS settings. You can specify sources for scanning and downloading updates using instructions in [Specify intranet Microsoft Update service location](/windows/deployment/update/waas-wu-settings#specify-intranet-microsoft-update-service-location). By default, the Windows Update client is configured to download updates from Windows Update. When you specify a WSUS server as a source for your machines, if the updates aren't approved in WSUS, update deployment fails.
5454

55-
### Intranet Microsoft update service location
56-
57-
You can specify sources for scanning and downloading updates under [Specify intranet Microsoft Update service location](/windows/deployment/update/waas-wu-settings#specify-intranet-microsoft-update-service-location). By default, Windows Update client is configured to download updates from Windows Update. When you specify a WSUS server as a source for your machines, if the updates aren't approved in WSUS, update deployment fails.
58-
59-
To restrict machines to just that internal update service, configure [Do not connect to any Windows Update Internet locations](https://docs.microsoft.com/windows-server/administration/windows-server-update-services/deploy/4-configure-group-policy-settings-for-automatic-updates#do-not-connect-to-any-windows-update-internet-locations).
55+
To restrict machines to the internal update service, set [Do not connect to any Windows Update Internet locations](https://docs.microsoft.com/windows-server/administration/windows-server-update-services/deploy/4-configure-group-policy-settings-for-automatic-updates#do-not-connect-to-any-windows-update-internet-locations).
6056

6157
## Next steps
6258

63-
After you configure Windows Update settings, you can schedule an update deployment by following the instructions in [Manage updates and patches for your Azure VMs](automation-tutorial-update-management.md).
59+
[Manage updates and patches for your Azure VMs](automation-tutorial-update-management.md)

0 commit comments

Comments
 (0)