2015-04-27 2 views
0

Mon modèle de chaleur est comme:Comment passer des paramètres à script Powershell dans userdata

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 

Mais init.log-a rapporté la base des nuages: executeuserdatascript C: \ Program Files (x86) \ Solutions Cloud \ Cloudbase-Init \ Python27 \ lib \ paquets \ cloudbaseinit \ plugins \ windows \ userdatautils.py: 58 2015-04-27 18: 40: 06.905 1788 DEBUG cloudbaseinit.plugins.windows.userdatautils [ -] Userdata stderr: Le terme 'param' n'est pas reconnu comme le nom d'une cmdlet, d'une fonction, d'un script fi

le, ou un programme utilisable. Vérifiez l'orthographe du nom, ou si un chemin était inclu, vérifiez que le chemin est correct et essayez à nouveau.

C: \ Users \-init base des nuages ​​\ AppData \ temp local \ \ 6ea2afb5-645b-430c-91a2-a67c3201f

5db.ps1: 7 CHAR: 7

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

ndException 
    FullyQualifiedErrorId : CommandNotFoundException 

Alors, que est la bonne façon de passer le paramètre à un script PowerShell en utilisant le modèle de chaleur?

Répondre