Puppet -- Powershell script

23 views
Skip to first unread message

Shivayogi Kamat

unread,
Sep 19, 2016, 4:48:25 PM9/19/16
to Puppet Users
I have an application which requires a local account to be required  for the configuration.
I have created a module inside that I have 2 folders :

i. files
ii.manifests

under manifests init file I have the below code:

class xyz {

exec { ' app_config':

 command => ' C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -file c:\provisioning\modules\xyz\files\config1.ps1 '
}
}

Under files folder there are 2 files

i.  config1.ps1

ii. app_execute.bat

Under config1.ps1 I am creating a local user :
$user = $env:COMPUTERNAME/Testing

$Credentials = New-Object -TypeName System.management.Automation.PScredential -ArgumentList $user, ("test@3456", | Convertto-securestring -ASplaintext -force)

Start-Process C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -Credential $Credentials -ArgumentList " Start-Process 
C:\Windows\System32\cmd.exe -file c:\provisioning\c:\provisioning\modules\xyz\files\app_execute.bat "

Under app_execute.bat

c:\puppet\app.bat -f c:\puppet\responsefile.rsp

The log file shows that the powershell file config1.ps1 got executed successfully, but the application log file is not getting generated, but when executed manually the config1.ps1 the app will get configured.

Not sure, in config1.ps1, I am using a start-process which will create a separate process using the local account.

I think the puppet is not waiting for the above config1.ps1 to be completed succesfully.

Not sure why it is coming out without executing fully, Is there any condition, as we need to execute only  one file inside init, as I am initiating 2 processes.

Please advise.

 
 

Reply all
Reply to author
Forward
0 new messages