Updates from: 04/03/2021 03:16:56
Service Microsoft Docs article Related commit history on GitHub Change details
Microsoft.PowerShell.Utility Add Type (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Add-Type.md
--- external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
-keywords: powershell,cmdlet
Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 08/26/2019 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/add-type?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Add-Type
Title: Add-Type
# Add-Type ## SYNOPSIS
-Adds a Microsoft .NET Framework class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
## SYNTAX
Microsoft.PowerShell.Utility Microsoft.Powershell.Utility (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md
--- Download Help Link: https://go.microsoft.com/fwlink/?linkid=390787 Help Version: 5.2.0.0
-keywords: powershell,cmdlet
Locale: en-US Module Guid: 1da87e53-152b-403e-98dc-74d7b4d63d59 Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 schema: 2.0.0 Title: Microsoft.PowerShell.Utility ---
PowerShell.
Adds custom properties and methods to an instance of a PowerShell object. ### [Add-Type](Add-Type.md)
-Adds a Microsoft .NET Framework class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
### [Clear-Variable](Clear-Variable.md) Deletes the value of a variable.
Microsoft.PowerShell.Utility New Alias (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/New-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/new-alias?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: New-Alias
Title: New-Alias
# New-Alias
-## SYNOPSIS
+## Synopsis
Creates a new alias.
-## SYNTAX
+## Syntax
``` New-Alias [-Name] <String> [-Value] <String> [-Description <String>] [-Option <ScopedItemOptions>] [-PassThru] [-Scope <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
-The **New-Alias** cmdlet creates a new alias in the current Windows PowerShell session.
-Aliases created by using **New-Alias** are not saved after you exit the session or close Windows PowerShell.
-You can use the Export-Alias cmdlet to save your alias information to a file.
-You can later use **Import-Alias** to retrieve that saved alias information.
+## Description
-## EXAMPLES
+The `New-Alias` cmdlet creates a new alias in the current Windows PowerShell session. Aliases
+created by using `New-Alias` are not saved after you exit the session or close Windows PowerShell.
+You can use the `Export-Alias` cmdlet to save your alias information to a file. You can later use
+`Import-Alias` to retrieve that saved alias information.
+
+## Examples
### Example 1: Create an alias for a cmdlet ```
-PS C:\> New-Alias -Name "List" Get-ChildItem
+New-Alias -Name "List" Get-ChildItem
``` This command creates an alias named List to represent the Get-ChildItem cmdlet.
This command creates an alias named List to represent the Get-ChildItem cmdlet.
### Example 2: Create a read-only alias for a cmdlet ```
-PS C:\> New-Alias -Name "W" -Value Get-WmiObject -Description "quick wmi alias" -Option ReadOnly
-PS C:\> Get-Alias -Name "W" | Format-List *
+New-Alias -Name "C" -Value Get-ChildItem -Description "quick gci alias" -Option ReadOnly
+Get-Alias -Name "C" | Format-List *
```
-This command creates an alias named W to represent the Get-WmiObject cmdlet.
-It creates a description, quick wmi alias, for the alias and makes it read-only.
-The last line of the command uses Get-Alias to get the new alias and pipes it to Format-List to display all of the information about it.
+This command creates an alias named `C` to represent the `Get-ChildItem` cmdlet. It creates a
+description, quick wmi alias, for the alias and makes it read-only. The last line of the command
+uses `Get-Alias` to get the new alias and pipes it to Format-List to display all of the information
+about it.
-## PARAMETERS
+## Parameters
### -Description
-Specifies a description of the alias.
-You can type any string.
-If the description includes spaces, enclose it in quotation marks.
+
+Specifies a description of the alias. You can type any string. If the description includes spaces,
+enclose it in quotation marks.
```yaml Type: System.String
Accept wildcard characters: False
``` ### -Force
-Indicates that the cmdlet acts like Set-Alias if the alias named already exists.
+
+Indicates that the cmdlet acts like `Set-Alias` if the alias named already exists.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
``` ### -Name
-Specifies the new alias.
-You can use any alphanumeric characters in an alias, but the first character cannot be a number.
+
+Specifies the new alias. You can use any alphanumeric characters in an alias, but the first
+character cannot be a number.
```yaml Type: System.String
Accept wildcard characters: False
``` ### -Option+ Specifies the value of the **Options** property of the alias. Valid values are: -- None: The alias has no constraints (default value)-- ReadOnly: The alias can be deleted but cannot be changed except by using the **Force** parameter-- Constant: The alias cannot be deleted or changed-- Private: The alias is available only in the current scope-- AllScope: The alias is copied to any new scopes that are created-- Unspecified: The option is not specified
+- `None`: The alias has no constraints (default value)
+- `ReadOnly`: The alias can be deleted but cannot be changed except by using the **Force** parameter
+- `Constant`: The alias cannot be deleted or changed
+- `Private`: The alias is available only in the current scope
+- `AllScope`: The alias is copied to any new scopes that are created
+- `Unspecified`: The option is not specified
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
-To see the **Options** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -AutoSize`.
+To see the **Options** property of all aliases in the session, type
+`Get-Alias | Format-Table -Property Name, Options -AutoSize`.
```yaml Type: System.Management.Automation.ScopedItemOptions
Accept wildcard characters: False
``` ### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
``` ### -Scope
-Specifies the scope of the new alias.
-The acceptable values for this parameter are:
-- Global-- Local-- Script-- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent).
+Specifies the scope of the new alias. The acceptable values for this parameter are:
-Local is the default.
-For more information, see about_Scopes.
+- `Global`
+- `Local`
+- `Script`
+- A number relative to the current scope (0 through the number of scopes, where `0` is the current
+ scope and `1` is its parent).
+
+`Local` is the default. For more information, see [about_Scopes](../Microsoft.PowerShell.Core/About/about_Scopes.md).
```yaml Type: System.String
Accept wildcard characters: False
``` ### -Value+ Specifies the name of the cmdlet or command element that is being aliased. ```yaml
Accept wildcard characters: False
``` ### -Confirm+ Prompts you for confirmation before running the cmdlet. ```yaml
Accept wildcard characters: False
``` ### -WhatIf
-Shows what would happen if the cmdlet runs.
-The cmdlet is not run.
+
+Shows what would happen if the cmdlet runs. The cmdlet is not run.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
``` ### CommonParameters+ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None+ You cannot pipe input to this cmdlet.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
-When you use the *Passthru* parameter, **New-Alias** generates a **System.Management.Automation.AliasInfo** object representing the new alias.
-Otherwise, this cmdlet does not generate any output.
-## NOTES
+When you use the **Passthru** parameter, `New-Alias` generates a
+**System.Management.Automation.AliasInfo** object representing the new alias. Otherwise, this cmdlet
+does not generate any output.
-* To create a new alias, use Set-Alias or New-Alias. To change an alias, use **Set-Alias**. To delete an alias, use Remove-Item.
+## Notes
-*
+- To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete
+an alias, use `Remove-Item`.
-## RELATED LINKS
+## Related Links
[Export-Alias](Export-Alias.md)
Microsoft.PowerShell.Utility Send Mailmessage (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 05/11/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Send-MailMessage --- # Send-MailMessage
-## SYNOPSIS
+## Synopsis
Sends an email message.
-## SYNTAX
+## Syntax
### All
Send-MailMessage [-To] <string[]> [-Subject] <string> [[-Body] <string>] [[-Smtp
[<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Send-MailMessage` cmdlet sends an email message from within PowerShell.
information, see [about_Preference_Variables](../Microsoft.PowerShell.Core/About
> not use `Send-MailMessage`. For more information, see > [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage).
-## EXAMPLES
+## Examples
### Example 1: Send an email from one person to another person
The **Credential** parameter specifies a domain administrator's credentials are
message. The **UseSsl** parameter specifies that Secure Socket Layer (SSL) creates a secure connection.
-## PARAMETERS
+## Parameters
### -Attachments
The acceptable values for this parameter are as follows:
- `Delay`: Notify if the delivery is delayed. - `Never`: Never notify.
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **DeliveryNotification**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
+ ```yaml Type: System.Net.Mail.DeliveryNotificationOptions Parameter Sets: (All)
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String You can pipe the path and file names of attachments to `Send-MailMessage`.
-## OUTPUTS
+## Outputs
### None This cmdlet does not generate any output.
-## NOTES
+## Notes
-## RELATED LINKS
+## Related Links
[about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md)
Microsoft.PowerShell.Utility Set Alias (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Set-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 2/28/2019 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-Alias
Title: Set-Alias
# Set-Alias
-## SYNOPSIS
+## Synopsis
Creates or changes an alias for a cmdlet or other command in the current PowerShell session.
-## SYNTAX
+## Syntax
### Default (Default)
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Option <S
[-PassThru] [-Scope <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Set-Alias` cmdlet creates or changes an alias for a cmdlet or a command, such as a function, script, file, or other executable. An alias is an alternate name that refers to a cmdlet or command.
as the description.
An alias that is created or changed by `Set-Alias` is not permanent and is only available during the current PowerShell session. When the PowerShell session is closed, the alias is removed.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet
alias for a command, create a function that includes the command, and then creat
function. For more information, see [about_Functions](../Microsoft.PowerShell.Core/about/about_Functions.md). ```
-PS> Function CD32 {Set-Location -Path C:\Windows\System32}
+Function CD32 {Set-Location -Path C:\Windows\System32}
-PS> Set-Alias -Name Go -Value CD32
+Set-Alias -Name Go -Value CD32
``` A function named `CD32` is created. The function uses the `Set-Location` cmdlet with the **Path**
-parameter to specify the directory, **C:\Windows\System32**.
+parameter to specify the directory, `C:\Windows\System32`.
The `Set-Alias` cmdlet creates an alias to the function in the current PowerShell session. The **Name** parameter specifies the alias's name, `Go`. The **Value** parameter specifies the function's name, `CD32`. To run the alias, type `Go` on the PowerShell command line. The `CD32` function runs and changes to
-the directory **C:\Windows\System32**.
+the directory `C:\Windows\System32`.
-## PARAMETERS
+### Example 6: Update options for an existing alias
+
+This example shows how to assign multiple options using the **Option** parameter.
+
+Using the example above we will set the alias `Go` as `ReadOnly` and `Private`.
+
+```powershell
+Set-Alias -Name Go -Option ReadOnly, Private
+```
+
+The alias `Go` should already exist. After running the command above, the alias is not be able to
+be changed without using the **Force** parameter and is only available in the current scope.
+
+## Parameters
### -Description
Accept wildcard characters: False
### -Option
-Sets the **Option** property value of the alias. Values such as **ReadOnly** and **Constant**
+Sets the **Option** property value of the alias. Values such as `ReadOnly` and `Constant`
protect an alias from unintended changes. To see the **Option** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -Autosize`. The acceptable values for this parameter are as follows: -- **AllScope** The alias is copied to any new scopes that are created.-- **Constant** Cannot be changed or deleted.-- **None** Sets no options and is the default.-- **Private** The alias is available only in the current scope.-- **ReadOnly** Cannot be changed or deleted unless the **Force** parameter is used.-- **Unspecified**
+- `AllScope` - The alias is copied to any new scopes that are created.
+- `Constant` - Cannot be changed or deleted.
+- `None` - Sets no options and is the default.
+- `Private` - The alias is available only in the current scope.
+- `ReadOnly` - Cannot be changed or deleted unless the **Force** parameter is used.
+- `Unspecified`
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.ScopedItemOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None `Set-Alias` does not accept input from the pipeline.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
Microsoft.PowerShell.Utility Add Type (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Add-Type.md
--- external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
-keywords: powershell,cmdlet
Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 09/04/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/add-type?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Add-Type
Title: Add-Type
# Add-Type ## SYNOPSIS
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
## SYNTAX
Microsoft.PowerShell.Utility Microsoft.Powershell.Utility (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md
--- Download Help Link: https://go.microsoft.com/fwlink/?linkid=2113633 Help Version: 7.0.1.0
-keywords: powershell,cmdlet
Locale: en-US Module Guid: 1da87e53-152b-403e-98dc-74d7b4d63d59 Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 schema: 2.0.0 Title: Microsoft.PowerShell.Utility ---
PowerShell.
Adds custom properties and methods to an instance of a PowerShell object. ### [Add-Type](Add-Type.md)
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
### [Clear-Variable](Clear-Variable.md) Deletes the value of a variable.
Microsoft.PowerShell.Utility New Alias (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/New-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/new-alias?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: New-Alias ---+ # New-Alias
-## SYNOPSIS
+## Synopsis
Creates a new alias.
-## SYNTAX
+## Syntax
``` New-Alias [-Name] <String> [-Value] <String> [-Description <String>] [-Option <ScopedItemOptions>] [-PassThru] [-Scope <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **New-Alias** cmdlet creates a new alias in the current PowerShell session.
-Aliases created by using **New-Alias** are not saved after you exit the session or close PowerShell.
-You can use the Export-Alias cmdlet to save your alias information to a file.
-You can later use **Import-Alias** to retrieve that saved alias information.
+The `New-Alias` cmdlet creates a new alias in the current PowerShell session. Aliases
+created by using `New-Alias` are not saved after you exit the session or close PowerShell.
+You can use the `Export-Alias` cmdlet to save your alias information to a file. You can later use
+`Import-Alias` to retrieve that saved alias information.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet ```
-PS C:\> New-Alias -Name "List" Get-ChildItem
+New-Alias -Name "List" Get-ChildItem
``` This command creates an alias named List to represent the Get-ChildItem cmdlet.
This command creates an alias named List to represent the Get-ChildItem cmdlet.
### Example 2: Create a read-only alias for a cmdlet ```
-PS C:\> New-Alias -Name "W" -Value Get-WmiObject -Description "quick wmi alias" -Option ReadOnly
-PS C:\> Get-Alias -Name "W" | Format-List *
+New-Alias -Name "C" -Value Get-ChildItem -Description "quick gci alias" -Option ReadOnly
+Get-Alias -Name "C" | Format-List *
```
-This command creates an alias named W to represent the Get-WmiObject cmdlet.
-It creates a description, quick wmi alias, for the alias and makes it read-only.
-The last line of the command uses Get-Alias to get the new alias and pipes it to Format-List to display all of the information about it.
+This command creates an alias named `C` to represent the `Get-ChildItem` cmdlet. It creates a
+description, quick wmi alias, for the alias and makes it read-only. The last line of the command
+uses `Get-Alias` to get the new alias and pipes it to Format-List to display all of the information
+about it.
-## PARAMETERS
+## Parameters
### -Description
-Specifies a description of the alias.
-You can type any string.
-If the description includes spaces, enclose it in quotation marks.
+Specifies a description of the alias. You can type any string. If the description includes spaces,
+enclose it in quotation marks.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet acts like Set-Alias if the alias named already exists.
+Indicates that the cmdlet acts like `Set-Alias` if the alias named already exists.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Name
-Specifies the new alias.
-You can use any alphanumeric characters in an alias, but the first character cannot be a number.
+Specifies the new alias. You can use any alphanumeric characters in an alias, but the first
+character cannot be a number.
```yaml Type: System.String
Accept wildcard characters: False
Specifies the value of the **Options** property of the alias. Valid values are: -- None: The alias has no constraints (default value)-- ReadOnly: The alias can be deleted but cannot be changed except by using the **Force** parameter-- Constant: The alias cannot be deleted or changed-- Private: The alias is available only in the current scope-- AllScope: The alias is copied to any new scopes that are created-- Unspecified: The option is not specified
+- `None`: The alias has no constraints (default value)
+- `ReadOnly`: The alias can be deleted but cannot be changed except by using the **Force** parameter
+- `Constant`: The alias cannot be deleted or changed
+- `Private`: The alias is available only in the current scope
+- `AllScope`: The alias is copied to any new scopes that are created
+- `Unspecified`: The option is not specified
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
-To see the **Options** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -AutoSize`.
+To see the **Options** property of all aliases in the session, type
+`Get-Alias | Format-Table -Property Name, Options -AutoSize`.
```yaml Type: System.Management.Automation.ScopedItemOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Scope
-Specifies the scope of the new alias.
-The acceptable values for this parameter are:
+Specifies the scope of the new alias. The acceptable values for this parameter are:
-- Global-- Local-- Script-- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent).
+- `Global`
+- `Local`
+- `Script`
+- A number relative to the current scope (0 through the number of scopes, where `0` is the current
+ scope and `1` is its parent).
-Local is the default.
-For more information, see about_Scopes.
+`Local` is the default. For more information, see [about_Scopes](../Microsoft.PowerShell.Core/About/about_Scopes.md).
```yaml Type: System.String
Accept wildcard characters: False
### -WhatIf
-Shows what would happen if the cmdlet runs.
-The cmdlet is not run.
+Shows what would happen if the cmdlet runs. The cmdlet is not run.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None You cannot pipe input to this cmdlet.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
-When you use the *Passthru* parameter, **New-Alias** generates a **System.Management.Automation.AliasInfo** object representing the new alias.
-Otherwise, this cmdlet does not generate any output.
+When you use the **Passthru** parameter, `New-Alias` generates a
+**System.Management.Automation.AliasInfo** object representing the new alias. Otherwise, this cmdlet
+does not generate any output.
-## NOTES
+## Notes
-* To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete an alias, use `Remove-Item`.
+- To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete
+an alias, use `Remove-Item`.
-## RELATED LINKS
+## Related Links
[Export-Alias](Export-Alias.md)
Microsoft.PowerShell.Utility Send Mailmessage (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Send-MailMessage.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 05/11/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Send-MailMessage --- # Send-MailMessage
-## SYNOPSIS
+## Synopsis
Sends an email message.
-## SYNTAX
+## Syntax
### All
Send-MailMessage [-Attachments <String[]>] [-Bcc <String[]>] [[-Body] <String>]
[<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Send-MailMessage` cmdlet sends an email message from within PowerShell.
information, see [about_Preference_Variables](../Microsoft.PowerShell.Core/About
> not use `Send-MailMessage`. For more information, see > [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage).
-## EXAMPLES
+## Examples
### Example 1: Send an email from one person to another person
The **Credential** parameter specifies a domain administrator's credentials are
message. The **UseSsl** parameter specifies that Secure Socket Layer (SSL) creates a secure connection.
-## PARAMETERS
+## Parameters
### -Attachments
The acceptable values for this parameter are as follows:
- `Delay`: Notify if the delivery is delayed. - `Never`: Never notify.
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **DeliveryNotification**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
+ ```yaml Type: System.Net.Mail.DeliveryNotificationOptions Parameter Sets: (All)
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String You can pipe the path and file names of attachments to `Send-MailMessage`.
-## OUTPUTS
+## Outputs
### None This cmdlet does not generate any output.
-## NOTES
+## Notes
-## RELATED LINKS
+## Related Links
[about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md)
Microsoft.PowerShell.Utility Set Alias (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Set-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 2/28/2019 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-Alias
Title: Set-Alias
# Set-Alias
-## SYNOPSIS
+## Synopsis
Creates or changes an alias for a cmdlet or other command in the current PowerShell session.
-## SYNTAX
+## Syntax
### Default (Default)
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Option <S
[-PassThru] [-Scope <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Set-Alias` cmdlet creates or changes an alias for a cmdlet or a command, such as a function, script, file, or other executable. An alias is an alternate name that refers to a cmdlet or command.
as the description.
An alias that is created or changed by `Set-Alias` is not permanent and is only available during the current PowerShell session. When the PowerShell session is closed, the alias is removed.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet
alias for a command, create a function that includes the command, and then creat
function. For more information, see [about_Functions](../Microsoft.PowerShell.Core/about/about_Functions.md). ```
-PS> Function CD32 {Set-Location -Path C:\Windows\System32}
+Function CD32 {Set-Location -Path C:\Windows\System32}
-PS> Set-Alias -Name Go -Value CD32
+Set-Alias -Name Go -Value CD32
``` A function named `CD32` is created. The function uses the `Set-Location` cmdlet with the **Path**
-parameter to specify the directory, **C:\Windows\System32**.
+parameter to specify the directory, `C:\Windows\System32`.
The `Set-Alias` cmdlet creates an alias to the function in the current PowerShell session. The **Name** parameter specifies the alias's name, `Go`. The **Value** parameter specifies the function's name, `CD32`. To run the alias, type `Go` on the PowerShell command line. The `CD32` function runs and changes to
-the directory **C:\Windows\System32**.
+the directory `C:\Windows\System32`.
-## PARAMETERS
+### Example 6: Update options for an existing alias
+
+This example shows how to assign multiple options using the **Option** parameter.
+
+Using the example above we will set the alias `Go` as `ReadOnly` and `Private`.
+
+```powershell
+Set-Alias -Name Go -Option ReadOnly, Private
+```
+
+The alias `Go` should already exist. After running the command above, the alias is not be able to
+be changed without using the **Force** parameter and is only available in the current scope.
+
+## Parameters
### -Description
Accept wildcard characters: False
### -Option
-Sets the **Option** property value of the alias. Values such as **ReadOnly** and **Constant**
+Sets the **Option** property value of the alias. Values such as `ReadOnly` and `Constant`
protect an alias from unintended changes. To see the **Option** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -Autosize`. The acceptable values for this parameter are as follows: -- **AllScope** The alias is copied to any new scopes that are created.-- **Constant** Cannot be changed or deleted.-- **None** Sets no options and is the default.-- **Private** The alias is available only in the current scope.-- **ReadOnly** Cannot be changed or deleted unless the **Force** parameter is used.-- **Unspecified**
+- `AllScope` - The alias is copied to any new scopes that are created.
+- `Constant` - Cannot be changed or deleted.
+- `None` - Sets no options and is the default.
+- `Private` - The alias is available only in the current scope.
+- `ReadOnly` - Cannot be changed or deleted unless the **Force** parameter is used.
+- `Unspecified`
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.ScopedItemOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None `Set-Alias` does not accept input from the pipeline.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
Microsoft.PowerShell.Utility Add Type (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Add-Type.md
--- external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
-keywords: powershell,cmdlet
Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 09/04/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/add-type?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Add-Type
Title: Add-Type
# Add-Type ## SYNOPSIS
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
## SYNTAX
Microsoft.PowerShell.Utility Microsoft.Powershell.Utility (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md
--- Download Help Link: https://aka.ms/powershell71-help Help Version: 7.1.0.0
-keywords: powershell,cmdlet
Locale: en-US Module Guid: 1da87e53-152b-403e-98dc-74d7b4d63d59 Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 schema: 2.0.0 Title: Microsoft.PowerShell.Utility ---
PowerShell.
Adds custom properties and methods to an instance of a PowerShell object. ### [Add-Type](Add-Type.md)
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
### [Clear-Variable](Clear-Variable.md) Deletes the value of a variable.
Microsoft.PowerShell.Utility New Alias (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/New-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/new-alias?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: New-Alias ---+ # New-Alias
-## SYNOPSIS
+## Synopsis
Creates a new alias.
-## SYNTAX
+## Syntax
``` New-Alias [-Name] <String> [-Value] <String> [-Description <String>] [-Option <ScopedItemOptions>] [-PassThru] [-Scope <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **New-Alias** cmdlet creates a new alias in the current PowerShell session.
-Aliases created by using **New-Alias** are not saved after you exit the session or close PowerShell.
-You can use the Export-Alias cmdlet to save your alias information to a file.
-You can later use **Import-Alias** to retrieve that saved alias information.
+The `New-Alias` cmdlet creates a new alias in the current PowerShell session. Aliases
+created by using `New-Alias` are not saved after you exit the session or close PowerShell.
+You can use the `Export-Alias` cmdlet to save your alias information to a file. You can later use
+`Import-Alias` to retrieve that saved alias information.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet ```
-PS C:\> New-Alias -Name "List" Get-ChildItem
+New-Alias -Name "List" Get-ChildItem
``` This command creates an alias named List to represent the Get-ChildItem cmdlet.
This command creates an alias named List to represent the Get-ChildItem cmdlet.
### Example 2: Create a read-only alias for a cmdlet ```
-PS C:\> New-Alias -Name "W" -Value Get-WmiObject -Description "quick wmi alias" -Option ReadOnly
-PS C:\> Get-Alias -Name "W" | Format-List *
+New-Alias -Name "C" -Value Get-ChildItem -Description "quick gci alias" -Option ReadOnly
+Get-Alias -Name "C" | Format-List *
```
-This command creates an alias named W to represent the Get-WmiObject cmdlet.
-It creates a description, quick wmi alias, for the alias and makes it read-only.
-The last line of the command uses Get-Alias to get the new alias and pipes it to Format-List to display all of the information about it.
+This command creates an alias named `C` to represent the `Get-ChildItem` cmdlet. It creates a
+description, quick wmi alias, for the alias and makes it read-only. The last line of the command
+uses `Get-Alias` to get the new alias and pipes it to Format-List to display all of the information
+about it.
-## PARAMETERS
+## Parameters
### -Description
-Specifies a description of the alias.
-You can type any string.
-If the description includes spaces, enclose it in quotation marks.
+Specifies a description of the alias. You can type any string. If the description includes spaces,
+enclose it in quotation marks.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet acts like Set-Alias if the alias named already exists.
+Indicates that the cmdlet acts like `Set-Alias` if the alias named already exists.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Name
-Specifies the new alias.
-You can use any alphanumeric characters in an alias, but the first character cannot be a number.
+Specifies the new alias. You can use any alphanumeric characters in an alias, but the first
+character cannot be a number.
```yaml Type: System.String
Accept wildcard characters: False
Specifies the value of the **Options** property of the alias. Valid values are: -- None: The alias has no constraints (default value)-- ReadOnly: The alias can be deleted but cannot be changed except by using the **Force** parameter-- Constant: The alias cannot be deleted or changed-- Private: The alias is available only in the current scope-- AllScope: The alias is copied to any new scopes that are created-- Unspecified: The option is not specified
+- `None`: The alias has no constraints (default value)
+- `ReadOnly`: The alias can be deleted but cannot be changed except by using the **Force** parameter
+- `Constant`: The alias cannot be deleted or changed
+- `Private`: The alias is available only in the current scope
+- `AllScope`: The alias is copied to any new scopes that are created
+- `Unspecified`: The option is not specified
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
-To see the **Options** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -AutoSize`.
+To see the **Options** property of all aliases in the session, type
+`Get-Alias | Format-Table -Property Name, Options -AutoSize`.
```yaml Type: System.Management.Automation.ScopedItemOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Scope
-Specifies the scope of the new alias.
-The acceptable values for this parameter are:
+Specifies the scope of the new alias. The acceptable values for this parameter are:
-- Global-- Local-- Script-- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent).
+- `Global`
+- `Local`
+- `Script`
+- A number relative to the current scope (0 through the number of scopes, where `0` is the current
+ scope and `1` is its parent).
-Local is the default.
-For more information, see about_Scopes.
+`Local` is the default. For more information, see [about_Scopes](../Microsoft.PowerShell.Core/About/about_Scopes.md).
```yaml Type: System.String
Accept wildcard characters: False
### -WhatIf
-Shows what would happen if the cmdlet runs.
-The cmdlet is not run.
+Shows what would happen if the cmdlet runs. The cmdlet is not run.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None You cannot pipe input to this cmdlet.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
-When you use the *Passthru* parameter, **New-Alias** generates a **System.Management.Automation.AliasInfo** object representing the new alias.
-Otherwise, this cmdlet does not generate any output.
+When you use the **Passthru** parameter, `New-Alias` generates a
+**System.Management.Automation.AliasInfo** object representing the new alias. Otherwise, this cmdlet
+does not generate any output.
-## NOTES
+## Notes
-* To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete an alias, use `Remove-Item`.
+- To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete
+an alias, use `Remove-Item`.
-## RELATED LINKS
+## Related Links
[Export-Alias](Export-Alias.md)
Otherwise, this cmdlet does not generate any output.
[Import-Alias](Import-Alias.md) [Set-Alias](Set-Alias.md)-
Microsoft.PowerShell.Utility Send Mailmessage (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Send-MailMessage.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 05/11/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Send-MailMessage --- # Send-MailMessage
-## SYNOPSIS
+## Synopsis
Sends an email message.
-## SYNTAX
+## Syntax
### All
Send-MailMessage [-Attachments <String[]>] [-Bcc <String[]>] [[-Body] <String>]
[<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Send-MailMessage` cmdlet sends an email message from within PowerShell.
information, see [about_Preference_Variables](../Microsoft.PowerShell.Core/About
> not use `Send-MailMessage`. For more information, see > [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage).
-## EXAMPLES
+## Examples
### Example 1: Send an email from one person to another person
The **Credential** parameter specifies a domain administrator's credentials are
message. The **UseSsl** parameter specifies that Secure Socket Layer (SSL) creates a secure connection.
-## PARAMETERS
+## Parameters
### -Attachments
The acceptable values for this parameter are as follows:
- `Delay`: Notify if the delivery is delayed. - `Never`: Never notify.
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **DeliveryNotification**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
+ ```yaml Type: System.Net.Mail.DeliveryNotificationOptions Parameter Sets: (All)
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String You can pipe the path and file names of attachments to `Send-MailMessage`.
-## OUTPUTS
+## Outputs
### None This cmdlet does not generate any output.
-## NOTES
+## Notes
-## RELATED LINKS
+## Related Links
[about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md)
Microsoft.PowerShell.Utility Set Alias (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Set-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 2/28/2019 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-Alias
Title: Set-Alias
# Set-Alias
-## SYNOPSIS
+## Synopsis
Creates or changes an alias for a cmdlet or other command in the current PowerShell session.
-## SYNTAX
+## Syntax
### Default (Default)
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Option <S
[-PassThru] [-Scope <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Set-Alias` cmdlet creates or changes an alias for a cmdlet or a command, such as a function, script, file, or other executable. An alias is an alternate name that refers to a cmdlet or command.
as the description.
An alias that is created or changed by `Set-Alias` is not permanent and is only available during the current PowerShell session. When the PowerShell session is closed, the alias is removed.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet
alias for a command, create a function that includes the command, and then creat
function. For more information, see [about_Functions](../Microsoft.PowerShell.Core/about/about_Functions.md). ```
-PS> Function CD32 {Set-Location -Path C:\Windows\System32}
+Function CD32 {Set-Location -Path C:\Windows\System32}
-PS> Set-Alias -Name Go -Value CD32
+Set-Alias -Name Go -Value CD32
``` A function named `CD32` is created. The function uses the `Set-Location` cmdlet with the **Path**
-parameter to specify the directory, **C:\Windows\System32**.
+parameter to specify the directory, `C:\Windows\System32`.
The `Set-Alias` cmdlet creates an alias to the function in the current PowerShell session. The **Name** parameter specifies the alias's name, `Go`. The **Value** parameter specifies the function's name, `CD32`. To run the alias, type `Go` on the PowerShell command line. The `CD32` function runs and changes to
-the directory **C:\Windows\System32**.
+the directory `C:\Windows\System32`.
-## PARAMETERS
+### Example 6: Update options for an existing alias
+
+This example shows how to assign multiple options using the **Option** parameter.
+
+Using the example above we will set the alias `Go` as `ReadOnly` and `Private`.
+
+```powershell
+Set-Alias -Name Go -Option ReadOnly, Private
+```
+
+The alias `Go` should already exist. After running the command above, the alias is not be able to
+be changed without using the **Force** parameter and is only available in the current scope.
+
+## Parameters
### -Description
Accept wildcard characters: False
### -Option
-Sets the **Option** property value of the alias. Values such as **ReadOnly** and **Constant**
+Sets the **Option** property value of the alias. Values such as `ReadOnly` and `Constant`
protect an alias from unintended changes. To see the **Option** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -Autosize`. The acceptable values for this parameter are as follows: -- **AllScope** The alias is copied to any new scopes that are created.-- **Constant** Cannot be changed or deleted.-- **None** Sets no options and is the default.-- **Private** The alias is available only in the current scope.-- **ReadOnly** Cannot be changed or deleted unless the **Force** parameter is used.-- **Unspecified**
+- `AllScope` - The alias is copied to any new scopes that are created.
+- `Constant` - Cannot be changed or deleted.
+- `None` - Sets no options and is the default.
+- `Private` - The alias is available only in the current scope.
+- `ReadOnly` - Cannot be changed or deleted unless the **Force** parameter is used.
+- `Unspecified`
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.ScopedItemOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None `Set-Alias` does not accept input from the pipeline.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
Microsoft.PowerShell.Utility Add Type (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Add-Type.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 09/04/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/add-type?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Add-Type
Title: Add-Type
# Add-Type ## SYNOPSIS
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
## SYNTAX
Microsoft.PowerShell.Utility Microsoft.Powershell.Utility (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md
Help Version: 7.2.0.0
Locale: en-US Module Guid: 1da87e53-152b-403e-98dc-74d7b4d63d59 Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 schema: 2.0.0 Title: Microsoft.PowerShell.Utility ---
PowerShell.
Adds custom properties and methods to an instance of a PowerShell object. ### [Add-Type](Add-Type.md)
-Adds a Microsoft .NET Core class to a PowerShell session.
+Adds a Microsoft .NET class to a PowerShell session.
### [Clear-Variable](Clear-Variable.md) Deletes the value of a variable.
Microsoft.PowerShell.Utility New Alias (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/New-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/new-alias?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: New-Alias ---+ # New-Alias
-## SYNOPSIS
+## Synopsis
Creates a new alias.
-## SYNTAX
+## Syntax
``` New-Alias [-Name] <String> [-Value] <String> [-Description <String>] [-Option <ScopedItemOptions>] [-PassThru] [-Scope <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **New-Alias** cmdlet creates a new alias in the current PowerShell session.
-Aliases created by using **New-Alias** are not saved after you exit the session or close PowerShell.
-You can use the Export-Alias cmdlet to save your alias information to a file.
-You can later use **Import-Alias** to retrieve that saved alias information.
+The `New-Alias` cmdlet creates a new alias in the current PowerShell session. Aliases
+created by using `New-Alias` are not saved after you exit the session or close PowerShell.
+You can use the `Export-Alias` cmdlet to save your alias information to a file. You can later use
+`Import-Alias` to retrieve that saved alias information.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet ```
-PS C:\> New-Alias -Name "List" Get-ChildItem
+New-Alias -Name "List" Get-ChildItem
``` This command creates an alias named List to represent the Get-ChildItem cmdlet.
This command creates an alias named List to represent the Get-ChildItem cmdlet.
### Example 2: Create a read-only alias for a cmdlet ```
-PS C:\> New-Alias -Name "W" -Value Get-WmiObject -Description "quick wmi alias" -Option ReadOnly
-PS C:\> Get-Alias -Name "W" | Format-List *
+New-Alias -Name "C" -Value Get-ChildItem -Description "quick gci alias" -Option ReadOnly
+Get-Alias -Name "C" | Format-List *
```
-This command creates an alias named W to represent the Get-WmiObject cmdlet.
-It creates a description, quick wmi alias, for the alias and makes it read-only.
-The last line of the command uses Get-Alias to get the new alias and pipes it to Format-List to display all of the information about it.
+This command creates an alias named `C` to represent the `Get-ChildItem` cmdlet. It creates a
+description, quick wmi alias, for the alias and makes it read-only. The last line of the command
+uses `Get-Alias` to get the new alias and pipes it to Format-List to display all of the information
+about it.
-## PARAMETERS
+## Parameters
### -Description
-Specifies a description of the alias.
-You can type any string.
-If the description includes spaces, enclose it in quotation marks.
+Specifies a description of the alias. You can type any string. If the description includes spaces,
+enclose it in quotation marks.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet acts like Set-Alias if the alias named already exists.
+Indicates that the cmdlet acts like `Set-Alias` if the alias named already exists.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Name
-Specifies the new alias.
-You can use any alphanumeric characters in an alias, but the first character cannot be a number.
+Specifies the new alias. You can use any alphanumeric characters in an alias, but the first
+character cannot be a number.
```yaml Type: System.String
Accept wildcard characters: False
Specifies the value of the **Options** property of the alias. Valid values are: -- None: The alias has no constraints (default value)-- ReadOnly: The alias can be deleted but cannot be changed except by using the **Force** parameter-- Constant: The alias cannot be deleted or changed-- Private: The alias is available only in the current scope-- AllScope: The alias is copied to any new scopes that are created-- Unspecified: The option is not specified
+- `None`: The alias has no constraints (default value)
+- `ReadOnly`: The alias can be deleted but cannot be changed except by using the **Force** parameter
+- `Constant`: The alias cannot be deleted or changed
+- `Private`: The alias is available only in the current scope
+- `AllScope`: The alias is copied to any new scopes that are created
+- `Unspecified`: The option is not specified
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
-To see the **Options** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -AutoSize`.
+To see the **Options** property of all aliases in the session, type
+`Get-Alias | Format-Table -Property Name, Options -AutoSize`.
```yaml Type: System.Management.Automation.ScopedItemOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -Scope
-Specifies the scope of the new alias.
-The acceptable values for this parameter are:
+Specifies the scope of the new alias. The acceptable values for this parameter are:
-- Global-- Local-- Script-- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent).
+- `Global`
+- `Local`
+- `Script`
+- A number relative to the current scope (0 through the number of scopes, where `0` is the current
+ scope and `1` is its parent).
-Local is the default.
-For more information, see about_Scopes.
+`Local` is the default. For more information, see [about_Scopes](../Microsoft.PowerShell.Core/About/about_Scopes.md).
```yaml Type: System.String
Accept wildcard characters: False
### -WhatIf
-Shows what would happen if the cmdlet runs.
-The cmdlet is not run.
+Shows what would happen if the cmdlet runs. The cmdlet is not run.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None You cannot pipe input to this cmdlet.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
-When you use the *Passthru* parameter, **New-Alias** generates a **System.Management.Automation.AliasInfo** object representing the new alias.
-Otherwise, this cmdlet does not generate any output.
+When you use the **Passthru** parameter, `New-Alias` generates a
+**System.Management.Automation.AliasInfo** object representing the new alias. Otherwise, this cmdlet
+does not generate any output.
-## NOTES
+## Notes
-* To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete an alias, use `Remove-Item`.
+- To create a new alias, use `Set-Alias` or `New-Alias`. To change an alias, use `Set-Alias`. To delete
+an alias, use `Remove-Item`.
-## RELATED LINKS
+## Related Links
[Export-Alias](Export-Alias.md)
Microsoft.PowerShell.Utility Send Mailmessage (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 05/11/2020 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Send-MailMessage --- # Send-MailMessage
-## SYNOPSIS
+## Synopsis
Sends an email message.
-## SYNTAX
+## Syntax
### All
Send-MailMessage [-Attachments <String[]>] [-Bcc <String[]>] [[-Body] <String>]
[<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Send-MailMessage` cmdlet sends an email message from within PowerShell.
information, see [about_Preference_Variables](../Microsoft.PowerShell.Core/About
> not use `Send-MailMessage`. For more information, see > [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage).
-## EXAMPLES
+## Examples
### Example 1: Send an email from one person to another person
The **Credential** parameter specifies a domain administrator's credentials are
message. The **UseSsl** parameter specifies that Secure Socket Layer (SSL) creates a secure connection.
-## PARAMETERS
+## Parameters
### -Attachments
The acceptable values for this parameter are as follows:
- `Delay`: Notify if the delivery is delayed. - `Never`: Never notify.
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **DeliveryNotification**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
+ ```yaml Type: System.Net.Mail.DeliveryNotificationOptions Parameter Sets: (All)
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String You can pipe the path and file names of attachments to `Send-MailMessage`.
-## OUTPUTS
+## Outputs
### None This cmdlet does not generate any output.
-## NOTES
+## Notes
-## RELATED LINKS
+## Related Links
[about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md)
Microsoft.PowerShell.Utility Set Alias (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Set-Alias.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 02/28/2019 Last updated : 04/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-Alias
Title: Set-Alias
# Set-Alias
-## SYNOPSIS
+## Synopsis
Creates or changes an alias for a cmdlet or other command in the current PowerShell session.
-## SYNTAX
+## Syntax
### Default (Default)
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Option <S
[-PassThru] [-Scope <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
The `Set-Alias` cmdlet creates or changes an alias for a cmdlet or a command, such as a function, script, file, or other executable. An alias is an alternate name that refers to a cmdlet or command.
as the description.
An alias that is created or changed by `Set-Alias` is not permanent and is only available during the current PowerShell session. When the PowerShell session is closed, the alias is removed.
-## EXAMPLES
+## Examples
### Example 1: Create an alias for a cmdlet
alias for a command, create a function that includes the command, and then creat
function. For more information, see [about_Functions](../Microsoft.PowerShell.Core/about/about_Functions.md). ```
-PS> Function CD32 {Set-Location -Path C:\Windows\System32}
+Function CD32 {Set-Location -Path C:\Windows\System32}
-PS> Set-Alias -Name Go -Value CD32
+Set-Alias -Name Go -Value CD32
``` A function named `CD32` is created. The function uses the `Set-Location` cmdlet with the **Path**
-parameter to specify the directory, **C:\Windows\System32**.
+parameter to specify the directory, `C:\Windows\System32`.
The `Set-Alias` cmdlet creates an alias to the function in the current PowerShell session. The **Name** parameter specifies the alias's name, `Go`. The **Value** parameter specifies the function's name, `CD32`. To run the alias, type `Go` on the PowerShell command line. The `CD32` function runs and changes to
-the directory **C:\Windows\System32**.
+the directory `C:\Windows\System32`.
-## PARAMETERS
+### Example 6: Update options for an existing alias
+
+This example shows how to assign multiple options using the **Option** parameter.
+
+Using the example above we will set the alias `Go` as `ReadOnly` and `Private`.
+
+```powershell
+Set-Alias -Name Go -Option ReadOnly, Private
+```
+
+The alias `Go` should already exist. After running the command above, the alias is not be able to
+be changed without using the **Force** parameter and is only available in the current scope.
+
+## Parameters
### -Description
Accept wildcard characters: False
### -Option
-Sets the **Option** property value of the alias. Values such as **ReadOnly** and **Constant**
+Sets the **Option** property value of the alias. Values such as `ReadOnly` and `Constant`
protect an alias from unintended changes. To see the **Option** property of all aliases in the session, type `Get-Alias | Format-Table -Property Name, Options -Autosize`. The acceptable values for this parameter are as follows: -- **AllScope** The alias is copied to any new scopes that are created.-- **Constant** Cannot be changed or deleted.-- **None** Sets no options and is the default.-- **Private** The alias is available only in the current scope.-- **ReadOnly** Cannot be changed or deleted unless the **Force** parameter is used.-- **Unspecified**
+- `AllScope` - The alias is copied to any new scopes that are created.
+- `Constant` - Cannot be changed or deleted.
+- `None` - Sets no options and is the default.
+- `Private` - The alias is available only in the current scope.
+- `ReadOnly` - Cannot be changed or deleted unless the **Force** parameter is used.
+- `Unspecified`
+
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.ScopedItemOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### None `Set-Alias` does not accept input from the pipeline.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.AliasInfo
install Installing Powershell https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/docs-conceptual/install/Installing-PowerShell.md
--- Previously updated : 08/09/2018
-keywords: install, windows, linux, macOS, ARM, raspbian
Last updated : 04/02/2021 Title: Installing PowerShell description: Where to find instruction for installing PowerShell for each of the supported platforms. ---
description: Where to find instruction for installing PowerShell for each of the
Over the years, there have been many releases of PowerShell. Initially, Windows PowerShell was built on the .NET Framework and only worked on Windows systems. With the current release, PowerShell uses
-.NET Core 5.0 as its runtime. PowerShell runs on Windows, macOS, and Linux platforms.
+.NET 5.0 as its runtime. PowerShell runs on Windows, macOS, and Linux platforms.
## PowerShell