Skip to content

Commit 0ae80c1

Browse files
(AB#85436) Editing pass: Vale
This change applies Vale style rules to the articles, correcting grammatical and structural issues to make the articles easier to read.
1 parent 3400b03 commit 0ae80c1

14 files changed

+217
-218
lines changed

articles/governance/machine-configuration/agent-notes.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.topic: conceptual
66
---
77
# Azure Automanage machine configuration agent release notes
88

9-
[!INCLUDE [Machine config rename banner][00]]
9+
[!INCLUDE [Machine configuration rename banner](../includes/banner.md)]
1010

1111
## About the machine configuration agent
1212

@@ -26,7 +26,7 @@ For information on release notes for the connected machine agent, please see
2626

2727
#### New Features
2828

29-
- In this release we have added support for Linux distributions such as Red Hat Enterprise Linux
29+
- In this release we've added support for Linux distributions such as Red Hat Enterprise Linux
3030
(RHEL) 9, Mariner 1&2, Alma 9, and Rocky 9.
3131

3232
#### Fixed
@@ -85,7 +85,6 @@ az vm extension set \
8585
- Learn how to view [compliance details for machine configuration][09] policy assignments.
8686

8787
<!-- Reference link definitions -->
88-
[00]: ../includes/banner.md
8988
[01]: ../../azure-arc/servers/agent-release-notes.md
9089
[03]: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-38007
9190
[04]: ./machine-configuration-create-setup.md

articles/governance/machine-configuration/machine-configuration-assignments.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.topic: conceptual
66
---
77
# Understand machine configuration assignment resources
88

9-
[!INCLUDE [Machine config rename banner](../includes/banner.md)]
9+
[!INCLUDE [Machine configuration rename banner](../includes/banner.md)]
1010

1111
When an Azure Policy is assigned, if it's in the category `Guest Configuration` there's metadata
1212
included to describe a guest assignment.
@@ -30,26 +30,26 @@ version `1.0.0` to any machines in scope of the policy.
3030

3131
## How Azure Policy uses machine configuration assignments
3232

33-
The metadata information is used by the machine configuration service to automatically create an
34-
audit resource for definitions with either `AuditIfNotExists` or `DeployIfNotExists` policy
35-
effects. The resource type is `Microsoft.GuestConfiguration/guestConfigurationAssignments`. Azure
36-
Policy uses the **complianceStatus** property of the guest assignment resource to report compliance
37-
status. For more information, see [getting compliance data][02].
33+
The machine configuration service uses the metadata information to automatically create an audit
34+
resource for definitions with either `AuditIfNotExists` or `DeployIfNotExists` policy effects. The
35+
resource type is `Microsoft.GuestConfiguration/guestConfigurationAssignments`. Azure Policy uses
36+
the **complianceStatus** property of the guest assignment resource to report compliance status. For
37+
more information, see [getting compliance data][02].
3838

3939
### Deletion of guest assignments from Azure Policy
4040

4141
When an Azure Policy assignment is deleted, if a machine configuration assignment was created by
4242
the policy, the machine configuration assignment is also deleted.
4343

44-
When an Azure Policy assignment is deleted from an initiative, if a machine configuration
45-
assignment was created by the policy, you will need to manually delete the corresponding machine
46-
configuration assignment. This can be done by navigating to the guest assignments page on Azure
47-
portal and deleting the assignment there.
44+
When an Azure Policy assignment is deleted, if a machine configuration assignment was created by
45+
the policy, you'll need to manually delete the corresponding machine configuration assignment. This
46+
can be done by navigating to the guest assignments page on Azure portal and deleting the assignment
47+
there.
4848

4949
## Manually creating machine configuration assignments
5050

51-
Guest assignment resources in Azure Resource Manager can be created by Azure Policy or any client
52-
SDK.
51+
You can create guest assignment resources in Azure Resource Manager by using Azure Policy or any
52+
client SDK.
5353

5454
An example deployment template:
5555

@@ -84,16 +84,16 @@ The following table describes each property of guest assignment resources.
8484
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
8585
| **name** | Name of the configuration inside the content package MOF file. |
8686
| **contentUri** | HTTPS URI path to the content package (`.zip`). |
87-
| **contentHash** | A SHA256 hash value of the content package, used to verify it has not changed. |
87+
| **contentHash** | A SHA256 hash value of the content package, used to verify it hasn't changed. |
8888
| **version** | Version of the content package. Only used for built-in packages and not used for custom content packages. |
8989
| **assignmentType** | Behavior of the assignment. Allowed values: `Audit`, `ApplyandMonitor`, and `ApplyandAutoCorrect`. |
9090
| **configurationParameter** | List of DSC resource type, name, and value in the content package MOF file to be overridden after it's downloaded in the machine. |
9191

9292
### Deletion of manually created machine configuration assignments
9393

94-
Machine configuration assignments created through any manual approach (such as an Azure Resource
95-
Manager template deployment) must be deleted manually. Deleting the parent resource (virtual
96-
machine or Arc-enabled machine) will also delete the machine configuration assignment.
94+
You must manually delete machine configuration assignments created through any manual approach
95+
(such as an Azure Resource Manager template deployment). Deleting the parent resource (virtual
96+
machine or Arc-enabled machine) also deletes the machine configuration assignment.
9797

9898
To manually delete a machine configuration assignment, use the following example. Make sure to
9999
replace all example strings, indicated by `<>` brackets.

articles/governance/machine-configuration/machine-configuration-azure-automation-migration.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.custom: devx-track-azurepowershell
77
---
88
# Azure Automation state configuration to machine configuration migration planning
99

10-
[!INCLUDE [Machine config rename banner](../includes/banner.md)]
10+
[!INCLUDE [Machine configuration rename banner](../includes/banner.md)]
1111

1212
Machine configuration is the latest implementation of functionality that has been provided by Azure
1313
Automation State Configuration (also known as Azure Automation Desired State Configuration, or
@@ -28,8 +28,8 @@ Before you begin, it's a good idea to read the conceptual overview information a
2828

2929
## Understand migration
3030

31-
The best approach to migration is to redeploy content first, and then migrate machines. The
32-
expected steps for migration are outlined.
31+
The best approach to migration is to redeploy content first, and then migrate machines. This
32+
section outlines the expected steps for migration.
3333

3434
1. Export configurations from Azure Automation
3535
1. Discover module requirements and load them in your environment
@@ -45,29 +45,28 @@ older versions of DSC in [Windows][02] and [Linux][03]. The implementations are
4545
there's no conflict detection.
4646

4747
Machine configuration doesn't require publishing modules or configurations in to a service, or
48-
compiling in a service. Instead, content is developed and tested using purpose-built tooling and
49-
published anywhere the machine can reach over HTTPS (typically Azure Blob Storage).
48+
compiling in a service. Instead, you develop and test content using purpose-built tooling and
49+
publish the content anywhere the machine can reach over HTTPS (typically Azure Blob Storage).
5050

51-
If you decide the right plan for your migration is to have machines in both services for some
52-
period of time, while that could be confusing to manage, there are no technical barriers. The two
53-
services are independent.
51+
If you decide to have machines in both services for some period of time, there are no technical
52+
barriers. The two services are independent.
5453

5554
## Export content from Azure Automation
5655

57-
Start by discovering and exporting content from Azure Automation State Configuration in to a
56+
Start by discovering and exporting content from Azure Automation State Configuration into a
5857
development environment where you create, test, and publish content packages for machine
5958
configuration.
6059

6160
### Configurations
6261

63-
Only configuration scripts can be exported from Azure Automation. It isn't possible to export Node
64-
configurations, or compiled MOF files. If you published MOF files directly in to the Automation
62+
You can only export configuration scripts from Azure Automation. It isn't possible to export node
63+
configurations, or compiled MOF files. If you published MOF files directly into the Automation
6564
Account and no longer have access to the original file, you must recompile from your private
66-
configuration scripts, or possibly re-author the configuration if the original can't be found.
65+
configuration scripts. If you can't find the original configuration, you must re-author it.
6766

6867
To export configuration scripts from Azure Automation, first identify the Azure Automation account
69-
that contains the configurations and the name of the Resource Group where the Automation Account is
70-
deployed.
68+
that has the configurations and the name of the Resource Group the Automation Account is deployed
69+
in.
7170

7271
Install the PowerShell module **Az.Automation**.
7372

@@ -96,8 +95,8 @@ LastModifiedBy :
9695
Tags : {}
9796
```
9897

99-
Discover the configurations in your Automation Account. The output contains one entry per
100-
configuration. If you have many, store the information as a variable so it's easier to work with.
98+
Discover the configurations in your Automation Account. The output has one entry per configuration.
99+
If you have many, store the information as a variable so it's easier to work with.
101100

102101
```azurepowershell-interactive
103102
$getParams = @{
@@ -146,9 +145,9 @@ UnixMode User Group LastWriteTime Size N
146145

147146
After you've discovered your accounts and the number of configurations, you might wish to export
148147
all configurations to a local folder on your machine. To automate this process, pipe the output of
149-
each command above to the next.
148+
each command in the earlier examples to the next command.
150149

151-
The example exports 5 configurations. The output pattern is the only indication of success.
150+
The example exports 5 configurations. The output pattern is the only indicator of success.
152151

153152
```azurepowershell-interactive
154153
Get-AzAutomationAccount |
@@ -168,14 +167,14 @@ UnixMode User Group LastWriteTime Size N
168167

169168
#### Consider decomposing complex configuration files
170169

171-
Machine configuration can manage multiple configurations per machine. Many configurations written
172-
for Azure Automation State Configuration assumed the limitation of managing a single configuration
173-
per machine. To take advantage of the expanded capabilities offered by machine configuration, large
174-
configuration files can be divided into many smaller configurations where each handles a specific
175-
scenario.
170+
Machine configuration can manage more than one configuration per machine. Many configurations
171+
written for Azure Automation State Configuration assumed the limitation of managing a single
172+
configuration per machine. To take advantage of the expanded capabilities offered by machine
173+
configuration, you can divide large configuration files into many smaller configurations where each
174+
handles a specific scenario.
176175

177176
There is no orchestration in machine configuration to control the order of how configurations are
178-
sorted, so keep steps in a configuration together in one package if they are required to happen
177+
sorted. Keep steps in a configuration together in one package if they're required to happen
179178
sequentially.
180179

181180
### Modules
@@ -188,14 +187,14 @@ migration, use PowerShell to query Azure Automation for the name and version of
188187
If you are using modules that are custom authored and only exist in your private development
189188
environment, it isn't possible to export them from Azure Automation.
190189

191-
If a custom module is required for a configuration and is in the account, but you can't find it in
192-
your environment, you won't be able to compile the configuration, which means you won't be able to
190+
If you can't find a custom module in your environment that's required for a configuration and in
191+
the account, you won't be able to compile the configuration. This means you won't be able to
193192
migrate the configuration.
194193

195194
#### List modules imported in Azure Automation
196195

197-
To retrieve a list of all modules that are installed in your automation account, use the
198-
`Get-AzAutomationModule` command. The property **IsGlobal** tells you if the module is built in to
196+
To retrieve a list of all modules installed in your automation account, use the
197+
`Get-AzAutomationModule` command. The property **IsGlobal** tells you if the module is built into
199198
Azure Automation always, or if it was published to the account.
200199

201200
For example, to create a list of all modules published to any of your accounts.
@@ -207,8 +206,8 @@ Get-AzAutomationAccount |
207206
```
208207

209208
You can also use the PowerShell Gallery as an aid in finding details about modules that are
210-
publicly available. For example, the list of modules that are built in to new Automation Accounts,
211-
and that contain DSC resources, is produced by the following example.
209+
publicly available. The following example lists the modules that are built into new Automation
210+
Accounts and contain DSC resources.
212211

213212
```azurepowershell-interactive
214213
Get-AzAutomationAccount |
@@ -219,6 +218,7 @@ Get-AzAutomationAccount |
219218
Select-Object -Property Name, Version -Unique |
220219
Format-Table -AutoSize
221220
```
221+
222222
```Output
223223
Name Version
224224
---- -------
@@ -231,17 +231,17 @@ xPowerShellExecutionPolicy 3.1.0.0
231231
xRemoteDesktopAdmin 1.1.0.0
232232
```
233233

234-
#### Download modules from PowerShell Gallery or PowerShellGet repository
234+
#### Download modules from PowerShell Gallery or a PowerShellGet repository
235235

236236
If the modules were imported from the PowerShell Gallery, you can pipe the output from
237237
`Find-Module` directly to `Install-Module`. Piping the output across commands provides a solution
238238
to load a developer environment with all modules currently in an Automation Account that are
239239
available publicly in the PowerShell Gallery.
240240

241-
The same approach could be used to pull modules from a custom NuGet feed, if the feed is registered
242-
in your local environment as a [PowerShellGet repository][04].
241+
You can use the same approach to pull modules from a custom NuGet feed if you have registered the
242+
feed in your local environment as a [PowerShellGet repository][04].
243243

244-
The `Find-Module` command in the example doesn't suppress errors, meaning any modules not found in
244+
The `Find-Module` command in this example doesn't suppress errors, meaning any modules not found in
245245
the gallery return an error message.
246246

247247
```azurepowershell-interactive
@@ -257,15 +257,15 @@ Get-AzAutomationAccount |
257257

258258
If you've exported configuration scripts from Azure Automation, you can also review the contents
259259
for details about which modules are required to compile each configuration to a MOF file. This
260-
approach would only be needed if you find configurations in your Automation Accounts where the
261-
modules have been removed. The configurations would no longer be useful for machines, but they
262-
might still be in the account.
260+
approach is only needed if you find configurations in your Automation Accounts where the modules
261+
have been removed. The configurations would no longer be useful for machines, but they might still
262+
be in the account.
263263

264264
Towards the top of each file, look for a line that includes `Import-DscResource`. This command is
265-
only applicable inside a configuration, and is used to load modules at the time of compilation.
265+
only applicable inside a configuration, and it's used to load modules at the time of compilation.
266266

267-
For example, the `WindowsIISServerConfig` configuration in the PowerShell Gallery
268-
contains the lines in this example.
267+
For example, the `WindowsIISServerConfig` configuration in the PowerShell Gallery has the lines in
268+
this example.
269269

270270
```powershell
271271
configuration WindowsIISServerConfig
@@ -280,24 +280,24 @@ module **PSDesiredStateConfiguration**.
280280

281281
### Test content in Azure machine configuration
282282

283-
The best way to evaluate whether your content from Azure Automation State Configuration can be used
284-
with machine configuration is to follow the step-by-step tutorial in the page
283+
To evaluate whether you can use your content from Azure Automation State Configuration with machine
284+
configuration, follow the step-by-step tutorial in the page
285285
[How to create custom machine configuration package artifacts][05].
286286

287287
When you reach the step [Author a configuration][06], the configuration script that generates a MOF
288288
file should be one of the scripts you exported from Azure Automation State Configuration. You must
289289
have the required PowerShell modules installed in your environment before you can compile the
290290
configuration to a MOF file and create a machine configuration package.
291291

292-
#### What if a module does not work with machine configuration?
292+
#### What if a module doesn't work with machine configuration?
293293

294-
Some modules might encounter compatibility issues with machine configuration. The most common
294+
Some modules might have compatibility issues with machine configuration. The most common
295295
problems are related to .NET framework vs .NET core. Detailed technical information is available on
296296
the page, [Differences between Windows PowerShell 5.1 and PowerShell 7.x][07].
297297

298298
One option to resolve compatibility issues is to run commands in Windows PowerShell from within a
299-
module that is imported in PowerShell 7, by running `powershell.exe`. You can review a sample
300-
module that uses this technique in the Azure-Policy repo where it is used to audit the state of
299+
module that's imported in PowerShell 7, by running `powershell.exe`. You can review a sample module
300+
that uses this technique in the Azure-Policy repository where it's used to audit the state of
301301
[Windows DSC Configuration][08].
302302

303303
The example also illustrates a small proof of concept.
@@ -349,7 +349,7 @@ Azure Automation State Configuration.
349349

350350
Machines outside of Azure [can be registered to Azure Automation State Configuration][13], but they
351351
don't have a machine resource in Azure. The connection to Azure Automation is handled by the Local
352-
Configuration Manager (LCM) service inside the machine and the record of the node is managed as a
352+
Configuration Manager (LCM) service inside the machine. The record of the node is managed as a
353353
resource in the Azure Automation provider type.
354354

355355
Before removing a machine from Azure Automation State Configuration, onboard each node as an
@@ -371,8 +371,8 @@ Details about known issues are provided in this section.
371371

372372
### Exporting configurations results in "\\" character in file name
373373

374-
When using PowerShell on macOS and Linux, you encounter issues dealing with the file names output
375-
by `Export-AzAutomationDSCConfiguration`.
374+
When using PowerShell on macOS and Linux, you may have issues dealing with the file names output by
375+
`Export-AzAutomationDSCConfiguration`.
376376

377377
As a workaround, a module has been published to the PowerShell Gallery named
378378
[AADSCConfigContent][16]. The module has only one command, which exports the content of a
@@ -382,7 +382,7 @@ configuration stored in Azure Automation by making a REST request to the service
382382

383383
- [Create a package artifact][05] for machine configuration.
384384
- [Test the package artifact][17] from your development environment.
385-
- [Publish the package artifact][18] so it is accessible to your machines.
385+
- [Publish the package artifact][18] so it's accessible to your machines.
386386
- Use the **GuestConfiguration** module to [create an Azure Policy definition][19] for at-scale
387387
management of your environment.
388388
- [Assign your custom policy definition][20] using Azure portal.

0 commit comments

Comments
 (0)