New-AzConnectedMachineExtension

The operation to create the extension.

Syntax

New-AzConnectedMachineExtension
   -MachineName <String>
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AutoUpgradeMinorVersion]
   [-EnableAutomaticUpgrade]
   [-ExtensionType <String>]
   [-ForceRerun <String>]
   [-InstanceViewName <String>]
   [-InstanceViewType <String>]
   [-InstanceViewTypeHandlerVersion <String>]
   [-ProtectedSetting <Hashtable>]
   [-Publisher <String>]
   [-Setting <Hashtable>]
   [-StatusCode <String>]
   [-StatusDisplayStatus <String>]
   [-StatusLevel <String>]
   [-StatusMessage <String>]
   [-StatusTime <DateTime>]
   [-Tag <Hashtable>]
   [-TypeHandlerVersion <String>]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -MachineName <String>
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -JsonString <String>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -MachineName <String>
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -JsonFilePath <String>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -MachineName <String>
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -ExtensionParameter <IMachineExtension>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -Name <String>
   -MachineInputObject <IConnectedMachineIdentity>
   -Location <String>
   [-AutoUpgradeMinorVersion]
   [-EnableAutomaticUpgrade]
   [-ExtensionType <String>]
   [-ForceRerun <String>]
   [-InstanceViewName <String>]
   [-InstanceViewType <String>]
   [-InstanceViewTypeHandlerVersion <String>]
   [-ProtectedSetting <Hashtable>]
   [-Publisher <String>]
   [-Setting <Hashtable>]
   [-StatusCode <String>]
   [-StatusDisplayStatus <String>]
   [-StatusLevel <String>]
   [-StatusMessage <String>]
   [-StatusTime <DateTime>]
   [-Tag <Hashtable>]
   [-TypeHandlerVersion <String>]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -Name <String>
   -MachineInputObject <IConnectedMachineIdentity>
   -ExtensionParameter <IMachineExtension>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -InputObject <IConnectedMachineIdentity>
   -Location <String>
   [-AutoUpgradeMinorVersion]
   [-EnableAutomaticUpgrade]
   [-ExtensionType <String>]
   [-ForceRerun <String>]
   [-InstanceViewName <String>]
   [-InstanceViewType <String>]
   [-InstanceViewTypeHandlerVersion <String>]
   [-ProtectedSetting <Hashtable>]
   [-Publisher <String>]
   [-Setting <Hashtable>]
   [-StatusCode <String>]
   [-StatusDisplayStatus <String>]
   [-StatusLevel <String>]
   [-StatusMessage <String>]
   [-StatusTime <DateTime>]
   [-Tag <Hashtable>]
   [-TypeHandlerVersion <String>]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzConnectedMachineExtension
   -InputObject <IConnectedMachineIdentity>
   -ExtensionParameter <IMachineExtension>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The operation to create the extension.

Examples

Example 1: Add a new extension to a machine

$Settings = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name custom -ResourceGroupName ContosoTest -MachineName win-eastus1 -Location eastus -Publisher "Microsoft.Compute" -TypeHandlerVersion 1.10 -Settings $Settings -ExtensionType CustomScriptExtension

Name   Location ProvisioningState
----   -------- -----------------
custom eastus   Succeeded

Sets an extension on a machine.

Example 2: Add a new extension with extension parameters specified via the pipeline

$otherExtension = Get-AzConnectedMachineExtension -Name custom -ResourceGroupName ContosoTest -MachineName other
$otherExtension | New-AzConnectedMachineExtension -Name custom -ResourceGroupName ContosoTest -MachineName important

Name   Location ProvisioningState
----   -------- -----------------
custom eastus   Succeeded

This creates a new extension with the extension parameters provided by the object passed in via the pipeline. This is great if you want to grab the parameters of one machine and apply it to another machine.

Example 3: Add a new extension with location specified via the pipeline

$identity = [Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Models.ConnectedMachineIdentity]@{
    Id = "/subscriptions/$($SubscriptionId)/resourceGroups/$($ResourceGroupName)/providers/Microsoft.HybridCompute/machines/$MachineName/extensions/$ExtensionName"
}
$Settings = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
$identity | New-AzConnectedMachineExtension -Location eastus -Publisher "Microsoft.Compute" -TypeHandlerVersion 1.10 -Settings $Settings -ExtensionType CustomScriptExtension

Name   Location ProvisioningState
----   -------- -----------------
custom eastus   Succeeded

This creates a new machine extension using the identity provided via the pipeline. You likely won't do this, but it's possible.

Example 4: Add a new extension using an extension object as both the location and parameters for updating

$ext = Get-AzConnectedMachineExtension -Name custom -ResourceGroupName ContosoTest -MachineName other
$ext | New-AzConnectedMachineExtension -ExtensionParameter $ext

This creates a new machine extension using the identity provided via the pipeline and the extension details provided by the passed in extension object. You likely won't do this, but it's possible.

Parameters

-AsJob

Run the command as a job

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutoUpgradeMinorVersion

Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAutomaticUpgrade

Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExtensionParameter

Describes a Machine Extension.

Type:IMachineExtension
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ExtensionType

Specifies the type of the extension; an example is "CustomScriptExtension".

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceRerun

How the extension handler should be forced to update even if the extension configuration has not changed.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Identity Parameter

Type:IConnectedMachineIdentity
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceViewName

The machine extension name.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceViewType

Specifies the type of the extension; an example is "CustomScriptExtension".

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceViewTypeHandlerVersion

Specifies the version of the script handler.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JsonFilePath

Path of Json file supplied to the Create operation

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JsonString

Json string supplied to the Create operation

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Location

The geo-location where the resource lives

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MachineInputObject

Identity Parameter

Type:IConnectedMachineIdentity
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MachineName

The name of the machine where the extension should be created or updated.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

The name of the machine extension.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NoWait

Run the command asynchronously

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProtectedSetting

The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.

Type:Hashtable
Aliases:ProtectedSettings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Publisher

The name of the extension handler publisher.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

The name of the resource group. The name is case insensitive.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Setting

Json formatted public settings for the extension.

Type:Hashtable
Aliases:Settings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusCode

The status code.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusDisplayStatus

The short localizable label for the status.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusLevel

The level code.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusMessage

The detailed status message, including for alerts and error messages.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusTime

The time of the status.

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

The ID of the target subscription.

Type:String
Position:Named
Default value:(Get-AzContext).Subscription.Id
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Resource tags.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeHandlerVersion

Specifies the version of the script handler.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

IConnectedMachineIdentity

IMachineExtension

Outputs

IMachineExtension