chef-winrm 2.3.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +202 -0
  3. data/README.md +277 -0
  4. data/bin/rwinrm +90 -0
  5. data/lib/winrm/connection.rb +84 -0
  6. data/lib/winrm/connection_opts.rb +92 -0
  7. data/lib/winrm/exceptions.rb +88 -0
  8. data/lib/winrm/http/response_handler.rb +127 -0
  9. data/lib/winrm/http/transport.rb +466 -0
  10. data/lib/winrm/http/transport_factory.rb +64 -0
  11. data/lib/winrm/output.rb +58 -0
  12. data/lib/winrm/psrp/create_pipeline.xml.erb +167 -0
  13. data/lib/winrm/psrp/fragment.rb +68 -0
  14. data/lib/winrm/psrp/init_runspace_pool.xml.erb +224 -0
  15. data/lib/winrm/psrp/message.rb +128 -0
  16. data/lib/winrm/psrp/message_data/base.rb +47 -0
  17. data/lib/winrm/psrp/message_data/error_record.rb +68 -0
  18. data/lib/winrm/psrp/message_data/pipeline_host_call.rb +30 -0
  19. data/lib/winrm/psrp/message_data/pipeline_output.rb +48 -0
  20. data/lib/winrm/psrp/message_data/pipeline_state.rb +38 -0
  21. data/lib/winrm/psrp/message_data/runspacepool_host_call.rb +30 -0
  22. data/lib/winrm/psrp/message_data/runspacepool_state.rb +37 -0
  23. data/lib/winrm/psrp/message_data/session_capability.rb +34 -0
  24. data/lib/winrm/psrp/message_data.rb +40 -0
  25. data/lib/winrm/psrp/message_defragmenter.rb +62 -0
  26. data/lib/winrm/psrp/message_factory.rb +86 -0
  27. data/lib/winrm/psrp/message_fragmenter.rb +58 -0
  28. data/lib/winrm/psrp/powershell_output_decoder.rb +142 -0
  29. data/lib/winrm/psrp/receive_response_reader.rb +95 -0
  30. data/lib/winrm/psrp/session_capability.xml.erb +7 -0
  31. data/lib/winrm/psrp/uuid.rb +39 -0
  32. data/lib/winrm/shells/base.rb +192 -0
  33. data/lib/winrm/shells/cmd.rb +59 -0
  34. data/lib/winrm/shells/power_shell.rb +202 -0
  35. data/lib/winrm/shells/retryable.rb +44 -0
  36. data/lib/winrm/shells/shell_factory.rb +56 -0
  37. data/lib/winrm/version.rb +5 -0
  38. data/lib/winrm/wsmv/base.rb +57 -0
  39. data/lib/winrm/wsmv/cleanup_command.rb +60 -0
  40. data/lib/winrm/wsmv/close_shell.rb +49 -0
  41. data/lib/winrm/wsmv/command.rb +100 -0
  42. data/lib/winrm/wsmv/command_output.rb +75 -0
  43. data/lib/winrm/wsmv/command_output_decoder.rb +54 -0
  44. data/lib/winrm/wsmv/configuration.rb +44 -0
  45. data/lib/winrm/wsmv/create_pipeline.rb +64 -0
  46. data/lib/winrm/wsmv/create_shell.rb +115 -0
  47. data/lib/winrm/wsmv/header.rb +213 -0
  48. data/lib/winrm/wsmv/init_runspace_pool.rb +96 -0
  49. data/lib/winrm/wsmv/iso8601_duration.rb +58 -0
  50. data/lib/winrm/wsmv/keep_alive.rb +66 -0
  51. data/lib/winrm/wsmv/receive_response_reader.rb +128 -0
  52. data/lib/winrm/wsmv/send_data.rb +66 -0
  53. data/lib/winrm/wsmv/soap.rb +49 -0
  54. data/lib/winrm/wsmv/wql_pull.rb +54 -0
  55. data/lib/winrm/wsmv/wql_query.rb +98 -0
  56. data/lib/winrm/wsmv/write_stdin.rb +86 -0
  57. data/lib/winrm.rb +37 -0
  58. metadata +333 -0
