2015-01-14 71 views
2

我已经创建了一个简单的DSC脚本,这是我假设用于下载IIS的标准脚本。无法执行DSC配置文件

configuration IISInstall 
{ 
    node VISUALSTUDIOVM 

    { 
     WindowsFeature IIS 
     { 
      Ensure = "Present" 
      Name = "Web-Server"       
     } 
    } 
} 

我想从Powershell创建一个Azure虚拟机。

我要做的就是:

  1. 我这个配置文件上传到我的Azure存储帐户。

    Publish-AzureVMDscConfiguration -ConfigurationPath C:\AzureVirtualNetwork\Installiis.ps1 -StorageContext $context -Force 
    
  2. 我创建了一个$ VM变量,并设置DSC扩展

    $vm = Set-AzureVMDSCExtension -VM $vm -ConfigurationArchive "Installiis.ps1.zip" 
    
  3. 然后我更新$ VM

    $vm | Update-AzureVM 
    

我得到手术成功的消息,但IIS并未安装在机器上。

我错过了什么。我创建的$vm是Windows服务器2012 R2机器。

当我使用Start-DscConfiguration创建我的机器并指定MOF路径工作正常后运行相同的DSC脚本。

在目标机器上的日志如下:

当我检查日志文件,我得到这个错误,需要做什么

[2015年1月14日23:34:20.81 ]执行:C:\ Packages \ Plugins \ Microsoft.Powershell.DSC \ 1.5.0.0 \ bin \ enable.cmd [01/14/2015 23:34:23.14]执行完成。

执行输出: 详细:验证操作系统版本... 详细:OS版本:6.3.9600.0 详细:服务器OS:真 详细:OS支持;启用扩展。

执行错误:日志的DSC引伸 安装不正确,请检查: C:\包\插件\ Microsoft.Powershell.DSC \ 1.5.0.0 \ BIN \ enable.ps1:错误使DSC扩展在虚拟机上。 在C:\ Packages \ Plugins \ Microsoft.Powershell.DSC \ 1.5.0.0 \ bin \ pre-enable.ps1:51 char:5 + & $ scriptRoot \ enable.ps1 -Verbose + ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~类别信息:未指定: .Commands.WriteErrorException,enable.ps1

命令C:\包\插件\ Microsoft.Powershell.DSC \ 1.5.0.0 Microsoft.Powershell.DSC的\ BIN \ enable.cmd已退出,退出代码为: 0 插件(名称:Microsoft.Powershell.DSC,版本:1.5.0.0)已成功完成。

+0

有您是否在多台虚拟机上尝试过这种情况,看看它是否总是失败? –

+0

是的,它总是失败:( –

+0

如果你改变节点名称为localhost?'node localhost' – kevmar

回答

1

两件事情,我会建议:

  1. @kevmar是正确的,node localhost是正确
  2. 尝试之后O/S版本。尽管至少有1.9.0.0版本,但您的操作系统仍在运行DSC扩展的1.5.0.0版本。尝试访客虚拟机镜像-ImageName 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201502.01-en.us-127GB.vhd'或更高版本。
0

我还会检查您的存储容器中.zip文件的名称。 Azure存储使用小写字母。当你运行命令:

$ VM =设置AzureVMDSCExtension -VM $ VM -ConfigurationArchive “Installiis.ps1.zip”

变化的.zip名称为 “installiis.ps1.zip”