I am using Puppet installed with the powershell module.  I am struggling 
with how to pass a puppet variable through to powershell.  For instance I 
have the following in my module *init.pp* file:

class windows_dns(

$forwarders = '1.1.1.1'

) {
   anchor { 'windows_dns::begin': } ->
   class{'windows_dns::install': } ->
   class{'windows_dns::config': } ->
   class{'windows_dns::service': } ->
   anchor { 'windows_dns::end': }

}


Then in my *config.pp* file I have:

class windows_dns::config {

case $kernelmajversion {
6.3: {
                        $forwarder_execute = 
'windows_dns/setdnsforwarders.ps1'
$forwarder_check = 'windows_dns/checkdnsforwarders.ps1'
$dnsforwarders = $windows_dns::forwarders

                }
6.1: {
                        $forwarder_execute = 
'windows_dns/setdnsforwarders_legacy.ps1'
$forwarder_check = 'windows_dns/checkdnsforwarders_legacy.ps1'

                }
                }

exec { 'forwarderscreate':

command => template ($forwarder_execute),
unless => template ($forwarder_check),
provider => powershell,
logoutput => true,

}

I have stored as a template in the manifest a powershell script file as:

$dnsforwarders | out-file C:\test.log

I obviously want to use a more complex output.  I tried adding a parameter 
to the top of my powershell script but dont understand how to pass that as 
an option to puppet.  

The variable passes through fine.  I tested by changing the command to 
*command=> 
template ($dnsforwarders)* and i of course got an error from puppet about 
it not being able to find the template named *1.1.1.1* in the manifest.  I 
just dont know how to pass this through to the shell. 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/6a394e94-7ec7-4cd5-b6b6-a89321f354b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to