@@ -0,0 +1,54 @@
1
+ require 'nori'
2
+ require_relative 'base'
3
+
4
+ module WinRM
5
+ module WSMV
6
+ # WSMV message to 'pull' rest of enumeration results from Windows via WQL
7
+ class WqlPull < Base
8
+ def initialize(session_opts, namespace, enumeration_context)
9
+ @session_opts = session_opts
10
+ @namespace = namespace
11
+ @enumeration_context = enumeration_context
12
+ end
13
+
14
+ def process_response(response)
15
+ parser = Nori.new(
16
+ parser: :rexml,
17
+ advanced_typecasting: false,
18
+ convert_tags_to: ->(tag) { Nori::StringUtils.snakecase(tag).to_sym },
19
+ strip_namespaces: true
20
+ )
21
+ parser.parse(response.to_s)[:envelope][:body]
22
+ end
23
+
24
+ protected
25
+
26
+ def create_header(header)
27
+ header << Gyoku.xml(wql_header)
28
+ end
29
+
30
+ def create_body(body)
31
+ body.tag!("#{NS_ENUM}:Pull") { |en| en << Gyoku.xml(wql_body) }
32
+ end
33
+
34
+ private
35
+
36
+ def wql_header
37
+ merge_headers(
38
+ shared_headers(@session_opts),
39
+ resource_uri_wmi(@namespace),
40
+ action_enumerate_pull
41
+ )
42
+ end
43
+
44
+ def wql_body
45
+ {
46
+ "#{NS_ENUM}:EnumerationContext" => @enumeration_context,
47
+ "#{NS_WSMAN_DMTF}:OptimizeEnumeration" => nil,
48
+ "#{NS_ENUM}:MaxElements" => '32000',
49
+ "#{NS_WSMAN_MSFT}:SessionId" => "uuid:#{@session_opts[:session_id]}"
50
+ }
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,98 @@
1
+ # Copyright 2016 Shawn Neal <sneal@sneal.net>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'nori'
16
+ require_relative 'base'
17
+
18
+ module WinRM
19
+ module WSMV
20
+ # WSMV message to query Windows via WQL
21
+ class WqlQuery < Base
22
+ def initialize(transport, session_opts, wql, namespace = nil)
23
+ @session_opts = session_opts
24
+ @wql = wql
25
+ @namespace = namespace
26
+ @transport = transport
27
+ end
28
+
29
+ def process_response(response, &block)
30
+ parser = Nori.new(
31
+ parser: :rexml,
32
+ advanced_typecasting: false,
33
+ convert_tags_to: ->(tag) { Nori::StringUtils.snakecase(tag).to_sym },
34
+ strip_namespaces: true
35
+ )
36
+ @items = Hash.new { |h, k| h[k] = [] }
37
+
38
+ hresp = parser.parse(response.to_s)[:envelope][:body][:enumerate_response]
39
+ process_items hresp[:items], &block
40
+
41
+ # Perform WS-Enum PULL's until we have all the elements
42
+ enumeration_context = hresp[:enumeration_context]
43
+ until enumeration_context.nil?
44
+ query = WqlPull.new(@session_opts, @namespace, enumeration_context)
45
+ hresp = query.process_response(@transport.send_request(query.build))[:pull_response]
46
+ process_items hresp[:items], &block
47
+ enumeration_context = hresp[:enumeration_context]
48
+ end
49
+
50
+ @items
51
+ end
52
+
53
+ protected
54
+
55
+ def create_header(header)
56
+ header << Gyoku.xml(wql_header)
57
+ end
58
+
59
+ def create_body(body)
60
+ body.tag!("#{NS_ENUM}:Enumerate") { |en| en << Gyoku.xml(wql_body) }
61
+ end
62
+
63
+ private
64
+
65
+ def process_items(items, &block)
66
+ return if items.nil?
67
+
68
+ items.each_pair do |k, v|
69
+ # Normalize items so the type always has an array even if it's just a single item.
70
+ v_ary = v.is_a?(Array) ? v : [v]
71
+ if block
72
+ v_ary.each { |val| yield k, val }
73
+ else
74
+ @items[k] += v_ary
75
+ end
76
+ end
77
+ end
78
+
79
+ def wql_header
80
+ merge_headers(shared_headers(@session_opts), resource_uri_wmi(@namespace), action_enumerate)
81
+ end
82
+
83
+ def wql_body
84
+ {
85
+ "#{NS_WSMAN_DMTF}:OptimizeEnumeration" => nil,
86
+ "#{NS_WSMAN_DMTF}:MaxElements" => '32000',
87
+ "#{NS_WSMAN_DMTF}:Filter" => @wql,
88
+ "#{NS_WSMAN_MSFT}:SessionId" => "uuid:#{@session_opts[:session_id]}",
89
+ :attributes! => {
90
+ "#{NS_WSMAN_DMTF}:Filter" => {
91
+ 'Dialect' => 'http://schemas.microsoft.com/wbem/wsman/1/WQL'
92
+ }
93
+ }
94
+ }
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,86 @@
1
+ # Copyright 2016 Shawn Neal <sneal@sneal.net>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'base64'
16
+ require_relative 'base'
17
+
18
+ module WinRM
19
+ module WSMV
20
+ # WSMV message to send stdin to a remote shell
21
+ class WriteStdin < Base
22
+ def initialize(session_opts, stdin_opts)
23
+ validate_opts(session_opts, stdin_opts)
24
+ init_ops(session_opts, stdin_opts)
25
+ end
26
+
27
+ protected
28
+
29
+ def create_header(header)
30
+ header << Gyoku.xml(stdin_headers)
31
+ end
32
+
33
+ def create_body(body)
34
+ body << Gyoku.xml(stdin_body)
35
+ end
36
+
37
+ private
38
+
39
+ def init_ops(session_opts, stdin_opts)
40
+ @session_opts = session_opts
41
+ @shell_id = stdin_opts[:shell_id]
42
+ @command_id = stdin_opts[:command_id]
43
+ @stdin = stdin_opts[:stdin]
44
+ @shell_uri = stdin_opts[:shell_uri] || RESOURCE_URI_CMD
45
+ end
46
+
47
+ def validate_opts(session_opts, stdin_opts)
48
+ raise 'session_opts is required' unless session_opts
49
+ raise 'stdin_opts[:shell_id] is required' unless stdin_opts[:shell_id]
50
+ raise 'stdin_opts[:command_id] is required' unless stdin_opts[:command_id]
51
+ raise 'stdin_opts[:stdin] is required' unless stdin_opts[:stdin]
52
+ end
53
+
54
+ def stdin_headers
55
+ merge_headers(shared_headers(@session_opts),
56
+ resource_uri_shell(@shell_uri),
57
+ action_send,
58
+ selector_shell_id(@shell_id))
59
+ end
60
+
61
+ def action_send
62
+ {
63
+ "#{NS_ADDRESSING}:Action" =>
64
+ 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Send',
65
+ :attributes! => {
66
+ "#{NS_ADDRESSING}:Action" => {
67
+ 'mustUnderstand' => true
68
+ }
69
+ }
70
+ }
71
+ end
72
+
73
+ def stdin_body
74
+ {
75
+ "#{NS_WIN_SHELL}:Send" => {
76
+ "#{NS_WIN_SHELL}:Stream" => {
77
+ '@Name' => 'stdin',
78
+ '@CommandId' => @command_id,
79
+ :content! => Base64.encode64(@stdin)
80
+ }
81
+ }
82
+ }
83
+ end
84
+ end
85
+ end
86
+ end
data/lib/winrm.rb ADDED
@@ -0,0 +1,37 @@
1
+ # Copyright 2010 Dan Wanek <dan.wanek@gmail.com>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'logging'
16
+ require_relative 'winrm/version'
17
+ require_relative 'winrm/connection'
18
+ require_relative 'winrm/exceptions'
19
+
20
+ # Main WinRM module entry point
21
+ module WinRM
22
+ # Enable logging if it is requested. We do this before
23
+ # anything else so that we can setup the output before
24
+ # any logging occurs.
25
+ if ENV['WINRM_LOG'] && ENV['WINRM_LOG'] != ''
26
+ begin
27
+ Logging.logger.root.level = ENV['WINRM_LOG']
28
+ Logging.logger.root.appenders = Logging.appenders.stderr
29
+ rescue ArgumentError
30
+ # This means that the logging level wasn't valid
31
+ warn "Invalid WINRM_LOG level is set: #{ENV['WINRM_LOG']}"
32
+ warn ''
33
+ warn 'Please use one of the standard log levels: ' \
34
+ 'debug, info, warn, or error'
35
+ end
36
+ end
37
+ end
metadata ADDED
@@ -0,0 +1,333 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chef-winrm
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.3.10
5
+ platform: ruby
6
+ authors:
7
+ - Dan Wanek
8
+ - Paul Morton
9
+ - Matt Wrock
10
+ - Shawn Neal
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2025-01-07 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: builder
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.1.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.1.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: chef-gyoku
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.4.1
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.4.1
44
+ - !ruby/object:Gem::Dependency
45
+ name: erubi
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.8'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.8'
58
+ - !ruby/object:Gem::Dependency
59
+ name: gssapi
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '1.2'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.2'
72
+ - !ruby/object:Gem::Dependency
73
+ name: httpclient
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.2'
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 2.2.0.2
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.2'
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 2.2.0.2
92
+ - !ruby/object:Gem::Dependency
93
+ name: logging
94
+ requirement: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.6.1
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: '3.0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.6.1
109
+ - - "<"
110
+ - !ruby/object:Gem::Version
111
+ version: '3.0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: nori
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '='
117
+ - !ruby/object:Gem::Version
118
+ version: 2.7.0
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '='
124
+ - !ruby/object:Gem::Version
125
+ version: 2.7.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: rexml
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '3.3'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '3.3'
140
+ - !ruby/object:Gem::Dependency
141
+ name: pry
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rake
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '10.3'
161
+ - - "<"
162
+ - !ruby/object:Gem::Version
163
+ version: '13'
164
+ type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: '10.3'
171
+ - - "<"
172
+ - !ruby/object:Gem::Version
173
+ version: '13'
174
+ - !ruby/object:Gem::Dependency
175
+ name: rb-readline
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: rspec
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '3.2'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.2'
202
+ - !ruby/object:Gem::Dependency
203
+ name: rubocop
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.26.0
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 1.26.0
216
+ - !ruby/object:Gem::Dependency
217
+ name: rubyntlm
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 0.6.0
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: 0.6.3
226
+ type: :runtime
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - "~>"
231
+ - !ruby/object:Gem::Version
232
+ version: 0.6.0
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: 0.6.3
236
+ description: " Ruby library for Windows Remote Management\n"
237
+ email:
238
+ - dan.wanek@gmail.com
239
+ - paul@themortonsonline.com
240
+ - matt@mattwrock.com
241
+ - sneal@sneal.net
242
+ executables:
243
+ - rwinrm
244
+ extensions: []
245
+ extra_rdoc_files:
246
+ - README.md
247
+ - LICENSE
248
+ files:
249
+ - LICENSE
250
+ - README.md
251
+ - bin/rwinrm
252
+ - lib/winrm.rb
253
+ - lib/winrm/connection.rb
254
+ - lib/winrm/connection_opts.rb
255
+ - lib/winrm/exceptions.rb
256
+ - lib/winrm/http/response_handler.rb
257
+ - lib/winrm/http/transport.rb
258
+ - lib/winrm/http/transport_factory.rb
259
+ - lib/winrm/output.rb
260
+ - lib/winrm/psrp/create_pipeline.xml.erb
261
+ - lib/winrm/psrp/fragment.rb
262
+ - lib/winrm/psrp/init_runspace_pool.xml.erb
263
+ - lib/winrm/psrp/message.rb
264
+ - lib/winrm/psrp/message_data.rb
265
+ - lib/winrm/psrp/message_data/base.rb
266
+ - lib/winrm/psrp/message_data/error_record.rb
267
+ - lib/winrm/psrp/message_data/pipeline_host_call.rb
268
+ - lib/winrm/psrp/message_data/pipeline_output.rb
269
+ - lib/winrm/psrp/message_data/pipeline_state.rb
270
+ - lib/winrm/psrp/message_data/runspacepool_host_call.rb
271
+ - lib/winrm/psrp/message_data/runspacepool_state.rb
272
+ - lib/winrm/psrp/message_data/session_capability.rb
273
+ - lib/winrm/psrp/message_defragmenter.rb
274
+ - lib/winrm/psrp/message_factory.rb
275
+ - lib/winrm/psrp/message_fragmenter.rb
276
+ - lib/winrm/psrp/powershell_output_decoder.rb
277
+ - lib/winrm/psrp/receive_response_reader.rb
278
+ - lib/winrm/psrp/session_capability.xml.erb
279
+ - lib/winrm/psrp/uuid.rb
280
+ - lib/winrm/shells/base.rb
281
+ - lib/winrm/shells/cmd.rb
282
+ - lib/winrm/shells/power_shell.rb
283
+ - lib/winrm/shells/retryable.rb
284
+ - lib/winrm/shells/shell_factory.rb
285
+ - lib/winrm/version.rb
286
+ - lib/winrm/wsmv/base.rb
287
+ - lib/winrm/wsmv/cleanup_command.rb
288
+ - lib/winrm/wsmv/close_shell.rb
289
+ - lib/winrm/wsmv/command.rb
290
+ - lib/winrm/wsmv/command_output.rb
291
+ - lib/winrm/wsmv/command_output_decoder.rb
292
+ - lib/winrm/wsmv/configuration.rb
293
+ - lib/winrm/wsmv/create_pipeline.rb
294
+ - lib/winrm/wsmv/create_shell.rb
295
+ - lib/winrm/wsmv/header.rb
296
+ - lib/winrm/wsmv/init_runspace_pool.rb
297
+ - lib/winrm/wsmv/iso8601_duration.rb
298
+ - lib/winrm/wsmv/keep_alive.rb
299
+ - lib/winrm/wsmv/receive_response_reader.rb
300
+ - lib/winrm/wsmv/send_data.rb
301
+ - lib/winrm/wsmv/soap.rb
302
+ - lib/winrm/wsmv/wql_pull.rb
303
+ - lib/winrm/wsmv/wql_query.rb
304
+ - lib/winrm/wsmv/write_stdin.rb
305
+ homepage: https://github.com/WinRb/WinRM
306
+ licenses:
307
+ - Apache-2.0
308
+ metadata:
309
+ rubygems_mfa_required: 'true'
310
+ post_install_message:
311
+ rdoc_options:
312
+ - "-x"
313
+ - test/
314
+ - "-x"
315
+ - examples/
316
+ require_paths:
317
+ - lib
318
+ required_ruby_version: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: '3.0'
323
+ required_rubygems_version: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ requirements: []
329
+ rubygems_version: 3.3.27
330
+ signing_key:
331
+ specification_version: 4
332
+ summary: Ruby library for Windows Remote Management
333
+ test_files: []