Update-AzConnectedMachineExtension

The operation to create or update the extension.

Syntax

Update-AzConnectedMachineExtension
      -MachineName <String>
      -Name <String>
      -ResourceGroupName <String>
      [-SubscriptionId <String>]
      [-AutoUpgradeMinorVersion]
      [-EnableAutomaticUpgrade]
      [-ForceRerun <String>]
      [-ProtectedSetting <Hashtable>]
      [-Publisher <String>]
      [-Setting <Hashtable>]
      [-Tag <Hashtable>]
      [-Type <String>]
      [-TypeHandlerVersion <String>]
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -MachineName <String>
      -Name <String>
      -ResourceGroupName <String>
      [-SubscriptionId <String>]
      -JsonString <String>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -MachineName <String>
      -Name <String>
      -ResourceGroupName <String>
      [-SubscriptionId <String>]
      -JsonFilePath <String>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -MachineName <String>
      -Name <String>
      -ResourceGroupName <String>
      [-SubscriptionId <String>]
      -ExtensionParameter <IMachineExtensionUpdate>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -Name <String>
      -MachineInputObject <IConnectedMachineIdentity>
      [-AutoUpgradeMinorVersion]
      [-EnableAutomaticUpgrade]
      [-ForceRerun <String>]
      [-ProtectedSetting <Hashtable>]
      [-Publisher <String>]
      [-Setting <Hashtable>]
      [-Tag <Hashtable>]
      [-Type <String>]
      [-TypeHandlerVersion <String>]
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -Name <String>
      -MachineInputObject <IConnectedMachineIdentity>
      -ExtensionParameter <IMachineExtensionUpdate>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -InputObject <IConnectedMachineIdentity>
      [-AutoUpgradeMinorVersion]
      [-EnableAutomaticUpgrade]
      [-ForceRerun <String>]
      [-ProtectedSetting <Hashtable>]
      [-Publisher <String>]
      [-Setting <Hashtable>]
      [-Tag <Hashtable>]
      [-Type <String>]
      [-TypeHandlerVersion <String>]
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzConnectedMachineExtension
      -InputObject <IConnectedMachineIdentity>
      -ExtensionParameter <IMachineExtensionUpdate>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The operation to create or update the extension.

Examples

Example 1: Update an extension

$splat = @{
    ResourceGroupName = "connectedMachines"
    MachineName = "linux-eastus1_1"
    Name = "customScript"
    Settings = @{
        commandToExecute = "ls -l"
    }
}
Update-AzConnectedMachineExtension @splat

Name         Location ProvisioningState
----         -------- -----------------
customScript eastus   Succeeded

Updates an extension on a specific machine.

Example 2: Update an extension with location specified via the pipeline

$extToUpdate = Get-AzConnectedMachineExtension -ResourceGroupName connectedMachines -MachineName linux-eastus1_1 -Name customScript
$extToUpdate | Update-AzConnectedMachineExtension -Settings @{
    commandToExecute = "ls -l"
}

Name         Location ProvisioningState
----         -------- -----------------
customScript eastus   Succeeded

Updates a specific extension passed in via the pipeline. Here we are using the extension passed in via the pipeline to help us identify which extension we want to operate on and are specifying what we want to change via the normal parameters (like -Settings)

Example 3: Update an extension with extension parameters specified via the pipeline

$extToUpdate = Get-AzConnectedMachineExtension -ResourceGroupName connectedMachines -MachineName linux-eastus1_1 -Name customScript
# Update the settings on the object that will be used via the pipeline
$extToUpdate.Setting.commandToExecute = "ls -l"
$splat = @{
    ResourceGroupName = "connectedMachines"
    MachineName = "linux-eastus1_1"
    Name = "customScript"
}
$extToUpdate | Update-AzConnectedMachineExtension @splat

Name         Location ProvisioningState
----         -------- -----------------
customScript eastus   Succeeded

Updates a specific extension passed in via the pipeline. Here we are using the extension passed in via the pipeline to provide the changes we want to make on the extension. The location of the extension is not retrieved via the pipeline but rather via the parameters specified normally (by the splat parameter).

Example 4: Using an extension object as both the location and parameters for updating

$extToUpdate = Get-AzConnectedMachineExtension -ResourceGroupName connectedMachines -MachineName linux-eastus1_1 -Name customScript
# Update the settings on the object that will be used via the pipeline
$extToUpdate.Setting.commandToExecute = "ls -l"
$extToUpdate | Update-AzConnectedMachineExtension -ExtensionParameter $extToUpdate

Name         Location ProvisioningState
----         -------- -----------------
customScript eastus   Succeeded

Updates a specific extension passed in via the pipeline. Here we are using the extension passed in via the pipeline to help us identify which extension we want to operate on. In addition to that, we are using the parameters of the extension object to specify what to update.

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 Update.

Type:IMachineExtensionUpdate
Position:Named
Default value:None
Required:True
Accept pipeline input:True
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

-JsonFilePath

Path of Json file supplied to the Update operation

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

-JsonString

Json string supplied to the Update operation

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

-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

-Type

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

-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

IMachineExtensionUpdate

Outputs

IMachineExtension