chef-powershell 3.0.19 → 3.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of chef-powershell might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
- data/bin/ruby_bin_folder/AMD64/Chef.Powershell.Wrapper.dll +0 -0
- data/bin/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
- data/lib/chef-powershell/powershell.rb +20 -8
- data/lib/chef-powershell/pwsh.rb +19 -1
- data/lib/chef-powershell/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34a8f11c745dcc80ae9c958bb64ee978274627e916db91b9f175ffa7a5584dc8
|
4
|
+
data.tar.gz: a80ed1e45f558e0fd742ab055f8cc91417881bf83f727ea1403d055d4e94f898
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c83d7d8ea23fa9eb2d00c7f8ec090a4b2e13c5bc451a03da5fcb43cb70179f9d8bf291f588977196bdec05765e6745a473c0966a5e5fe2131b9a1a2cff15cf5
|
7
|
+
data.tar.gz: 2e9a08ab539a0d68fece5e76f4f4ca291d6671ad17a4f525b0c5867fb240d05324e1293de12be87f1b8cc3452e8e793784a3a9a9260bd06f04fceb10002e7bf5
|
Binary file
|
Binary file
|
data/bin/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll
CHANGED
Binary file
|
@@ -47,6 +47,9 @@ class ChefPowerShell
|
|
47
47
|
exec(script, timeout: timeout)
|
48
48
|
end
|
49
49
|
|
50
|
+
def power_mod
|
51
|
+
ChefPowerShell::PowerShell::PowerShellMod
|
52
|
+
end
|
50
53
|
#
|
51
54
|
# Was there an error running the command
|
52
55
|
#
|
@@ -63,7 +66,7 @@ class ChefPowerShell
|
|
63
66
|
raise ChefPowerShell::PowerShellExceptions::PowerShellCommandFailed, "Unexpected exit in PowerShell command: #{@errors}" if error?
|
64
67
|
end
|
65
68
|
|
66
|
-
module
|
69
|
+
module PowerShellMod
|
67
70
|
extend FFI::Library
|
68
71
|
|
69
72
|
def self.load_powershell_dll(powershell_dll)
|
@@ -82,13 +85,22 @@ class ChefPowerShell
|
|
82
85
|
private
|
83
86
|
|
84
87
|
def exec(script, timeout: -1)
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
88
|
+
power_mod.load_powershell_dll(@powershell_dll)
|
89
|
+
begin
|
90
|
+
execution = power_mod.do_work(script, timeout)
|
91
|
+
output = execution.read_utf16string
|
92
|
+
hashed_outcome = FFI_Yajl::Parser.parse(output)
|
93
|
+
@result = FFI_Yajl::Parser.parse(hashed_outcome["result"])
|
94
|
+
@errors = hashed_outcome["errors"]
|
95
|
+
@verbose = hashed_outcome["verbose"]
|
96
|
+
rescue => e
|
97
|
+
if File.exist?("C:\\chef-powershell-output.txt")
|
98
|
+
message=[e.inspect, File.read("C:\\chef-powershell-output.txt")].join("\n")
|
99
|
+
raise message
|
100
|
+
else
|
101
|
+
raise
|
102
|
+
end
|
103
|
+
end
|
92
104
|
end
|
93
105
|
end
|
94
106
|
end
|
data/lib/chef-powershell/pwsh.rb
CHANGED
@@ -30,7 +30,25 @@ class ChefPowerShell
|
|
30
30
|
super
|
31
31
|
end
|
32
32
|
|
33
|
-
|
33
|
+
def power_mod
|
34
|
+
ChefPowerShell::Pwsh::PwshMod
|
35
|
+
end
|
36
|
+
|
37
|
+
module PwshMod
|
38
|
+
extend FFI::Library
|
39
|
+
|
40
|
+
def self.load_powershell_dll(powershell_dll)
|
41
|
+
@dlls ||= []
|
42
|
+
return if @dlls.include?(powershell_dll)
|
43
|
+
ffi_lib powershell_dll
|
44
|
+
@dlls << powershell_dll
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.do_work(ps_command, timeout = -1)
|
48
|
+
attach_function(:execute_powershell, :ExecuteScript, %i{string int}, :pointer) unless method_defined?(:execute_powershell)
|
49
|
+
execute_powershell(ps_command, timeout)
|
50
|
+
end
|
51
|
+
end
|
34
52
|
|
35
53
|
def exec(script, timeout: -1)
|
36
54
|
# Note that we need to override the location of the shared dotnet core library
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-powershell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Software, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|