你当前正在访问 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 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。

语法

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