I tried that and it just came up blank. Am I suppose to pass it as a powershell parameter?
On Thursday, October 9, 2014 5:18:05 PM UTC-4, Paul Ponzeka wrote: > > Thanks josh, so in my template file setdnsforwarders.ps1 is this the > correct syntax? > > $outside = <%= scope['dnsforwarders'] %> > $outside | out-file C:\output.log -append > > > On Thursday, October 9, 2014 4:52:04 PM UTC-4, Josh Cooper wrote: >> >> >> >> On Thu, Oct 9, 2014 at 12:59 PM, Juan Andres Ramirez <[email protected]> >> wrote: >> >>> Example: >>> >>> I have my script on powershell in the next path >>> >>> in Puppet: >>> >>> define some::module() { >>> $script = "\\\\server1\\shared\\script.ps1 >>> >>> exec { "Executing a script": >>> command => "powershell.exe -ExecutionPolicy ByPass -File >>> ${script} ${param1}", >>> unless => "powershell.exe -ExecutionPolicy ByPass >>> -command \"here any command on powershell \"" >>> } >>> >>> >>> >>> On Thursday, October 9, 2014 4:22:14 PM UTC-3, Paul Ponzeka wrote: >>> >>>> 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/c62b8af5-4890-4a84-905e-63e7b6132e13%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/puppet-users/c62b8af5-4890-4a84-905e-63e7b6132e13%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> I would recommend using the powershell provider as you were doing. In >> your powershell script 'windows_dns/setdnsforwarders.ps1', resolve >> parameters using ERB syntax found in >> https://docs.puppetlabs.com/guides/templating.html#referencing-variables, >> something like: >> >> <%= scope['dnsforwarders'] %> >> >> Josh >> >> -- >> Josh Cooper >> Developer, Puppet Labs >> > -- 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/e7cfb152-18d3-43df-a782-b69eee1f83ca%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
