如何将参数传递给userdata中的powershell脚本

时间:2015-04-27 19:10:27

标签: openstack openstack-heat

我的热模板如下:

windows_instance: 
  type: OS::Nova::Server 
  properties: 
  image: {get_param: imagever } 
  flavor: m1.large 
  key_name: test 
  networks: 
    - port: { get_resource: publicport } 
  user_data_format: RAW 
  user_data: 
    str_replace: 
     template: | 
       #ps1

        testps "$srcurl" "$dest"   -Verbose

     params:
      $dest: { get_param: target_location }
      $srcurl: { get_param: url_src }
      testps: { get_file: test1.ps1 }

test1.ps1:

param([String]$src, [String]$dest) 
Write-Host "url is:" + $src 
write-host "dest is:" + $dest

但是cloudbase-init.log报告:executeuserdatascript C:\ Program Files(x86)\ Cloudbase Solutions \ Cloudbase-Init \ Python27 \ lib \ site-packages \ cloudbaseinit \ plugins \ windows \ userdatautils.py:58 2015-04 -27 18:40:06.905 1788 DEBUG cloudbaseinit.plugins.windows.userdatautils [ - ] Userdata stderr:术语'param'未被识别为cmdlet,函数,脚本fi的名称

le,或可操作的程序。检查名称的拼写,或路径是否包含

ded,验证路径是否正确,然后重试。

在C:\ Users \ cloudbase-init \ appdata \ local \ temp \ 6ea2afb5-645b-430c-91a2-a67c3201f

5db.ps1:7 char:7

param <<<< ([String]$src, [String]$dest)
    CategoryInfo : ObjectNotFound: (param:String) [], CommandNotFou

ndException
    FullyQualifiedErrorId : CommandNotFoundException

那么使用热模板将参数传递给powershell脚本的正确方法是什么?

1 个答案:

答案 0 :(得分:0)