[chef] Oddity with not_ifs on Windows


Chronological Thread 
  • From: Tim Smith < >
  • To:
  • Subject: [chef] Oddity with not_ifs on Windows
  • Date: Fri, 30 May 2014 17:21:21 -0700

I’m noticing a really odd behavior with not_if statements on Windows and I was curious if anyone else had run into a similar situation.  I’m trying to set powershell execution policy to unrestricted with Chef using the following resources:

execute 'set 64bit powershell execution to unrestricted' do
  command '%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe Set-ExecutionPolicy Unrestricted -Scope LocalMachine -Force'
  action :run
  not_if { `%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe Get-ExecutionPolicy`.include?('Unrestricted') }
end

execute 'set 32bit powershell execution to unrestricted' do
  command '%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe Set-ExecutionPolicy Unrestricted -Scope LocalMachine -Force'
  action :run
  not_if { `%SystemRoot%\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe Get-ExecutionPolicy`.include?('Unrestricted') }
end

The trouble is the resources are always skipped.  If I run the following from cmd as the Administrator I get back ‘restricted’ as expected:
%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe Get-ExecutionPolicy
Restricted

If I fire up IRB I get a completely different answer:

irb(main):019:0> `%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe Get-ExecutionPolicy`
=> "Unrestricted\n”

I noticed that if I echo the architecture in IRB I get 32bit, while I get 64bit back from the command prompt.  It seems like I should still back the correct answer since I’m trying to execute against 32bit powershell, but clearly something is wrong here.  Any advice?

-Tim


The information in this message may be confidential.  It is intended solely for
the addressee(s).  If you are not the intended recipient, any disclosure,
copying or distribution of the message, or any action or omission taken by you
in reliance on it, is prohibited and may be unlawful.  Please immediately
contact the sender if you have received this message in error.




Archive powered by MHonArc 2.6.16.

§