你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureVMDscExtension

在虚拟机上配置 DSC 扩展。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

Set-AzureVMDscExtension
   [-ReferenceName <String>]
   [-ConfigurationArgument <Hashtable>]
   [-ConfigurationDataPath <String>]
   [-ConfigurationArchive] <String>
   [-ConfigurationName <String>]
   [-ContainerName <String>]
   [-Force]
   [-StorageContext <AzureStorageContext>]
   [-Version <String>]
   [-StorageEndpointSuffix <String>]
   [-WmfVersion <String>]
   [-DataCollection <String>]
   -VM <IPersistentVM>
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureVMDscExtension cmdlet 在虚拟机上配置 Desired State Configuration (DSC) 扩展。

示例

示例 1:在虚拟机上配置 DSC 扩展

PS C:\> Set-AzureVMDscExtension -VM $VM -ConfigurationArchive MyConfiguration.ps1.zip  -ConfigurationName MyConfiguration -ConfigurationArgument @{ Path = 'C:\MyDirectory' }
DeploymentName              : my-vm-svc
Name                        : my-vm
Label                       :
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : ReadyRole
IpAddress                   : 10.10.10.10
InstanceStateDetails        :
PowerState                  : Started
InstanceErrorCode           :
InstanceFaultDomain         : 0
InstanceName                : my-vm
InstanceUpgradeDomain       : 0
InstanceSize                : Small
AvailabilitySetName         :
DNSName                     : http://my-vm-svc.cloudapp.net/
Status                      : ReadyRole
GuestAgentStatus            : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVMModel.GuestAgentStatus
ResourceExtensionStatusList : {Contoso.Compute.BGInfo}
PublicIPAddress             :
PublicIPName                :
ServiceName                 : my-vm-svc
OperationDescription        : Get-AzureVM
OperationId                 : a0217a7af900c1f8a212299a3333cdbd6
OperationStatus             : OK

此命令在虚拟机上配置 DSC 扩展。

以前必须使用 Publish-AzureVMDscConfiguration 命令将MyConfiguration.ps1.zip包上传到 Azure 存储 ,并包含 MyConfiguration.ps1 脚本及其所依赖的模块。

MyConfiguration 参数指示要执行的脚本中的特定 DSC 配置。 -ConfigurationArgument 参数指定一个哈希表,其中包含传递给配置函数的参数。

示例 2:使用配置数据的路径在虚拟机上配置 DSC 扩展

PS C:\> $VM | Set-AzureVMDscExtension -ConfigurationArchive MyConfiguration.ps1.zip  -ConfigurationName MyConfiguration -ConfigurationArgument @{ Credential = Get-Credential } -ConfigurationDataPath MyConfigurationData.psd1
DeploymentName              : my-vm-svc
Name                        : my-vm
Label                       :
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : ReadyRole
IpAddress                   : 10.10.10.10
InstanceStateDetails        :
PowerState                  : Started
InstanceErrorCode           :
InstanceFaultDomain         : 0
InstanceName                : my-vm
InstanceUpgradeDomain       : 0
InstanceSize                : Small
AvailabilitySetName         :
DNSName                     : http://my-vm-svc.cloudapp.net/
Status                      : ReadyRole
GuestAgentStatus            : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVMModel.GuestAgentStatus
ResourceExtensionStatusList : {Microsoft.Compute.BGInfo, Microsoft.Powershell.DSC}
PublicIPAddress             :
PublicIPName                :
ServiceName                 : my-vm-svc
OperationDescription        : Get-AzureVM
OperationId                 : a0217a7af900c1f8a212299a3333cdbd7
OperationStatus             : OK

此命令使用配置数据的路径在虚拟机上配置 DSC 扩展。

参数

-ConfigurationArchive

指定以前由 Publish-AzureVMDscConfiguration 上传的配置包(.zip文件)的名称。 此参数必须仅指定文件的名称,而不指定任何路径。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ConfigurationArgument

指定指定配置函数的参数的哈希表。 这些键对应于参数名称和参数值。

此参数的可接受值为:

  • 基元类型
  • string
  • array
  • PSCredential
类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ConfigurationDataPath

指定指定配置函数数据的 .psd1 文件的路径。 此文件必须包含一个哈希表,如分离配置和环境数据中所述https://msdn.microsoft.com/en-us/PowerShell/DSC/configData.

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ConfigurationName

指定由 DSC 扩展调用的配置脚本或模块的名称。

此参数的值必须是 ConfigurationArchive打包的脚本或模块中包含的配置函数之一的名称。

如果省略此参数(不包括任何扩展名),则此 cmdlet 默认为 ConfigurationArchive 参数提供的文件的名称。 例如,如果 ConfigurationArchive 为“SalesWebSite.ps1.zip”,则 ConfigurationName默认值为“SalesWebSite”。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ContainerName

指定 ConfigurationArchive 所在的 Azure 存储容器的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DataCollection

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Force

指示此 cmdlet 覆盖现有 Blob。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InformationAction

指定此 cmdlet 如何响应信息事件。

此参数的可接受值为:

  • 继续
  • 忽略
  • 询问
  • SilentlyContinue
  • 停止
  • Suspend
类型:ActionPreference
别名:infa
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InformationVariable

指定信息变量。

类型:String
别名:iv
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ReferenceName

指定可用于引用扩展的用户定义字符串。 首次将扩展添加到虚拟机时指定此参数。 对于后续更新,应在更新扩展时指定以前使用的引用名称。 使用 Get-AzureVM cmdlet 返回分配给扩展的 ReferenceName

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-StorageContext

指定提供用于访问配置脚本的安全设置的 Azure 存储上下文。 此上下文提供对 ContainerName 参数指定的容器的读取访问权限。

类型:AzureStorageContext
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-StorageEndpointSuffix

指定所有存储服务的 DNS 终结点后缀,例如“core.contoso.net”。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Version

指定要使用的 DSC 扩展的特定版本。 如果未指定此参数,则默认值设置为“1.*”。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VM

指定持久性虚拟机对象。

类型:IPersistentVM
别名:InputObject
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-WmfVersion

指定要在虚拟机上安装的 Windows Management Framework(WMF)版本。 DSC 扩展取决于仅在 WMF 更新中可用的 DSC 功能。 此参数指定要在虚拟机上安装的更新版本。 此参数的可接受值为:

  • 4.0. 除非已安装较新版本,否则安装 WMF 4.0。
  • 5.0. 安装最新版本的 WMF 5.0。
  • 最近的。 安装最新的 WMF(当前 WMF 5.0)。

默认值为 latest。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False