-
-
Save michaeltlombardi/9d8a347dd961b6cb596929b0349970c1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
windows_zipfile 'C:\Program Files\WindowsPowerShell\Modules' do | |
source node['wincd']['modules']['cCDROMdriveletter']['url'] | |
checksum node['wincd']['modules']['cCDROMdriveletter']['checksum'] | |
action :unzip | |
not_if {::File.directory?("C:/Program Files/WindowsPowerShell/Modules/cCDROMdriveletter")} | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
D, [2017-03-30T10:01:45.581675 #32948] DEBUG -- default-win2012r2tk: Berksfile found at C:/dev/AutoMon/wincb/Berksfile, loading Berkshelf | |
D, [2017-03-30T10:01:46.627274 #32948] DEBUG -- default-win2012r2tk: Berkshelf 5.6.0 library loaded | |
D, [2017-03-30T10:01:46.628259 #32948] DEBUG -- default-win2012r2tk: winrm requested, loading winrm gem (["~> 2.0"]) | |
D, [2017-03-30T10:01:46.785349 #32948] DEBUG -- default-win2012r2tk: winrm is loaded. | |
D, [2017-03-30T10:01:46.786394 #32948] DEBUG -- default-win2012r2tk: winrm-fs requested, loading winrm-fs gem (["~> 1.0"]) | |
D, [2017-03-30T10:01:46.891920 #32948] DEBUG -- default-win2012r2tk: winrm-fs is loaded. | |
D, [2017-03-30T10:01:46.892421 #32948] DEBUG -- default-win2012r2tk: winrm-elevated requested, loading winrm-elevated gem (["~> 1.0"]) | |
D, [2017-03-30T10:01:46.898449 #32948] DEBUG -- default-win2012r2tk: winrm-elevated is loaded. | |
I, [2017-03-30T10:01:48.649178 #32948] INFO -- default-win2012r2tk: -----> Converging <default-win2012r2tk>... | |
I, [2017-03-30T10:01:48.652653 #32948] INFO -- default-win2012r2tk: Preparing files for transfer | |
D, [2017-03-30T10:01:48.654185 #32948] DEBUG -- default-win2012r2tk: Creating local sandbox in C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq | |
I, [2017-03-30T10:01:48.654688 #32948] INFO -- default-win2012r2tk: Preparing dna.json | |
D, [2017-03-30T10:01:48.655163 #32948] DEBUG -- default-win2012r2tk: Creating dna.json from {:run_list=>["recipe[wincb::cdrom]"]} | |
I, [2017-03-30T10:01:48.658691 #32948] INFO -- default-win2012r2tk: Resolving cookbook dependencies with Berkshelf 5.6.0... | |
D, [2017-03-30T10:01:48.661721 #32948] DEBUG -- default-win2012r2tk: Using Berksfile from C:/dev/AutoMon/wincb/Berksfile | |
I, [2017-03-30T10:02:03.743305 #32948] INFO -- default-win2012r2tk: Removing non-cookbook files before transfer | |
I, [2017-03-30T10:02:03.840360 #32948] INFO -- default-win2012r2tk: Preparing nodes | |
D, [2017-03-30T10:02:03.841908 #32948] DEBUG -- default-win2012r2tk: Using nodes from C:/dev/AutoMon/wincb/nodes | |
I, [2017-03-30T10:02:03.844860 #32948] INFO -- default-win2012r2tk: Preparing validation.pem | |
D, [2017-03-30T10:02:03.845887 #32948] DEBUG -- default-win2012r2tk: Using a dummy validation.pem | |
I, [2017-03-30T10:02:03.848893 #32948] INFO -- default-win2012r2tk: Preparing client.rb | |
D, [2017-03-30T10:02:03.853416 #32948] DEBUG -- default-win2012r2tk: Creating client.rb from {:node_name=>"default-win2012r2tk", :checksum_path=>"\#{ENV['TEMP']}\\kitchen\\checksums", :file_cache_path=>"\#{ENV['TEMP']}\\kitchen\\cache", :file_backup_path=>"\#{ENV['TEMP']}\\kitchen\\backup", :cookbook_path=>["\#{ENV['TEMP']}\\kitchen\\cookbooks", "\#{ENV['TEMP']}\\kitchen\\site-cookbooks"], :data_bag_path=>"\#{ENV['TEMP']}\\kitchen\\data_bags", :environment_path=>"\#{ENV['TEMP']}\\kitchen\\environments", :node_path=>"\#{ENV['TEMP']}\\kitchen\\nodes", :role_path=>"\#{ENV['TEMP']}\\kitchen\\roles", :client_path=>"\#{ENV['TEMP']}\\kitchen\\clients", :user_path=>"\#{ENV['TEMP']}\\kitchen\\users", :validation_key=>"\#{ENV['TEMP']}\\kitchen\\validation.pem", :client_key=>"\#{ENV['TEMP']}\\kitchen\\client.pem", :chef_server_url=>"http://127.0.0.1:8889", :encrypted_data_bag_secret=>"\#{ENV['TEMP']}\\kitchen\\encrypted_data_bag_secret", :treat_deprecation_warnings_as_errors=>false, :named_run_list=>{}} | |
D, [2017-03-30T10:02:03.876746 #32948] DEBUG -- default-win2012r2tk: [WinRM] <{:endpoint=>"http://192.168.1.250:5985/wsman", :user=>"Administrator", :password=>"password", :transport=>:negotiate, :elevated_username=>"Administrator", :elevated_password=>"password", :no_ssl_peer_verification=>true, :disable_sspi=>false, :basic_auth_only=>false}> (function Get-PlatformVersion { | |
switch -regex ((Get-WMIQuery win32_operatingsystem).version) { | |
'10\.0\.\d+' {$platform_version = '2016'} | |
'6\.3\.\d+' {$platform_version = '2012r2'} | |
'6\.2\.\d+' {$platform_version = '2012'} | |
'6\.1\.\d+' {$platform_version = '2008r2'} | |
'6\.0\.\d+' {$platform_version = '2008'} | |
} | |
if(Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels') { | |
$levels = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels' | |
if($levels.NanoServer -eq 1) { $platform_version += 'nano' } | |
} | |
return $platform_version | |
} | |
function Get-PlatformArchitecture { | |
if ((Get-WMIQuery win32_operatingsystem).osarchitecture -like '64-bit') { | |
$architecture = 'x86_64' | |
} else { | |
$architecture = 'i386' | |
} | |
return $architecture | |
} | |
function New-Uri { | |
param ($baseuri, $newuri) | |
try { | |
$base = new-object System.Uri $baseuri | |
new-object System.Uri $base, $newuri | |
} | |
catch [System.Management.Automation.MethodInvocationException]{ | |
Write-Error "$($_.exception.message)" | |
throw $_.exception | |
} | |
} | |
function Get-WebContent { | |
param ($uri, $filepath) | |
try { | |
if($PSVersionTable.PSEdition -eq 'Core') { | |
Get-WebContentOnCore $uri $filepath | |
} | |
else { | |
Get-WebContentOnFullNet $uri $filepath | |
} | |
} | |
catch { | |
$exception = $_.Exception | |
Write-Host "There was an error: " | |
do { | |
Write-Host "`t$($exception.message)" | |
$exception = $exception.innerexception | |
} while ($exception) | |
throw "Failed to download from $uri." | |
} | |
} | |
function Get-WebContentOnFullNet { | |
param ($uri, $filepath) | |
$proxy = New-Object -TypeName System.Net.WebProxy | |
$wc = new-object System.Net.WebClient | |
$wc.Headers.Add("user-agent", "mixlib-install/2.1.11") | |
$proxy.Address = $env:http_proxy | |
$wc.Proxy = $proxy | |
if ([string]::IsNullOrEmpty($filepath)) { | |
$wc.downloadstring($uri) | |
} | |
else { | |
$wc.downloadfile($uri, $filepath) | |
} | |
} | |
function Get-WebContentOnCore { | |
param ($uri, $filepath) | |
$handler = New-Object System.Net.Http.HttpClientHandler | |
$client = New-Object System.Net.Http.HttpClient($handler) | |
$client.DefaultRequestHeaders.UserAgent.ParseAdd("mixlib-install/2.1.11") | |
$client.Timeout = New-Object System.TimeSpan(0, 30, 0) | |
$cancelTokenSource = [System.Threading.CancellationTokenSource]::new() | |
$responseMsg = $client.GetAsync([System.Uri]::new($uri), $cancelTokenSource.Token) | |
$responseMsg.Wait() | |
if (!$responseMsg.IsCanceled) { | |
$response = $responseMsg.Result | |
if ($response.IsSuccessStatusCode) { | |
if ([string]::IsNullOrEmpty($filepath)) { | |
$response.Content.ReadAsStringAsync().Result | |
} | |
else { | |
$downloadedFileStream = [System.IO.FileStream]::new($filepath, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write) | |
$copyStreamOp = $response.Content.CopyToAsync($downloadedFileStream) | |
$copyStreamOp.Wait() | |
$downloadedFileStream.Close() | |
if ($copyStreamOp.Exception -ne $null) { | |
throw $copyStreamOp.Exception | |
} | |
} | |
} | |
} | |
} | |
function Test-ProjectPackage { | |
[cmdletbinding()] | |
param ($Path, $Algorithm = 'SHA256', $Hash) | |
if (-not (get-command get-filehash -ErrorAction 'SilentlyContinue')) { | |
function disposable($o){($o -is [IDisposable]) -and (($o | get-member | foreach-object {$_.name}) -contains 'Dispose')} | |
function use($obj, [scriptblock]$sb){try {& $sb} catch [exception]{throw $_} finally {if (disposable $obj) {$obj.Dispose()}} } | |
function Get-FileHash ($Path, $Algorithm) { | |
$Path = (resolve-path $path).providerpath | |
$hash = @{Algorithm = $Algorithm; Path = $Path} | |
use ($c = Get-SHA256Converter) { | |
use ($in = (gi $path).OpenRead()) { | |
$hash.Hash = ([BitConverter]::ToString($c.ComputeHash($in))).Replace("-", "").ToUpper() | |
} | |
} | |
new-object PSObject -Property $hash | |
} | |
} | |
Write-Verbose "Testing the $Algorithm hash for $path." | |
$ActualHash = (Get-FileHash -Algorithm $Algorithm -Path $Path).Hash.ToLower() | |
Write-Verbose "`tDesired Hash - '$hash'" | |
Write-Verbose "`tActual Hash - '$ActualHash'" | |
$Valid = $ActualHash -eq $Hash | |
if (-not $Valid) { | |
Write-Error "Failed to validate the downloaded installer. The expected $Algorithm hash was '$Hash' and the actual hash was '$ActualHash' for $path" | |
} | |
return $Valid | |
} | |
function Get-SHA256Converter { | |
if($PSVersionTable.PSEdition -eq 'Core') { | |
[System.Security.Cryptography.SHA256]::Create() | |
} | |
else { | |
New-Object -TypeName Security.Cryptography.SHA256Managed | |
} | |
} | |
function Get-WMIQuery { | |
param ($class) | |
if(Get-Command -Name Get-CimInstance -ErrorAction SilentlyContinue) { | |
Get-CimInstance $class | |
} | |
else { | |
Get-WmiObject $class | |
} | |
} | |
$platform_architecture = Get-PlatformArchitecture | |
$platform_version = Get-PlatformVersion | |
$chef_omnibus_root = "$env:systemdrive\opscode\chef" | |
$msi = "$env:TEMP\chef-true.msi" | |
$download_directory = "$env:TEMP" | |
$chef_msi_url = "http://automon.maritz.com/chef-installer/install.msi" | |
Function Check-UpdateChef($root, $version) { | |
if (-Not (Test-Path "$root\embedded")) { return $true } | |
elseif ("$version" -eq "true") { return $false } | |
elseif ("$version" -eq "latest") { return $true } | |
Try { $chef_version = (Get-Content $root\version-manifest.txt -ErrorAction stop | select-object -first 1) } | |
Catch { | |
Try { $chef_version = (& $root\bin\chef-solo.bat -v) } | |
Catch { $chef_version = " " } | |
} | |
if ($chef_version.split(" ", 2)[1].StartsWith($version)) { return $false } | |
else { return $true } | |
} | |
Function Get-ChefMetadata($url) { | |
$response = Get-WebContent $url | |
$md = ConvertFrom-StringData $response.Replace("`t", "=") | |
return @($md.url, $md.sha256) | |
} | |
Function Get-SHA256($src) { | |
Try { | |
$c = Get-SHA256Converter | |
$bytes = $c.ComputeHash(($in = (Get-Item $src).OpenRead())) | |
return ([System.BitConverter]::ToString($bytes)).Replace("-", "").ToLower() | |
} Finally { if (($c -ne $null) -and ($c.GetType().GetMethod("Dispose") -ne $null)) { $c.Dispose() }; if ($in -ne $null) { $in.Dispose() } } | |
} | |
function Get-SHA256Converter { | |
if($PSVersionTable.PSEdition -eq 'Core') { | |
[System.Security.Cryptography.SHA256]::Create() | |
} | |
else { | |
New-Object -TypeName Security.Cryptography.SHA256Managed | |
} | |
} | |
Function Download-Chef($url, $sha256, $dst) { | |
Log "Downloading package from $url" | |
Get-WebContent $url $dst | |
Log "Download complete." | |
if ($sha256 -eq $null) { Log "Skipping sha256 verification" } | |
elseif (Verify-SHA256 $dst $sha256) { Log "Successfully verified $dst" } | |
else { throw "SHA256 for $dst does not match $sha256" } | |
} | |
Function Verify-SHA256($path, $sha256) { | |
if ($sha256 -eq $null) { return $false } | |
elseif (($dsha256 = Get-SHA256 $path) -eq $sha256) { return $true } | |
else { return $false } | |
} | |
Function Install-Chef($msi, $chef_omnibus_root) { | |
Log "Installing Chef Omnibus package $msi" | |
$installingChef = $True | |
$installAttempts = 0 | |
while ($installingChef) { | |
$installAttempts++ | |
$result = $false | |
if($msi.EndsWith(".appx")) { | |
$result = Install-ChefAppx $msi $chef_omnibus_root | |
} | |
else { | |
$result = Install-ChefMsi $msi | |
} | |
if(!$result) { continue } | |
$installingChef = $False | |
} | |
Log "Installation complete" | |
} | |
Function Install-ChefMsi($msi) { | |
$p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/qn /i $msi" -Passthru -Wait | |
$p.WaitForExit() | |
if ($p.ExitCode -eq 1618) { | |
Log "Another msi install is in progress (exit code 1618), retrying ($($installAttempts))..." | |
return $false | |
} elseif ($p.ExitCode -ne 0) { | |
throw "msiexec was not successful. Received exit code $($p.ExitCode)" | |
} | |
return $true | |
} | |
Function Install-ChefAppx($appx, $chef_omnibus_root) { | |
Add-AppxPackage -Path $appx -ErrorAction Stop | |
$rootParent = Split-Path $chef_omnibus_root -Parent | |
if(!(Test-Path $rootParent)) { | |
New-Item -ItemType Directory -Path $rootParent | |
} | |
# Remove old version of chef if it is here | |
if(Test-Path $chef_omnibus_root) { | |
Remove-Item -Path $chef_omnibus_root -Recurse -Force | |
} | |
# copy the appx install to the omnibus_root. There are serious | |
# ACL related issues with running chef from the appx InstallLocation | |
# Hoping this is temporary and we can eventually just symlink | |
$package = (Get-AppxPackage -Name chef).InstallLocation | |
Copy-Item $package $chef_omnibus_root -Recurse | |
return $true | |
} | |
Function Log($m) { Write-Host " $m" } | |
function Get-WebContent { | |
param ($uri, $filepath) | |
try { | |
if($PSVersionTable.PSEdition -eq 'Core') { | |
Get-WebContentOnCore $uri $filepath | |
} | |
else { | |
Get-WebContentOnFullNet $uri $filepath | |
} | |
} | |
catch { | |
$exception = $_.Exception | |
Write-Host "There was an error: " | |
do { | |
Write-Host "`t$($exception.message)" | |
$exception = $exception.innerexception | |
} while ($exception) | |
throw "Failed to download from $uri." | |
} | |
} | |
function Get-WebContentOnFullNet { | |
param ($uri, $filepath) | |
$proxy = New-Object -TypeName System.Net.WebProxy | |
$wc = new-object System.Net.WebClient | |
$proxy.Address = $env:http_proxy | |
$wc.Proxy = $proxy | |
if ([string]::IsNullOrEmpty($filepath)) { | |
$wc.downloadstring($uri) | |
} | |
else { | |
$wc.downloadfile($uri, $filepath) | |
} | |
} | |
function Get-WebContentOnCore { | |
param ($uri, $filepath) | |
$handler = New-Object System.Net.Http.HttpClientHandler | |
$client = New-Object System.Net.Http.HttpClient($handler) | |
$client.Timeout = New-Object System.TimeSpan(0, 30, 0) | |
$cancelTokenSource = [System.Threading.CancellationTokenSource]::new() | |
$responseMsg = $client.GetAsync([System.Uri]::new($uri), $cancelTokenSource.Token) | |
$responseMsg.Wait() | |
if (!$responseMsg.IsCanceled) { | |
$response = $responseMsg.Result | |
if ($response.IsSuccessStatusCode) { | |
if ([string]::IsNullOrEmpty($filepath)) { | |
$response.Content.ReadAsStringAsync().Result | |
} | |
else { | |
$downloadedFileStream = [System.IO.FileStream]::new($filepath, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write) | |
$copyStreamOp = $response.Content.CopyToAsync($downloadedFileStream) | |
$copyStreamOp.Wait() | |
$downloadedFileStream.Close() | |
if ($copyStreamOp.Exception -ne $null) { | |
throw $copyStreamOp.Exception | |
} | |
} | |
} | |
} | |
} | |
Function Unresolve-Path($p) { | |
if ($p -eq $null) { return $null } | |
else { return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($p) } | |
} | |
$chef_omnibus_root = Unresolve-Path $chef_omnibus_root | |
if (Check-UpdateChef $chef_omnibus_root $version) { | |
Write-Host "-----> Installing Chef Omnibus ($pretty_version)" | |
if ($chef_metadata_url -ne $null) { | |
$url, $sha256 = Get-ChefMetadata "$chef_metadata_url" | |
} else { | |
$url = $chef_msi_url | |
$sha256 = $null | |
} | |
$msi = Join-Path $download_directory "$url".Split("/")[-1] | |
$msi = Unresolve-Path $msi | |
if (Verify-SHA256 $msi $sha256) { | |
Log "Skipping package download; found a matching package at $msi" | |
} else { | |
Download-Chef "$url" $sha256 $msi | |
} | |
Install-Chef $msi $chef_omnibus_root | |
} else { | |
Write-Host "-----> Chef Omnibus installation detected ($pretty_version)" | |
} | |
) | |
D, [2017-03-30T10:02:04.607646 #32948] DEBUG -- default-win2012r2tk: [WinRM] opening remote shell on http://192.168.1.250:5985/wsman | |
D, [2017-03-30T10:02:06.422473 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:07.269059 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:07.271060 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0x1205f3e8 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><Version N=\"protocolversion\">2.2</Version><Version N=\"PSVersion\">2.0</Version><Version N=\"SerializationVersion\">1.1.0.1</Version></MS></Obj>", @destination=1, @type=65538, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:07.271060 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:07.566535 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:07.567507 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0x11fdd170 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><Obj N=\"ApplicationPrivateData\" RefId=\"1\"><TN RefId=\"0\"><T>System.Management.Automation.PSPrimitiveDictionary</T><T>System.Collections.Hashtable</T><T>System.Object</T></TN><DCT><En><S N=\"Key\">DebugMode</S><I32 N=\"Value\">1</I32></En><En><S N=\"Key\">DebugStop</S><B N=\"Value\">false</B></En><En><S N=\"Key\">PSVersionTable</S><Obj N=\"Value\" RefId=\"2\"><TNRef RefId=\"0\" /><DCT><En><S N=\"Key\">PSVersion</S><Version N=\"Value\">2.0</Version></En><En><S N=\"Key\">PSCompatibleVersions</S><Obj N=\"Value\" RefId=\"3\"><TN RefId=\"1\"><T>System.Version[]</T><T>System.Array</T><T>System.Object</T></TN><LST><Version>1.0</Version><Version>2.0</Version><Version>3.0</Version><Version>4.0</Version></LST></Obj></En><En><S N=\"Key\">BuildVersion</S><Version N=\"Value\">6.3.9600.17400</Version></En><En><S N=\"Key\">CLRVersion</S><Version N=\"Value\">4.0.30319.34209</Version></En><En><S N=\"Key\">WSManStackVersion</S><Version N=\"Value\">3.0</Version></En><En><S N=\"Key\">PSRemotingProtocolVersion</S><Version N=\"Value\">2.2</Version></En><En><S N=\"Key\">SerializationVersion</S><Version N=\"Value\">1.1.0.1</Version></En></DCT></Obj></En><En><S N=\"Key\">DebugBreakpointCount</S><I32 N=\"Value\">0</I32></En></DCT></Obj></MS></Obj>", @destination=1, @type=135177, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:07.568507 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:07.599577 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:07.600908 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0x10be6ac0 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><I32 N=\"RunspaceState\">2</I32></MS></Obj>", @destination=1, @type=135173, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:07.613974 #32948] DEBUG -- default-win2012r2tk: [WinRM] remote shell created with shell_id: ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:02:07.700135 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $env:temp | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 07F96C3E-861F-472C-899B-6A9A2808CE86 | |
D, [2017-03-30T10:02:07.703154 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 07F96C3E-861F-472C-899B-6A9A2808CE86 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:02:07.703682 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:07.847793 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:07.860794 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 07F96C3E-861F-472C-899B-6A9A2808CE86 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:02:07.910829 #32948] DEBUG -- default-win2012r2tk: creating hash for file c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1 | |
D, [2017-03-30T10:02:07.912320 #32948] DEBUG -- default-win2012r2tk: Running check_files.ps1 | |
D, [2017-03-30T10:02:07.917324 #32948] DEBUG -- default-win2012r2tk: [WinRM] opening remote shell on http://192.168.1.250:5985/wsman | |
D, [2017-03-30T10:02:08.076712 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.248239 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.250265 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0xf5cd4e0 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><Version N=\"protocolversion\">2.2</Version><Version N=\"PSVersion\">2.0</Version><Version N=\"SerializationVersion\">1.1.0.1</Version></MS></Obj>", @destination=1, @type=65538, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:08.252239 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0xf5cc958 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><Obj N=\"ApplicationPrivateData\" RefId=\"1\"><TN RefId=\"0\"><T>System.Management.Automation.PSPrimitiveDictionary</T><T>System.Collections.Hashtable</T><T>System.Object</T></TN><DCT><En><S N=\"Key\">DebugMode</S><I32 N=\"Value\">1</I32></En><En><S N=\"Key\">DebugStop</S><B N=\"Value\">false</B></En><En><S N=\"Key\">PSVersionTable</S><Obj N=\"Value\" RefId=\"2\"><TNRef RefId=\"0\" /><DCT><En><S N=\"Key\">PSVersion</S><Version N=\"Value\">2.0</Version></En><En><S N=\"Key\">PSCompatibleVersions</S><Obj N=\"Value\" RefId=\"3\"><TN RefId=\"1\"><T>System.Version[]</T><T>System.Array</T><T>System.Object</T></TN><LST><Version>1.0</Version><Version>2.0</Version><Version>3.0</Version><Version>4.0</Version></LST></Obj></En><En><S N=\"Key\">BuildVersion</S><Version N=\"Value\">6.3.9600.17400</Version></En><En><S N=\"Key\">CLRVersion</S><Version N=\"Value\">4.0.30319.34209</Version></En><En><S N=\"Key\">WSManStackVersion</S><Version N=\"Value\">3.0</Version></En><En><S N=\"Key\">PSRemotingProtocolVersion</S><Version N=\"Value\">2.2</Version></En><En><S N=\"Key\">SerializationVersion</S><Version N=\"Value\">1.1.0.1</Version></En></DCT></Obj></En><En><S N=\"Key\">DebugBreakpointCount</S><I32 N=\"Value\">0</I32></En></DCT></Obj></MS></Obj>", @destination=1, @type=135177, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:08.253265 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.282237 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.283237 #32948] DEBUG -- default-win2012r2tk: [WinRM] polling for pipeline state. message: #<WinRM::PSRP::Message:0x11a16860 @data="\xEF\xBB\xBF<Obj RefId=\"0\"><MS><I32 N=\"RunspaceState\">2</I32></MS></Obj>", @destination=1, @type=135173, @pipeline_id="00000000-0000-0000-0000-000000000000", @runspace_pool_id="00000000-0000-0000-0000-000000000000"> | |
D, [2017-03-30T10:02:08.289267 #32948] DEBUG -- default-win2012r2tk: [WinRM] remote shell created with shell_id: 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.340033 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $hash_file = @{ | |
"3e1e8f185be2a19b02ee1c41c9306454" = @{ | |
"target" = "c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1"; | |
"src_basename" = "winrm-elevated-shell20170330-32948-1kh690nps1"; | |
"dst" = "c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1" | |
} | |
} | |
Function Cleanup($disposable) { | |
if (($disposable -ne $null) -and ($disposable.GetType().GetMethod("Dispose") -ne $null)) { | |
$disposable.Dispose() | |
} | |
} | |
Function Check-Files($h) { | |
return $h.GetEnumerator() | ForEach-Object { | |
$dst = Unresolve-Path $_.Value.target | |
$dst_changed = $false | |
if(Test-Path $dst -PathType Container) { | |
$dst_changed = $true | |
$dst = Join-Path $dst $_.Value.src_basename | |
} | |
New-Object psobject -Property @{ | |
chk_exists = ($exists = Test-Path $dst -PathType Leaf) | |
src_md5 = ($sMd5 = $_.Key) | |
dst_md5 = ($dMd5 = if ($exists) { Get-MD5Sum $dst } else { $null }) | |
chk_dirty = ($dirty = if ($sMd5 -ne $dMd5) { $true } else { $false }) | |
verifies = if ($dirty -eq $false) { $true } else { $false } | |
target_is_folder = $dst_changed | |
} | |
} | Select-Object -Property chk_exists,src_md5,dst_md5,chk_dirty,verifies,target_is_folder | |
} | |
Function Get-MD5Sum($src) { | |
Try { | |
$c = [System.Security.Cryptography.MD5]::Create() | |
$bytes = $c.ComputeHash(($in = (Get-Item $src).OpenRead())) | |
return ([System.BitConverter]::ToString($bytes)).Replace("-", "").ToLower() | |
} | |
Finally { | |
Cleanup $c | |
Cleanup $in | |
} | |
} | |
Function Unresolve-Path($path) { | |
if ($path -eq $null) { | |
return $null | |
} | |
else { | |
return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) | |
} | |
} | |
Check-Files $hash_file | ConvertTo-Csv -NoTypeInformation | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 9901239B-4D17-4CB8-B3C7-8EE371E8DCB2 | |
D, [2017-03-30T10:02:08.346034 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 9901239B-4D17-4CB8-B3C7-8EE371E8DCB2 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.346034 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.489528 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.509031 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 9901239B-4D17-4CB8-B3C7-8EE371E8DCB2 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.540542 #32948] DEBUG -- default-win2012r2tk: Parsing CSV Response | |
D, [2017-03-30T10:02:08.541557 #32948] DEBUG -- default-win2012r2tk: "chk_exists","src_md5","dst_md5","chk_dirty","verifies","target_is_folder" | |
"False","3e1e8f185be2a19b02ee1c41c9306454",,"True","False","False" | |
D, [2017-03-30T10:02:08.543541 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-1kh690nps1 to c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1 | |
D, [2017-03-30T10:02:08.582961 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 9974E273-A5A2-4772-86CE-3F4E7BE44037 | |
D, [2017-03-30T10:02:08.585960 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 9974E273-A5A2-4772-86CE-3F4E7BE44037 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.585960 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.637339 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.645311 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 9974E273-A5A2-4772-86CE-3F4E7BE44037 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.718557 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('JGVudjp0ZW1wPSdDOlxVc2Vyc1xBRE1JTkl+MVxBcHBEYXRhXExvY2FsXFRlbXAnO2Z1bmN0aW9uIEdldC1QbGF0Zm9ybVZlcnNpb24gew0KICBzd2l0Y2ggLXJlZ2V4ICgoR2V0LVdNSVF1ZXJ5IHdpbjMyX29wZXJhdGluZ3N5c3RlbSkudmVyc2lvbikgew0KICAgICcxMFwuMFwuXGQrJyB7JHBsYXRmb3JtX3ZlcnNpb24gPSAnMjAxNid9DQogICAgJzZcLjNcLlxkKycgIHskcGxhdGZvcm1fdmVyc2lvbiA9ICcyMDEycjInfQ0KICAgICc2XC4yXC5cZCsnICB7JHBsYXRmb3JtX3ZlcnNpb24gPSAnMjAxMid9DQogICAgJzZcLjFcLlxkKycgIHskcGxhdGZvcm1fdmVyc2lvbiA9ICcyMDA4cjInfQ0KICAgICc2XC4wXC5cZCsnICB7JHBsYXRmb3JtX3ZlcnNpb24gPSAnMjAwOCd9DQogIH0NCg0KICBpZihUZXN0LVBhdGggJ0hLTE06XFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIE5UXEN1cnJlbnRWZXJzaW9uXFNlcnZlclxTZXJ2ZXJMZXZlbHMnKSB7DQogICAgJGxldmVscyA9IEdldC1JdGVtUHJvcGVydHkgJ0hLTE06XFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIE5UXEN1cnJlbnRWZXJzaW9uXFNlcnZlclxTZXJ2ZXJMZXZlbHMnDQogICAgaWYoJGxldmVscy5OYW5vU2VydmVyIC1lcSAxKSB7ICRwbGF0Zm9ybV92ZXJzaW9uICs9ICduYW5vJyB9DQogIH0NCg0KICByZXR1cm4gJHBsYXRmb3JtX3ZlcnNpb24NCn0NCg0KZnVuY3Rpb24gR2V0LVBsYXRmb3JtQXJjaGl0ZWN0dXJlIHsNCiAgaWYgKChHZXQtV01JUXVlcnkgd2luMzJfb3BlcmF0aW5nc3lzdGVtKS5vc2FyY2hpdGVjdHVyZSAtbGlrZSAnNjQtYml0Jykgew0KICAgICRhcmNoaXRlY3R1cmUgPSAneDg2XzY0Jw0KICB9IGVsc2Ugew0KICAgICRhcmNoaXRlY3R1cmUgPSAnaTM4NicNCiAgfQ0KICByZXR1cm4gJGFyY2hpdGVjdHVyZQ0KfQ0KDQpmdW5jdGlvbiBOZXctVXJpIHsNCiAgcGFyYW0gKCRiYXNldXJpLCAkbmV3dXJpKQ0KDQogIHRyeSB7DQogICAgJGJhc2UgPSBuZXctb2JqZWN0IFN5c3RlbS5VcmkgJGJhc2V1cmkNCiAgICBuZXctb2JqZWN0IFN5c3RlbS5VcmkgJGJhc2UsICRuZXd1cmkNCiAgfQ0KICBjYXRjaCBbU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5NZXRob2RJbnZvY2F0aW9uRXhjZXB0aW9uXXsNCiAgICBXcml0ZS1FcnJvciAiJCgkXy5leGNlcHRpb24ubWVzc2FnZSkiDQogICAgdGhyb3cgJF8uZXhjZXB0aW9uDQogIH0NCn0NCg0KZnVuY3Rpb24gR2V0LVdlYkNvbnRlbnQgew0KICBwYXJhbSAoJHVyaSwgJGZpbGVwYXRoKQ0KDQogIHRyeSB7DQogICAgaWYoJFBTVmVyc2lvblRhYmxlLlBTRWRpdGlvbiAtZXEgJ0NvcmUnKSB7DQogICAgICBHZXQtV2ViQ29udGVudE9uQ29yZSAkdXJpICRmaWxlcGF0aA0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgIEdldC1XZWJDb250ZW50T25GdWxsTmV0ICR1cmkgJGZpbGVwYXRoDQogICAgfQ0KICB9DQogIGNhdGNoIHsNCiAgICAkZXhjZXB0aW9uID0gJF8uRXhjZXB0aW9uDQogICAgV3JpdGUtSG9zdCAiVGhlcmUgd2FzIGFuIGVycm9yOiAiDQogICAgZG8gew0KICAgICAgV3JpdGUtSG9zdCAiYHQkKCRleGNlcHRpb24ubWVzc2FnZSkiDQogICAgICAkZXhjZXB0aW9uID0gJGV4Y2VwdGlvbi5pbm5lcmV4Y2VwdGlvbg0KICAgIH0gd2hpbGUgKCRleGNlcHRpb24pDQogICAgdGhyb3cgIkZhaWxlZCB0byBkb3dubG9hZCBmcm9tICR1cmkuIg0KICB9DQp9DQoNCmZ1bmN0aW9uIEdldC1XZWJDb250ZW50T25GdWxsTmV0IHsNCiAgcGFyYW0gKCR1cmksICRmaWxlcGF0aCkNCg0KICAkcHJveHkgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uTmV0LldlYlByb3h5DQogICR3YyA9IG5ldy1vYmplY3QgU3lzdGVtLk5ldC5XZWJDbGllbnQNCiAgJHdjLkhlYWRlcnMuQWRkKCJ1c2VyLWFnZW50IiwgIm1peGxpYi1pbnN0YWxsLzIuMS4xMSIpDQogICRwcm94eS5BZGRyZXNzID0gJGVudjpodHRwX3Byb3h5DQogICR3Yy5Qcm94eSA9ICRwcm94eQ0KDQogIGlmIChbc3RyaW5nXTo6SXNOdWxsT3JFbXB0eSgkZmlsZXBhdGgpKSB7DQogICAgJHdjLmRvd25sb2Fkc3RyaW5nKCR1cmkpDQogIH0NCiAgZWxzZSB7DQogICAgJHdjLmRvd25sb2FkZmlsZSgkdXJpLCAkZmlsZXBhdGgpDQogIH0NCn0NCg0KZnVuY3Rpb24gR2V0LVdlYkNvbnRlbnRPbkNvcmUgew0KICBwYXJhbSAoJHVyaSwgJGZpbGVwYXRoKQ0KDQogICRoYW5kbGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0Lkh0dHAuSHR0cENsaWVudEhhbmRsZXINCiAgJGNsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5IdHRwLkh0dHBDbGllbnQoJGhhbmRsZXIpDQogICRjbGllbnQuRGVmYXVsdFJlcXVlc3RIZWFkZXJzLlVzZXJBZ2VudC5QYXJzZUFkZCgibWl4bGliLWluc3RhbGwvMi4xLjExIikNCiAgJGNsaWVudC5UaW1lb3V0ID0gTmV3LU9iamVjdCBTeXN0ZW0uVGltZVNwYW4oMCwgMzAsIDApDQogICRjYW5jZWxUb2tlblNvdXJjZSA9IFtTeXN0ZW0uVGhyZWFkaW5nLkNhbmNlbGxhdGlvblRva2VuU291cmNlXTo6bmV3KCkNCiAgJHJlc3BvbnNlTXNnID0gJGNsaWVudC5HZXRBc3luYyhbU3lzdGVtLlVyaV06Om5ldygkdXJpKSwgJGNhbmNlbFRva2VuU291cmNlLlRva2VuKQ0KICAkcmVzcG9uc2VNc2cuV2FpdCgpDQogIGlmICghJHJlc3BvbnNlTXNnLklzQ2FuY2VsZWQpIHsNCiAgICAkcmVzcG9uc2UgPSAkcmVzcG9uc2VNc2cuUmVzdWx0DQogICAgaWYgKCRyZXNwb25zZS5Jc1N1Y2Nlc3NTdGF0dXNDb2RlKSB7DQogICAgICBpZiAoW3N0cmluZ106OklzTnVsbE9yRW1wdHkoJGZpbGVwYXRoKSkgew0KICAgICAgICAkcmVzcG9uc2UuQ29udGVudC5SZWFkQXNTdHJpbmdBc3luYygpLlJlc3VsdA0KICAgICAgfQ0KICAgICAgZWxzZSB7DQogICAgICAgICRkb3dubG9hZGVkRmlsZVN0cmVhbSA9IFtTeXN0ZW0uSU8uRmlsZVN0cmVhbV06Om5ldygkZmlsZXBhdGgsIFtTeXN0ZW0uSU8uRmlsZU1vZGVdOjpDcmVhdGUsIFtTeXN0ZW0uSU8uRmlsZUFjY2Vzc106OldyaXRlKQ0KICAgICAgICAkY29weVN0cmVhbU9wID0gJHJlc3BvbnNlLkNvbnRlbnQuQ29weVRvQXN5bmMoJGRvd25sb2FkZWRGaWxlU3RyZWFtKQ0KICAgICAgICAkY29weVN0cmVhbU9wLldhaXQoKQ0KICAgICAgICAkZG93bmxvYWRlZEZpbGVTdHJlYW0uQ2xvc2UoKQ0KICAgICAgICBpZiAoJGNvcHlTdHJlYW1PcC5FeGNlcHRpb24gLW5lICRudWxsKSB7DQogICAgICAgICAgdGhyb3cgJGNvcHlTdHJlYW1PcC5FeGNlcHRpb24NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ0KDQpmdW5jdGlvbiBUZXN0LVByb2plY3RQYWNrYWdlIHsNCiAgW2NtZGxldGJpbmRpbmcoKV0NCiAgcGFyYW0gKCRQYXRoLCAkQWxnb3JpdGhtID0gJ1NIQTI1NicsICRIYXNoKQ0KDQogIGlmICgtbm90IChnZXQtY29tbWFuZCBnZXQtZmlsZWhhc2ggLUVycm9yQWN0aW9uICdTaWxlbnRseUNvbnRpbnVlJykpIHsNCiAgICBmdW5jdGlvbiBkaXNwb3NhYmxlKCRvKXsoJG8gLWlzIFtJRGlzcG9zYWJsZV0pIC1hbmQgKCgkbyB8IGdldC1tZW1iZXIgfCBmb3JlYWNoLW9iamVjdCB7JF8ubmFtZX0pIC1jb250YWlucyAnRGlzcG9zZScpfQ0KICAgIGZ1bmN0aW9uIHVzZSgkb2JqLCBbc2NyaXB0YmxvY2tdJHNiKXt0cnkgeyYgJHNifSBjYXRjaCBbZXhjZXB0aW9uXXt0aHJvdyAkX30gZmluYWxseSB7aWYgKGRpc3Bvc2FibGUgJG9iaikgeyRvYmouRGlzcG9zZSgpfX0gfQ0KICAgIGZ1bmN0aW9uIEdldC1GaWxlSGFzaCAoJFBhdGgsICRBbGdvcml0aG0pIHsNCiAgICAgICRQYXRoID0gKHJlc29sdmUtcGF0aCAkcGF0aCkucHJvdmlkZXJwYXRoDQogICAgICAkaGFzaCA9IEB7QWxnb3JpdGhtID0gJEFsZ29yaXRobTsgUGF0aCA9ICRQYXRofQ0KICAgICAgdXNlICgkYyA9IEdldC1TSEEyNTZDb252ZXJ0ZXIpIHsNCiAgICAgICAgdXNlICgkaW4gPSAoZ2kgJHBhdGgpLk9wZW5SZWFkKCkpIHsNCiAgICAgICAgICAkaGFzaC5IYXNoID0gKFtCaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkYy5Db21wdXRlSGFzaCgkaW4pKSkuUmVwbGFjZSgiLSIsICIiKS5Ub1VwcGVyKCkNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgbmV3LW9iamVjdCBQU09iamVjdCAtUHJvcGVydHkgJGhhc2gNCiAgICB9DQogIH0NCiAgV3JpdGUtVmVyYm9zZSAiVGVzdGluZyB0aGUgJEFsZ29yaXRobSBoYXNoIGZvciAkcGF0aC4iDQogICRBY3R1YWxIYXNoID0gKEdldC1GaWxlSGFzaCAtQWxnb3JpdGhtICRBbGdvcml0aG0gLVBhdGggJFBhdGgpLkhhc2guVG9Mb3dlcigpDQogIFdyaXRlLVZlcmJvc2UgImB0RGVzaXJlZCBIYXNoIC0gJyRoYXNoJyINCiAgV3JpdGUtVmVyYm9zZSAiYHRBY3R1YWwgSGFzaCAgLSAnJEFjdHVhbEhhc2gnIg0KICAkVmFsaWQgPSAkQWN0dWFsSGFzaCAtZXEgJEhhc2gNCiAgaWYgKC1ub3QgJFZhbGlkKSB7DQogICAgV3JpdGUtRXJyb3IgIkZhaWxlZCB0byB2YWxpZGF0ZSB0aGUgZG93bmxvYWRlZCBpbnN0YWxsZXIuICBUaGUgZXhwZWN0ZWQgJEFsZ29yaXRobSBoYXNoIHdhcyAnJEhhc2gnIGFuZCB0aGUgYWN0dWFsIGhhc2ggd2FzICckQWN0dWFsSGFzaCcgZm9yICRwYXRoIg0KICB9DQogIHJldHVybiAkVmFsaWQNCn0NCg0KZnVuY3Rpb24gR2V0LVNIQTI1NkNvbnZlcnRlciB7DQogIGlmKCRQU1ZlcnNpb25UYWJsZS5QU0VkaXRpb24gLWVxICdDb3JlJykgew0KICAgIFtTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LlNIQTI1Nl06OkNyZWF0ZSgpDQogIH0NCiAgZWxzZSB7DQogICAgTmV3LU9iamVjdCAtVHlwZU5hbWUgU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LlNIQTI1Nk1hbmFnZWQNCiAgfQ0KfQ0KDQpmdW5jdGlvbiBHZXQtV01JUXVlcnkgew0KICBwYXJhbSAoJGNsYXNzKQ0KDQogIGlmKEdldC1Db21tYW5kIC1OYW1lIEdldC1DaW1JbnN0YW5jZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkgew0KICAgIEdldC1DaW1JbnN0YW5jZSAkY2xhc3MNCiAgfQ0KICBlbHNlIHsNCiAgICBHZXQtV21pT2JqZWN0ICRjbGFzcw0KICB9DQp9DQoNCiRwbGF0Zm9ybV9hcmNoaXRlY3R1cmUgPSBHZXQtUGxhdGZvcm1BcmNoaXRlY3R1cmUNCiRwbGF0Zm9ybV92ZXJzaW9uID0gR2V0LVBsYXRmb3JtVmVyc2lvbg0KJGNoZWZfb21uaWJ1c19yb290ID0gIiRlbnY6c3lzdGVtZHJpdmVcb3BzY29kZVxjaGVmIg0KJG1zaSA9ICIkZW52OlRFTVBcY2hlZi10cnVlLm1zaSINCiRkb3dubG9hZF9kaXJlY3RvcnkgPSAiJGVudjpURU1QIg0KJGNoZWZfbXNpX3VybCA9ICJodHRwOi8vYXV0b21vbi5tYXJpdHouY29tL2NoZWYtaW5zdGFsbGVyL2luc3RhbGwubXNpIg0KDQpGdW5jdGlvbiBDaGVjay1VcGRhdGVDaGVmKCRyb290LCAkdmVyc2lvbikgew0KICBpZiAoLU5vdCAoVGVzdC1QYXRoICIkcm9vdFxlbWJlZGRlZCIpKSB7IHJldHVybiAkdHJ1ZSB9DQogIGVsc2VpZiAoIiR2ZXJzaW9uIiAtZXEgInRydWUiKSB7IHJldHVybiAkZmFsc2UgfQ0KICBlbHNlaWYgKCIkdmVyc2lvbiIgLWVxICJsYXRlc3QiKSB7IHJldHVybiAkdHJ1ZSB9DQoNCiAgVHJ5IHsgJGNoZWZfdmVyc2lvbiA9IChHZXQtQ29udGVudCAkcm9vdFx2ZXJzaW9uLW1hbmlmZXN0LnR4dCAgLUVycm9yQWN0aW9uIHN0b3AgfCBzZWxlY3Qtb2JqZWN0IC1maXJzdCAxKSB9DQogIENhdGNoIHsNCiAgICBUcnkgeyAkY2hlZl92ZXJzaW9uID0gKCYgJHJvb3RcYmluXGNoZWYtc29sby5iYXQgLXYpIH0NCiAgICBDYXRjaCB7ICRjaGVmX3ZlcnNpb24gPSAiICIgfQ0KICB9DQoNCiAgaWYgKCRjaGVmX3ZlcnNpb24uc3BsaXQoIiAiLCAyKVsxXS5TdGFydHNXaXRoKCR2ZXJzaW9uKSkgeyByZXR1cm4gJGZhbHNlIH0NCiAgZWxzZSB7IHJldHVybiAkdHJ1ZSB9DQp9DQoNCkZ1bmN0aW9uIEdldC1DaGVmTWV0YWRhdGEoJHVybCkgew0KICAkcmVzcG9uc2UgPSBHZXQtV2ViQ29udGVudCAkdXJsDQoNCiAgJG1kID0gQ29udmVydEZyb20tU3RyaW5nRGF0YSAkcmVzcG9uc2UuUmVwbGFjZSgiYHQiLCAiPSIpDQogIHJldHVybiBAKCRtZC51cmwsICRtZC5zaGEyNTYpDQp9DQoNCkZ1bmN0aW9uIEdldC1TSEEyNTYoJHNyYykgew0KICBUcnkgew0KICAgICRjID0gR2V0LVNIQTI1NkNvbnZlcnRlcg0KICAgICRieXRlcyA9ICRjLkNvbXB1dGVIYXNoKCgkaW4gPSAoR2V0LUl0ZW0gJHNyYykuT3BlblJlYWQoKSkpDQogICAgcmV0dXJuIChbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRieXRlcykpLlJlcGxhY2UoIi0iLCAiIikuVG9Mb3dlcigpDQogIH0gRmluYWxseSB7IGlmICgoJGMgLW5lICRudWxsKSAtYW5kICgkYy5HZXRUeXBlKCkuR2V0TWV0aG9kKCJEaXNwb3NlIikgLW5lICRudWxsKSkgeyAkYy5EaXNwb3NlKCkgfTsgaWYgKCRpbiAtbmUgJG51bGwpIHsgJGluLkRpc3Bvc2UoKSB9IH0NCn0NCg0KZnVuY3Rpb24gR2V0LVNIQTI1NkNvbnZlcnRlciB7DQogIGlmKCRQU1ZlcnNpb25UYWJsZS5QU0VkaXRpb24gLWVxICdDb3JlJykgew0KICAgIFtTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LlNIQTI1Nl06OkNyZWF0ZSgpDQogIH0NCiAgZWxzZSB7DQogICAgTmV3LU9iamVjdCAtVHlwZU5hbWUgU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LlNIQTI1Nk1hbmFnZWQNCiAgfQ0KfQ0KDQpGdW5jdGlvbiBEb3dubG9hZC1DaGVmKCR1cmwsICRzaGEyNTYsICRkc3QpIHsNCiAgTG9nICJEb3dubG9hZGluZyBwYWNrYWdlIGZyb20gJHVybCINCiAgR2V0LVdlYkNvbnRlbnQgJHVybCAkZHN0DQogIExvZyAiRG93bmxvYWQgY29tcGxldGUuIg0KDQogIGlmICgkc2hhMjU2IC1lcSAkbnVsbCkgeyBMb2cgIlNraXBwaW5nIHNoYTI1NiB2ZXJpZmljYXRpb24iIH0NCiAgZWxzZWlmIChWZXJpZnktU0hBMjU2ICRkc3QgJHNoYTI1NikgeyBMb2cgIlN1Y2Nlc3NmdWxseSB2ZXJpZmllZCAkZHN0IiB9DQogIGVsc2UgeyB0aHJvdyAiU0hBMjU2IGZvciAkZHN0IGRvZXMgbm90IG1hdGNoICRzaGEyNTYiIH0NCn0NCg0KRnVuY3Rpb24gVmVyaWZ5LVNIQTI1NigkcGF0aCwgJHNoYTI1Nikgew0KICBpZiAoJHNoYTI1NiAtZXEgJG51bGwpIHsgcmV0dXJuICRmYWxzZSB9DQogIGVsc2VpZiAoKCRkc2hhMjU2ID0gR2V0LVNIQTI1NiAkcGF0aCkgLWVxICRzaGEyNTYpIHsgcmV0dXJuICR0cnVlIH0NCiAgZWxzZSB7IHJldHVybiAkZmFsc2UgfQ0KfQ0KDQpGdW5jdGlvbiBJbnN0YWxsLUNoZWYoJG1zaSwgJGNoZWZfb21uaWJ1c19yb290KSB7DQogIExvZyAiSW5zdGFsbGluZyBDaGVmIE9tbmlidXMgcGFja2FnZSAkbXNpIg0KICAkaW5zdGFsbGluZ0NoZWYgPSAkVHJ1ZQ0KICAkaW5zdGFsbEF0dGVtcHRzID0gMA0KICB3aGlsZSAoJGluc3RhbGxpbmdDaGVmKSB7DQogICAgJGluc3RhbGxBdHRlbXB0cysrDQogICAgJHJlc3VsdCA9ICRmYWxzZQ0KICAgIGlmKCRtc2kuRW5kc1dpdGgoIi5hcHB4IikpIHsNCiAgICAgICRyZXN1bHQgPSBJbnN0YWxsLUNoZWZBcHB4ICRtc2kgJGNoZWZfb21uaWJ1c19yb290DQogICAgfQ0KICAgIGVsc2Ugew0KICAgICAgJHJlc3VsdCA9IEluc3RhbGwtQ2hlZk1zaSAkbXNpDQogICAgfQ0KICAgIGlmKCEkcmVzdWx0KSB7IGNvbnRpbnVlIH0NCiAgICAkaW5zdGFsbGluZ0NoZWYgPSAkRmFsc2UNCiAgfQ0KICBMb2cgIkluc3RhbGxhdGlvbiBjb21wbGV0ZSINCn0NCg0KRnVuY3Rpb24gSW5zdGFsbC1DaGVmTXNpKCRtc2kpIHsNCiAgJHAgPSBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAibXNpZXhlYy5leGUiIC1Bcmd1bWVudExpc3QgIi9xbiAvaSAkbXNpIiAtUGFzc3RocnUgLVdhaXQNCiAgJHAuV2FpdEZvckV4aXQoKQ0KICBpZiAoJHAuRXhpdENvZGUgLWVxIDE2MTgpIHsNCiAgICBMb2cgIkFub3RoZXIgbXNpIGluc3RhbGwgaXMgaW4gcHJvZ3Jlc3MgKGV4aXQgY29kZSAxNjE4KSwgcmV0cnlpbmcgKCQoJGluc3RhbGxBdHRlbXB0cykpLi4uIg0KICAgIHJldHVybiAkZmFsc2UNCiAgfSBlbHNlaWYgKCRwLkV4aXRDb2RlIC1uZSAwKSB7DQogICAgdGhyb3cgIm1zaWV4ZWMgd2FzIG5vdCBzdWNjZXNzZnVsLiBSZWNlaXZlZCBleGl0IGNvZGUgJCgkcC5FeGl0Q29kZSkiDQogIH0NCiAgcmV0dXJuICR0cnVlDQp9DQoNCkZ1bmN0aW9uIEluc3RhbGwtQ2hlZkFwcHgoJGFwcHgsICRjaGVmX29tbmlidXNfcm9vdCkgew0KICBBZGQtQXBweFBhY2thZ2UgLVBhdGggJGFwcHggLUVycm9yQWN0aW9uIFN0b3ANCg0KICAkcm9vdFBhcmVudCA9IFNwbGl0LVBhdGggJGNoZWZfb21uaWJ1c19yb290IC1QYXJlbnQNCg0KICBpZighKFRlc3QtUGF0aCAkcm9vdFBhcmVudCkpIHsNCiAgICBOZXctSXRlbSAtSXRlbVR5cGUgRGlyZWN0b3J5IC1QYXRoICRyb290UGFyZW50DQogIH0NCg0KICAjIFJlbW92ZSBvbGQgdmVyc2lvbiBvZiBjaGVmIGlmIGl0IGlzIGhlcmUNCiAgaWYoVGVzdC1QYXRoICRjaGVmX29tbmlidXNfcm9vdCkgew0KICAgIFJlbW92ZS1JdGVtIC1QYXRoICRjaGVmX29tbmlidXNfcm9vdCAtUmVjdXJzZSAtRm9yY2UNCiAgfQ0KDQogICMgY29weSB0aGUgYXBweCBpbnN0YWxsIHRvIHRoZSBvbW5pYnVzX3Jvb3QuIFRoZXJlIGFyZSBzZXJpb3VzDQogICMgQUNMIHJlbGF0ZWQgaXNzdWVzIHdpdGggcnVubmluZyBjaGVmIGZyb20gdGhlIGFwcHggSW5zdGFsbExvY2F0aW9uDQogICMgSG9waW5nIHRoaXMgaXMgdGVtcG9yYXJ5IGFuZCB3ZSBjYW4gZXZlbnR1YWxseSBqdXN0IHN5bWxpbmsNCiAgJHBhY2thZ2UgPSAoR2V0LUFwcHhQYWNrYWdlIC1OYW1lIGNoZWYpLkluc3RhbGxMb2NhdGlvbg0KICBDb3B5LUl0ZW0gJHBhY2thZ2UgJGNoZWZfb21uaWJ1c19yb290IC1SZWN1cnNlDQoNCiAgcmV0dXJuICR0cnVlDQp9DQoNCkZ1bmN0aW9uIExvZygkbSkgeyBXcml0ZS1Ib3N0ICIgICAgICAgJG0iIH0NCg0KZnVuY3Rpb24gR2V0LVdlYkNvbnRlbnQgew0KICBwYXJhbSAoJHVyaSwgJGZpbGVwYXRoKQ0KDQogIHRyeSB7DQogICAgaWYoJFBTVmVyc2lvblRhYmxlLlBTRWRpdGlvbiAtZXEgJ0NvcmUnKSB7DQogICAgICBHZXQtV2ViQ29udGVudE9uQ29yZSAkdXJpICRmaWxlcGF0aA0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgIEdldC1XZWJDb250ZW50T25GdWxsTmV0ICR1cmkgJGZpbGVwYXRoDQogICAgfQ0KICB9DQogIGNhdGNoIHsNCiAgICAkZXhjZXB0aW9uID0gJF8uRXhjZXB0aW9uDQogICAgV3JpdGUtSG9zdCAiVGhlcmUgd2FzIGFuIGVycm9yOiAiDQogICAgZG8gew0KICAgICAgV3JpdGUtSG9zdCAiYHQkKCRleGNlcHRpb24ubWVzc2FnZSkiDQogICAgICAkZXhjZXB0aW9uID0gJGV4Y2VwdGlvbi5pbm5lcmV4Y2VwdGlvbg0KICAgIH0gd2hpbGUgKCRleGNlcHRpb24pDQogICAgdGhyb3cgIkZhaWxlZCB0byBkb3dubG9hZCBmcm9tICR1cmkuIg0KICB9DQp9DQoNCmZ1bmN0aW9uIEdldC1XZWJDb250ZW50T25GdWxsTmV0IHsNCiAgcGFyYW0gKCR1cmksICRmaWxlcGF0aCkNCg0KICAkcHJveHkgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uTmV0LldlYlByb3h5DQogICR3YyA9IG5ldy1vYmplY3QgU3lzdGVtLk5ldC5XZWJDbGllbnQNCiAgJHByb3h5LkFkZHJlc3MgPSAkZW52Omh0dHBfcHJveHkNCiAgJHdjLlByb3h5ID0gJHByb3h5DQoNCiAgaWYgKFtzdHJpbmddOjpJc051bGxPckVtcHR5KCRmaWxlcGF0aCkpIHsNCiAgICAkd2MuZG93bmxvYWRzdHJpbmcoJHVyaSkNCiAgfQ0KICBlbHNlIHsNCiAgICAkd2MuZG93bmxvYWRmaWxlKCR1cmksICRmaWxlcGF0aCkNCiAgfQ0KfQ0KDQpmdW5jdGlvbiBHZXQtV2ViQ29udGVudE9uQ29yZSB7DQogIHBhcmFtICgkdXJpLCAkZmlsZXBhdGgpDQoNCiAgJGhhbmRsZXIgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuSHR0cC5IdHRwQ2xpZW50SGFuZGxlcg0KICAkY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0Lkh0dHAuSHR0cENsaWVudCgkaGFuZGxlcikNCiAgJGNsaWVudC5UaW1lb3V0ID0gTmV3LU9iamVjdCBTeXN0ZW0uVGltZVNwYW4oMCwgMzAsIDApDQogICRjYW5jZWxUb2tlblNvdXJjZSA9IFtTeXN0ZW0uVGhyZWFkaW5nLkNhbmNlbGxhdGlvblRva2VuU291cmNlXTo6bmV3KCkNCiAgJHJlc3BvbnNlTXNnID0gJGNsaWVudC5HZXRBc3luYyhbU3lzdGVtLlVyaV06Om5ldygkdXJpKSwgJGNhbmNlbFRva2VuU291cmNlLlRva2VuKQ0KICAkcmVzcG9uc2VNc2cuV2FpdCgpDQogIGlmICghJHJlc3BvbnNlTXNnLklzQ2FuY2VsZWQpIHsNCiAgICAkcmVzcG9uc2UgPSAkcmVzcG9uc2VNc2cuUmVzdWx0DQogICAgaWYgKCRyZXNwb25zZS5Jc1N1Y2Nlc3NTdGF0dXNDb2RlKSB7DQogICAgICBpZiAoW3N0cmluZ106OklzTnVsbE9yRW1wdHkoJGZpbGVwYXRoKSkgew0KICAgICAgICAkcmVzcG9uc2UuQ29udGVudC5SZWFkQXNTdHJpbmdBc3luYygpLlJlc3VsdA0KICAgICAgfQ0KICAgICAgZWxzZSB7DQogICAgICAgICRkb3dubG9hZGVkRmlsZVN0cmVhbSA9IFtTeXN0ZW0uSU8uRmlsZVN0cmVhbV06Om5ldygkZmlsZXBhdGgsIFtTeXN0ZW0uSU8uRmlsZU1vZGVdOjpDcmVhdGUsIFtTeXN0ZW0uSU8uRmlsZUFjY2Vzc106OldyaXRlKQ0KICAgICAgICAkY29weVN0cmVhbU9wID0gJHJlc3BvbnNlLkNvbnRlbnQuQ29weVRvQXN5bmMoJGRvd25sb2FkZWRGaWxlU3RyZWFtKQ0KICAgICAgICAkY29weVN0cmVhbU9wLldhaXQoKQ0KICAgICAgICAkZG93bmxvYWRlZEZpbGVTdHJlYW0uQ2xvc2UoKQ0KICAgICAgICBpZiAoJGNvcHlTdHJlYW1PcC5FeGNlcHRpb24gLW5lICRudWxsKSB7DQogICAgICAgICAgdGhyb3cgJGNvcHlTdHJlYW1PcC5FeGNlcHRpb24NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ0KDQpGdW5jdGlvbiBVbnJlc29sdmUtUGF0aCgkcCkgew0KICBpZiAoJHAgLWVxICRudWxsKSB7IHJldHVybiAkbnVsbCB9DQogIGVsc2UgeyByZXR1cm4gJEV4ZWN1dGlvbkNvbnRleHQuU2Vzc2lvblN0YXRlLlBhdGguR2V0VW5yZXNvbHZlZFByb3ZpZGVyUGF0aEZyb21QU1BhdGgoJHApIH0NCn0NCg0KJGNoZWZfb21uaWJ1c19yb290ID0gVW5yZXNvbHZlLVBhdGggJGNoZWZfb21uaWJ1c19yb290DQoNCmlmIChDaGVjay1VcGRhdGVDaGVmICRjaGVmX29tbmlidXNfcm9vdCAkdmVyc2lvbikgew0KICBXcml0ZS1Ib3N0ICItLS0tLT4gSW5zdGFsbGluZyBDaGVmIE9tbmlidXMgKCRwcmV0dHlfdmVyc2lvbikiDQogIGlmICgkY2hlZl9tZXRhZGF0YV91cmwgLW5lICRudWxsKSB7DQogICAgJHVybCwgJHNoYTI1NiA9IEdldC1DaGVmTWV0YWRhdGEgIiRjaGVmX21ldGFkYXRhX3VybCINCiAgfSBlbHNlIHsNCiAgICAkdXJsID0gJGNoZWZfbXNpX3VybA0KICAgICRzaGEyNTYgPSAkbnVsbA0KICB9DQogICRtc2kgPSBKb2luLVBhdGggJGRvd25sb2FkX2RpcmVjdG9yeSAiJHVybCIuU3BsaXQoIi8iKVstMV0NCiAgJG1zaSA9IFVucmVzb2x2ZS1QYXRoICRtc2kNCiAgaWYgKFZlcmlmeS1TSEEyNTYgJG1zaSAkc2hhMjU2KSB7DQogICAgTG9nICJTa2lwcGluZyBwYWNrYWdlIGRvd25sb2FkOyBmb3VuZCBhIG1hdGNoaW5nIHBhY2thZ2UgYXQgJG1zaSINCiAgfSBlbHNlIHsNCiAgICBEb3dubG9hZC1DaGVmICIkdXJsIiAkc2hhMjU2ICRtc2kNCiAgfQ0KICBJbnN0YWxsLUNoZWYgJG1zaSAkY2hlZl9vbW5pYnVzX3Jvb3QNCn0gZWxzZSB7DQogIFdyaXRlLUhvc3QgIi0tLS0tPiBDaGVmIE9tbmlidXMgaW5zdGFsbGF0aW9uIGRldGVjdGVkICgkcHJldHR5X3ZlcnNpb24pIg0KfQ0KDQ0KJEhvc3QuU2V0U2hvdWxkRXhpdCgkTEFTVEVYSVRDT0RFKQ==') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 9947DAEF-A115-49A9-8C08-7688494A3F30 | |
D, [2017-03-30T10:02:08.726301 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 9947DAEF-A115-49A9-8C08-7688494A3F30 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.726801 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.756425 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.765190 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 9947DAEF-A115-49A9-8C08-7688494A3F30 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.820738 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: ECF45D1B-5B44-4CAD-BF35-1549C7092E34 | |
D, [2017-03-30T10:02:08.824749 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: ECF45D1B-5B44-4CAD-BF35-1549C7092E34 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.826249 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:08.850748 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:02:08.858781 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: ECF45D1B-5B44-4CAD-BF35-1549C7092E34 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.889785 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-1kh690nps1 to c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1 (15.552 KB over 1 chunks) in (0m0.35s) | |
D, [2017-03-30T10:02:08.891782 #32948] DEBUG -- default-win2012r2tk: No remote files to extract, skipping | |
D, [2017-03-30T10:02:08.892794 #32948] DEBUG -- default-win2012r2tk: Uploaded 1 items dirty_check: (0m0.63s) stream_files: (0m0.35s) extract: (0m0.00s) | |
D, [2017-03-30T10:02:08.935394 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $username = 'Administrator' | |
$password = 'password' | |
$script_file = 'c:/windows/temp/winrm-elevated-shell-ec67de69-6a12-474a-b197-be93ea5eec15.ps1' | |
$interactive = 'false' | |
$pass_to_use = $password | |
$logon_type = 1 | |
$logon_type_xml = "<LogonType>Password</LogonType>" | |
if($pass_to_use.length -eq 0) { | |
$pass_to_use = $null | |
$logon_type = 5 | |
$logon_type_xml = "" | |
} | |
if($interactive -eq 'true') { | |
$logon_type = 3 | |
$logon_type_xml = "<LogonType>InteractiveTokenOrPassword</LogonType>" | |
} | |
$task_name = "WinRM_Elevated_Shell" | |
$out_file = [System.IO.Path]::GetTempFileName() | |
$err_file = [System.IO.Path]::GetTempFileName() | |
$task_xml = @' | |
<?xml version="1.0" encoding="UTF-16"?> | |
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> | |
<Principals> | |
<Principal id="Author"> | |
<UserId>{username}</UserId> | |
{logon_type} | |
<RunLevel>HighestAvailable</RunLevel> | |
</Principal> | |
</Principals> | |
<Settings> | |
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> | |
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> | |
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> | |
<AllowHardTerminate>true</AllowHardTerminate> | |
<StartWhenAvailable>false</StartWhenAvailable> | |
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> | |
<IdleSettings> | |
<StopOnIdleEnd>false</StopOnIdleEnd> | |
<RestartOnIdle>false</RestartOnIdle> | |
</IdleSettings> | |
<AllowStartOnDemand>true</AllowStartOnDemand> | |
<Enabled>true</Enabled> | |
<Hidden>false</Hidden> | |
<RunOnlyIfIdle>false</RunOnlyIfIdle> | |
<WakeToRun>false</WakeToRun> | |
<ExecutionTimeLimit>PT24H</ExecutionTimeLimit> | |
<Priority>4</Priority> | |
</Settings> | |
<Actions Context="Author"> | |
<Exec> | |
<Command>cmd</Command> | |
<Arguments>{arguments}</Arguments> | |
</Exec> | |
</Actions> | |
</Task> | |
'@ | |
$arguments = "/c powershell.exe -executionpolicy bypass -NoProfile -File $script_file > $out_file 2>$err_file" | |
$task_xml = $task_xml.Replace("{arguments}", $arguments) | |
$task_xml = $task_xml.Replace("{username}", $username) | |
$task_xml = $task_xml.Replace("{logon_type}", $logon_type_xml) | |
$schedule = New-Object -ComObject "Schedule.Service" | |
$schedule.Connect() | |
$task = $schedule.NewTask($null) | |
$task.XmlText = $task_xml | |
$folder = $schedule.GetFolder("\") | |
$folder.RegisterTaskDefinition($task_name, $task, 6, $username, $pass_to_use, $logon_type, $null) | Out-Null | |
$registered_task = $folder.GetTask("\$task_name") | |
$registered_task.Run($null) | Out-Null | |
$timeout = 10 | |
$sec = 0 | |
while ( (!($registered_task.state -eq 4)) -and ($sec -lt $timeout) ) { | |
Start-Sleep -s 1 | |
$sec++ | |
} | |
function SlurpOutput($file, $cur_line, $out_type) { | |
if (Test-Path $file) { | |
get-content $file | select -skip $cur_line | ForEach { | |
$cur_line += 1 | |
if ($out_type -eq 'err') { | |
$host.ui.WriteErrorLine("$_") | |
} else { | |
$host.ui.WriteLine("$_") | |
} | |
} | |
} | |
return $cur_line | |
} | |
$err_cur_line = 0 | |
$out_cur_line = 0 | |
do { | |
Start-Sleep -m 100 | |
$out_cur_line = SlurpOutput $out_file $out_cur_line 'out' | |
$err_cur_line = SlurpOutput $err_file $err_cur_line 'err' | |
} while (!($registered_task.state -eq 3)) | |
# We'll make a best effort to clean these files | |
# But a reboot could possibly end the task while the process | |
# still runs and locks the file. If we can't delete we don't want to fail | |
try { Remove-Item $out_file -ErrorAction Stop } catch {} | |
try { Remove-Item $err_file -ErrorAction Stop } catch {} | |
try { Remove-Item $script_file -ErrorAction Stop } catch {} | |
$exit_code = $registered_task.LastTaskResult | |
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($schedule) | Out-Null | |
exit $exit_code | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: CB19F542-7217-4E0F-BF72-3F44C488A5AB | |
D, [2017-03-30T10:02:08.942367 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: CB19F542-7217-4E0F-BF72-3F44C488A5AB on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:02:08.943366 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:11.366476 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:02:11.373476 #32948] INFO -- default-win2012r2tk: -----> Installing Chef Omnibus () | |
I, [2017-03-30T10:02:11.380505 #32948] INFO -- default-win2012r2tk: Downloading package from http://automon.maritz.com/chef-installer/install.msi | |
D, [2017-03-30T10:02:11.382476 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:02:24.918611 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:02:24.927592 #32948] INFO -- default-win2012r2tk: Download complete. | |
I, [2017-03-30T10:02:24.936619 #32948] INFO -- default-win2012r2tk: Skipping sha256 verification | |
I, [2017-03-30T10:02:24.944268 #32948] INFO -- default-win2012r2tk: Installing Chef Omnibus package C:\Users\ADMINI~1\AppData\Local\Temp\install.msi | |
D, [2017-03-30T10:02:24.946267 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:06.193804 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:03:06.202804 #32948] INFO -- default-win2012r2tk: Installation complete | |
D, [2017-03-30T10:03:06.221451 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: CB19F542-7217-4E0F-BF72-3F44C488A5AB on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.284115 #32948] DEBUG -- default-win2012r2tk: [WinRM] <{:endpoint=>"http://192.168.1.250:5985/wsman", :user=>"Administrator", :password=>"password", :transport=>:negotiate, :elevated_username=>"Administrator", :elevated_password=>"password", :no_ssl_peer_verification=>true, :disable_sspi=>false, :basic_auth_only=>false}> ($env:TEST_KITCHEN = "1" | |
$dirs = @("$env:TEMP\kitchen\clients", "$env:TEMP\kitchen\cookbooks", "$env:TEMP\kitchen\data", "$env:TEMP\kitchen\data_bags", "$env:TEMP\kitchen\encrypted_data_bag_secret", "$env:TEMP\kitchen\environments", "$env:TEMP\kitchen\roles") | |
$root_path = "$env:TEMP\kitchen" | |
Function Delete-AllDirs($dirs) { | |
$dirs | ForEach-Object { | |
if (Test-Path ($path = Unresolve-Path $_)) { Remove-Item $path -Recurse -Force } | |
} | |
} | |
Function Unresolve-Path($p) { | |
if ($p -eq $null) { return $null } | |
else { return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($p) } | |
} | |
Function Make-RootPath($p) { | |
$p = Unresolve-Path $p | |
if (-Not (Test-Path $p)) { New-Item $p -ItemType directory | Out-Null } | |
} | |
Delete-AllDirs $dirs | |
Make-RootPath $root_path | |
) | |
D, [2017-03-30T10:03:06.294127 #32948] DEBUG -- default-win2012r2tk: creating hash for file c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1 | |
D, [2017-03-30T10:03:06.295119 #32948] DEBUG -- default-win2012r2tk: Running check_files.ps1 | |
D, [2017-03-30T10:03:06.337116 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $hash_file = @{ | |
"004bc4f2a1c46004537879ada398ea86" = @{ | |
"target" = "c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1"; | |
"src_basename" = "winrm-elevated-shell20170330-32948-1jc4p2aps1"; | |
"dst" = "c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1" | |
} | |
} | |
Function Cleanup($disposable) { | |
if (($disposable -ne $null) -and ($disposable.GetType().GetMethod("Dispose") -ne $null)) { | |
$disposable.Dispose() | |
} | |
} | |
Function Check-Files($h) { | |
return $h.GetEnumerator() | ForEach-Object { | |
$dst = Unresolve-Path $_.Value.target | |
$dst_changed = $false | |
if(Test-Path $dst -PathType Container) { | |
$dst_changed = $true | |
$dst = Join-Path $dst $_.Value.src_basename | |
} | |
New-Object psobject -Property @{ | |
chk_exists = ($exists = Test-Path $dst -PathType Leaf) | |
src_md5 = ($sMd5 = $_.Key) | |
dst_md5 = ($dMd5 = if ($exists) { Get-MD5Sum $dst } else { $null }) | |
chk_dirty = ($dirty = if ($sMd5 -ne $dMd5) { $true } else { $false }) | |
verifies = if ($dirty -eq $false) { $true } else { $false } | |
target_is_folder = $dst_changed | |
} | |
} | Select-Object -Property chk_exists,src_md5,dst_md5,chk_dirty,verifies,target_is_folder | |
} | |
Function Get-MD5Sum($src) { | |
Try { | |
$c = [System.Security.Cryptography.MD5]::Create() | |
$bytes = $c.ComputeHash(($in = (Get-Item $src).OpenRead())) | |
return ([System.BitConverter]::ToString($bytes)).Replace("-", "").ToLower() | |
} | |
Finally { | |
Cleanup $c | |
Cleanup $in | |
} | |
} | |
Function Unresolve-Path($path) { | |
if ($path -eq $null) { | |
return $null | |
} | |
else { | |
return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) | |
} | |
} | |
Check-Files $hash_file | ConvertTo-Csv -NoTypeInformation | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 13921F7C-1182-4EE7-BEFA-DFCD650A7A4D | |
D, [2017-03-30T10:03:06.343115 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 13921F7C-1182-4EE7-BEFA-DFCD650A7A4D on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.344114 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:06.378159 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:06.402325 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 13921F7C-1182-4EE7-BEFA-DFCD650A7A4D on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.434294 #32948] DEBUG -- default-win2012r2tk: Parsing CSV Response | |
D, [2017-03-30T10:03:06.435294 #32948] DEBUG -- default-win2012r2tk: "chk_exists","src_md5","dst_md5","chk_dirty","verifies","target_is_folder" | |
"False","004bc4f2a1c46004537879ada398ea86",,"True","False","False" | |
D, [2017-03-30T10:03:06.436296 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-1jc4p2aps1 to c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1 | |
D, [2017-03-30T10:03:06.469334 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 21D3248B-3EFF-46AA-91DC-939DA6EA0E87 | |
D, [2017-03-30T10:03:06.472831 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 21D3248B-3EFF-46AA-91DC-939DA6EA0E87 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.473351 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:06.499870 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:06.508872 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 21D3248B-3EFF-46AA-91DC-939DA6EA0E87 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.572874 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('JGVudjp0ZW1wPSdDOlxVc2Vyc1xBRE1JTkl+MVxBcHBEYXRhXExvY2FsXFRlbXAnOyRlbnY6VEVTVF9LSVRDSEVOID0gIjEiDQokZGlycyA9IEAoIiRlbnY6VEVNUFxraXRjaGVuXGNsaWVudHMiLCAiJGVudjpURU1QXGtpdGNoZW5cY29va2Jvb2tzIiwgIiRlbnY6VEVNUFxraXRjaGVuXGRhdGEiLCAiJGVudjpURU1QXGtpdGNoZW5cZGF0YV9iYWdzIiwgIiRlbnY6VEVNUFxraXRjaGVuXGVuY3J5cHRlZF9kYXRhX2JhZ19zZWNyZXQiLCAiJGVudjpURU1QXGtpdGNoZW5cZW52aXJvbm1lbnRzIiwgIiRlbnY6VEVNUFxraXRjaGVuXHJvbGVzIikNCiRyb290X3BhdGggPSAiJGVudjpURU1QXGtpdGNoZW4iDQoNCkZ1bmN0aW9uIERlbGV0ZS1BbGxEaXJzKCRkaXJzKSB7DQogICRkaXJzIHwgRm9yRWFjaC1PYmplY3Qgew0KICAgIGlmIChUZXN0LVBhdGggKCRwYXRoID0gVW5yZXNvbHZlLVBhdGggJF8pKSB7IFJlbW92ZS1JdGVtICRwYXRoIC1SZWN1cnNlIC1Gb3JjZSB9DQogIH0NCn0NCg0KRnVuY3Rpb24gVW5yZXNvbHZlLVBhdGgoJHApIHsNCiAgaWYgKCRwIC1lcSAkbnVsbCkgeyByZXR1cm4gJG51bGwgfQ0KICBlbHNlIHsgcmV0dXJuICRFeGVjdXRpb25Db250ZXh0LlNlc3Npb25TdGF0ZS5QYXRoLkdldFVucmVzb2x2ZWRQcm92aWRlclBhdGhGcm9tUFNQYXRoKCRwKSB9DQp9DQoNCkZ1bmN0aW9uIE1ha2UtUm9vdFBhdGgoJHApIHsNCiAgJHAgPSBVbnJlc29sdmUtUGF0aCAkcA0KICBpZiAoLU5vdCAoVGVzdC1QYXRoICRwKSkgeyBOZXctSXRlbSAkcCAtSXRlbVR5cGUgZGlyZWN0b3J5IHwgT3V0LU51bGwgfQ0KfQ0KDQpEZWxldGUtQWxsRGlycyAkZGlycw0KTWFrZS1Sb290UGF0aCAkcm9vdF9wYXRoDQoNDQokSG9zdC5TZXRTaG91bGRFeGl0KCRMQVNURVhJVENPREUp') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: DBFCF5DE-B4DE-4603-AA93-64EBD2EED978 | |
D, [2017-03-30T10:03:06.575846 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: DBFCF5DE-B4DE-4603-AA93-64EBD2EED978 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.576845 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:06.604854 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:06.612852 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: DBFCF5DE-B4DE-4603-AA93-64EBD2EED978 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.677857 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 6AB8EB41-D7E9-4B77-B6A7-37BEED976CCB | |
D, [2017-03-30T10:03:06.680382 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 6AB8EB41-D7E9-4B77-B6A7-37BEED976CCB on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.681379 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:06.713381 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:06.723379 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 6AB8EB41-D7E9-4B77-B6A7-37BEED976CCB on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.758381 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-1jc4p2aps1 to c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1 (1.192 KB over 1 chunks) in (0m0.32s) | |
D, [2017-03-30T10:03:06.759381 #32948] DEBUG -- default-win2012r2tk: No remote files to extract, skipping | |
D, [2017-03-30T10:03:06.760384 #32948] DEBUG -- default-win2012r2tk: Uploaded 1 items dirty_check: (0m0.14s) stream_files: (0m0.32s) extract: (0m0.00s) | |
D, [2017-03-30T10:03:06.815873 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $username = 'Administrator' | |
$password = 'password' | |
$script_file = 'c:/windows/temp/winrm-elevated-shell-390fa9a5-9db4-4d09-8375-6771e1d03d62.ps1' | |
$interactive = 'false' | |
$pass_to_use = $password | |
$logon_type = 1 | |
$logon_type_xml = "<LogonType>Password</LogonType>" | |
if($pass_to_use.length -eq 0) { | |
$pass_to_use = $null | |
$logon_type = 5 | |
$logon_type_xml = "" | |
} | |
if($interactive -eq 'true') { | |
$logon_type = 3 | |
$logon_type_xml = "<LogonType>InteractiveTokenOrPassword</LogonType>" | |
} | |
$task_name = "WinRM_Elevated_Shell" | |
$out_file = [System.IO.Path]::GetTempFileName() | |
$err_file = [System.IO.Path]::GetTempFileName() | |
$task_xml = @' | |
<?xml version="1.0" encoding="UTF-16"?> | |
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> | |
<Principals> | |
<Principal id="Author"> | |
<UserId>{username}</UserId> | |
{logon_type} | |
<RunLevel>HighestAvailable</RunLevel> | |
</Principal> | |
</Principals> | |
<Settings> | |
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> | |
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> | |
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> | |
<AllowHardTerminate>true</AllowHardTerminate> | |
<StartWhenAvailable>false</StartWhenAvailable> | |
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> | |
<IdleSettings> | |
<StopOnIdleEnd>false</StopOnIdleEnd> | |
<RestartOnIdle>false</RestartOnIdle> | |
</IdleSettings> | |
<AllowStartOnDemand>true</AllowStartOnDemand> | |
<Enabled>true</Enabled> | |
<Hidden>false</Hidden> | |
<RunOnlyIfIdle>false</RunOnlyIfIdle> | |
<WakeToRun>false</WakeToRun> | |
<ExecutionTimeLimit>PT24H</ExecutionTimeLimit> | |
<Priority>4</Priority> | |
</Settings> | |
<Actions Context="Author"> | |
<Exec> | |
<Command>cmd</Command> | |
<Arguments>{arguments}</Arguments> | |
</Exec> | |
</Actions> | |
</Task> | |
'@ | |
$arguments = "/c powershell.exe -executionpolicy bypass -NoProfile -File $script_file > $out_file 2>$err_file" | |
$task_xml = $task_xml.Replace("{arguments}", $arguments) | |
$task_xml = $task_xml.Replace("{username}", $username) | |
$task_xml = $task_xml.Replace("{logon_type}", $logon_type_xml) | |
$schedule = New-Object -ComObject "Schedule.Service" | |
$schedule.Connect() | |
$task = $schedule.NewTask($null) | |
$task.XmlText = $task_xml | |
$folder = $schedule.GetFolder("\") | |
$folder.RegisterTaskDefinition($task_name, $task, 6, $username, $pass_to_use, $logon_type, $null) | Out-Null | |
$registered_task = $folder.GetTask("\$task_name") | |
$registered_task.Run($null) | Out-Null | |
$timeout = 10 | |
$sec = 0 | |
while ( (!($registered_task.state -eq 4)) -and ($sec -lt $timeout) ) { | |
Start-Sleep -s 1 | |
$sec++ | |
} | |
function SlurpOutput($file, $cur_line, $out_type) { | |
if (Test-Path $file) { | |
get-content $file | select -skip $cur_line | ForEach { | |
$cur_line += 1 | |
if ($out_type -eq 'err') { | |
$host.ui.WriteErrorLine("$_") | |
} else { | |
$host.ui.WriteLine("$_") | |
} | |
} | |
} | |
return $cur_line | |
} | |
$err_cur_line = 0 | |
$out_cur_line = 0 | |
do { | |
Start-Sleep -m 100 | |
$out_cur_line = SlurpOutput $out_file $out_cur_line 'out' | |
$err_cur_line = SlurpOutput $err_file $err_cur_line 'err' | |
} while (!($registered_task.state -eq 3)) | |
# We'll make a best effort to clean these files | |
# But a reboot could possibly end the task while the process | |
# still runs and locks the file. If we can't delete we don't want to fail | |
try { Remove-Item $out_file -ErrorAction Stop } catch {} | |
try { Remove-Item $err_file -ErrorAction Stop } catch {} | |
try { Remove-Item $script_file -ErrorAction Stop } catch {} | |
$exit_code = $registered_task.LastTaskResult | |
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($schedule) | Out-Null | |
exit $exit_code | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 44147B1B-A0DB-401F-9D3F-698AAD29E7A1 | |
D, [2017-03-30T10:03:06.827873 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 44147B1B-A0DB-401F-9D3F-698AAD29E7A1 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:06.827873 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.027689 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.043690 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 44147B1B-A0DB-401F-9D3F-698AAD29E7A1 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
I, [2017-03-30T10:03:17.068074 #32948] INFO -- default-win2012r2tk: Transferring files to <default-win2012r2tk> | |
D, [2017-03-30T10:03:17.070061 #32948] DEBUG -- default-win2012r2tk: creating hash for directory $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.072077 #32948] DEBUG -- default-win2012r2tk: Populating files | |
D, [2017-03-30T10:03:17.073050 #32948] DEBUG -- default-win2012r2tk: === All files added. | |
D, [2017-03-30T10:03:17.078057 #32948] DEBUG -- default-win2012r2tk: creating hash for file $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.081555 #32948] DEBUG -- default-win2012r2tk: creating hash for directory $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.083085 #32948] DEBUG -- default-win2012r2tk: Populating files | |
D, [2017-03-30T10:03:17.099127 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/README.md | |
D, [2017-03-30T10:03:17.101110 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/attributes/default.rb | |
D, [2017-03-30T10:03:17.107101 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/files/default/handlers/README | |
D, [2017-03-30T10:03:17.108110 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/libraries/helpers.rb | |
D, [2017-03-30T10:03:17.112130 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/libraries/matchers.rb | |
D, [2017-03-30T10:03:17.114108 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/metadata.json | |
D, [2017-03-30T10:03:17.115140 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/providers/default.rb | |
D, [2017-03-30T10:03:17.116861 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/recipes/default.rb | |
D, [2017-03-30T10:03:17.116861 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/recipes/json_file.rb | |
D, [2017-03-30T10:03:17.117867 #32948] DEBUG -- default-win2012r2tk: +++ Adding chef_handler/resources/default.rb | |
D, [2017-03-30T10:03:17.117867 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/README.md | |
D, [2017-03-30T10:03:17.118864 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/attributes/default.rb | |
D, [2017-03-30T10:03:17.119864 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/default.rb | |
D, [2017-03-30T10:03:17.121873 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/matchers.rb | |
D, [2017-03-30T10:03:17.122865 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/package_helper.rb | |
D, [2017-03-30T10:03:17.124866 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/v2_helper.rb | |
D, [2017-03-30T10:03:17.126866 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/v3_helper.rb | |
D, [2017-03-30T10:03:17.127886 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/v4_helper.rb | |
D, [2017-03-30T10:03:17.129864 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/version_helper.rb | |
D, [2017-03-30T10:03:17.131864 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/libraries/windows_version_helper.rb | |
D, [2017-03-30T10:03:17.133864 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/metadata.json | |
D, [2017-03-30T10:03:17.135337 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/providers/framework.rb | |
D, [2017-03-30T10:03:17.136336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/recipes/default.rb | |
D, [2017-03-30T10:03:17.136336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/recipes/ms_dotnet2.rb | |
D, [2017-03-30T10:03:17.137336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/recipes/ms_dotnet3.rb | |
D, [2017-03-30T10:03:17.137336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/recipes/ms_dotnet4.rb | |
D, [2017-03-30T10:03:17.138336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/recipes/regiis.rb | |
D, [2017-03-30T10:03:17.138336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ms_dotnet/resources/framework.rb | |
D, [2017-03-30T10:03:17.139336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/README.md | |
D, [2017-03-30T10:03:17.140342 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/libraries/matchers.rb | |
D, [2017-03-30T10:03:17.146336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/metadata.json | |
D, [2017-03-30T10:03:17.147357 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/recipes/default.rb | |
D, [2017-03-30T10:03:17.148336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/resources/hint.rb | |
D, [2017-03-30T10:03:17.148336 #32948] DEBUG -- default-win2012r2tk: +++ Adding ohai/resources/plugin.rb | |
D, [2017-03-30T10:03:17.149339 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/README.md | |
D, [2017-03-30T10:03:17.150336 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/attributes/config_lcm.rb | |
D, [2017-03-30T10:03:17.150801 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/attributes/default.rb | |
D, [2017-03-30T10:03:17.151804 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/attributes/powershell3.rb | |
D, [2017-03-30T10:03:17.151804 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/attributes/powershell4.rb | |
D, [2017-03-30T10:03:17.152804 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/attributes/powershell5.rb | |
D, [2017-03-30T10:03:17.153804 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/libraries/powershell_module_provider.rb | |
D, [2017-03-30T10:03:17.158813 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/libraries/powershell_module_resource.rb | |
D, [2017-03-30T10:03:17.160820 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/libraries/powershell_version.rb | |
D, [2017-03-30T10:03:17.162807 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/metadata.json | |
D, [2017-03-30T10:03:17.163808 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/default.rb | |
D, [2017-03-30T10:03:17.175814 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/disable_lcm.rb | |
D, [2017-03-30T10:03:17.177814 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/dsc.rb | |
D, [2017-03-30T10:03:17.179814 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/enable_dsc_script.rb | |
D, [2017-03-30T10:03:17.191335 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/enable_lcm.rb | |
D, [2017-03-30T10:03:17.192333 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/powershell2.rb | |
D, [2017-03-30T10:03:17.193332 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/powershell3.rb | |
D, [2017-03-30T10:03:17.193332 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/powershell4.rb | |
D, [2017-03-30T10:03:17.194333 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/powershell5.rb | |
D, [2017-03-30T10:03:17.195334 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/powershell_module.rb | |
D, [2017-03-30T10:03:17.196335 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/windows_reboot.rb | |
D, [2017-03-30T10:03:17.197332 #32948] DEBUG -- default-win2012r2tk: +++ Adding powershell/recipes/winrm.rb | |
D, [2017-03-30T10:03:17.197332 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/README.md | |
D, [2017-03-30T10:03:17.198333 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/attributes/default.rb | |
D, [2017-03-30T10:03:17.202102 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/files/dism_features.rb | |
D, [2017-03-30T10:03:17.202102 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/matchers.rb | |
D, [2017-03-30T10:03:17.203072 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/powershell_helper.rb | |
D, [2017-03-30T10:03:17.204103 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/registry_helper.rb | |
D, [2017-03-30T10:03:17.204103 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/version.rb | |
D, [2017-03-30T10:03:17.205090 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/version_helper.rb | |
D, [2017-03-30T10:03:17.206072 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/windows_helper.rb | |
D, [2017-03-30T10:03:17.207103 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/windows_privileged.rb | |
D, [2017-03-30T10:03:17.208081 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/libraries/wmi_helper.rb | |
D, [2017-03-30T10:03:17.210097 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/metadata.json | |
D, [2017-03-30T10:03:17.213097 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/recipes/default.rb | |
D, [2017-03-30T10:03:17.214101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/auto_run.rb | |
D, [2017-03-30T10:03:17.214101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/certificate.rb | |
D, [2017-03-30T10:03:17.215097 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/certificate_binding.rb | |
D, [2017-03-30T10:03:17.216096 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/feature.rb | |
D, [2017-03-30T10:03:17.216096 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/feature_dism.rb | |
D, [2017-03-30T10:03:17.217100 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/feature_powershell.rb | |
D, [2017-03-30T10:03:17.218101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/feature_servermanagercmd.rb | |
D, [2017-03-30T10:03:17.219101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/font.rb | |
D, [2017-03-30T10:03:17.219101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/http_acl.rb | |
D, [2017-03-30T10:03:17.220105 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/pagefile.rb | |
D, [2017-03-30T10:03:17.225074 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/path.rb | |
D, [2017-03-30T10:03:17.226104 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/printer.rb | |
D, [2017-03-30T10:03:17.227102 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/printer_port.rb | |
D, [2017-03-30T10:03:17.228102 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/share.rb | |
D, [2017-03-30T10:03:17.228102 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/shortcut.rb | |
D, [2017-03-30T10:03:17.229101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/task.rb | |
D, [2017-03-30T10:03:17.230101 #32948] DEBUG -- default-win2012r2tk: +++ Adding windows/resources/zipfile.rb | |
D, [2017-03-30T10:03:17.230101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/README.md | |
D, [2017-03-30T10:03:17.233100 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/attributes/default.rb | |
D, [2017-03-30T10:03:17.233100 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/metadata.json | |
D, [2017-03-30T10:03:17.234101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/base.rb | |
D, [2017-03-30T10:03:17.234101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/cdrom.rb | |
D, [2017-03-30T10:03:17.235113 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/certificate.rb | |
D, [2017-03-30T10:03:17.236101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/default.rb | |
D, [2017-03-30T10:03:17.236101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/disk.rb | |
D, [2017-03-30T10:03:17.237101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/domain.rb | |
D, [2017-03-30T10:03:17.237101 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/eventlog.rb | |
D, [2017-03-30T10:03:17.238100 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/network.rb | |
D, [2017-03-30T10:03:17.239071 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/powershell.rb | |
D, [2017-03-30T10:03:17.239071 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/remotedesktop.rb | |
D, [2017-03-30T10:03:17.241089 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/timezone.rb | |
D, [2017-03-30T10:03:17.245105 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/updates.rb | |
D, [2017-03-30T10:03:17.246102 #32948] DEBUG -- default-win2012r2tk: +++ Adding wincb/recipes/users.rb | |
D, [2017-03-30T10:03:17.246102 #32948] DEBUG -- default-win2012r2tk: === All files added. | |
D, [2017-03-30T10:03:17.256079 #32948] DEBUG -- default-win2012r2tk: creating hash for file $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.257082 #32948] DEBUG -- default-win2012r2tk: creating hash for directory $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.259106 #32948] DEBUG -- default-win2012r2tk: Populating files | |
D, [2017-03-30T10:03:17.260106 #32948] DEBUG -- default-win2012r2tk: +++ Adding default-win2012r2tk-d2a4a5bc.json | |
D, [2017-03-30T10:03:17.261103 #32948] DEBUG -- default-win2012r2tk: === All files added. | |
D, [2017-03-30T10:03:17.264100 #32948] DEBUG -- default-win2012r2tk: creating hash for file $env:TEMP\kitchen | |
D, [2017-03-30T10:03:17.266071 #32948] DEBUG -- default-win2012r2tk: Running check_files.ps1 | |
D, [2017-03-30T10:03:17.301198 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $hash_file = @{ | |
"76cdb2bad9582d23c1f6f4d868218d6c" = @{ | |
"target" = "$env:TEMP\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip"; | |
"src_basename" = "cache"; | |
"dst" = "$env:TEMP\kitchen\cache" | |
}; | |
"c7c6275bfa8c9a034043d87f575218e9" = @{ | |
"target" = "$env:TEMP\kitchen"; | |
"src_basename" = "client.rb"; | |
"dst" = "$env:TEMP\kitchen" | |
}; | |
"02ed198e5b364f4a41fe536ba731dd15" = @{ | |
"target" = "$env:TEMP\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip"; | |
"src_basename" = "cookbooks"; | |
"dst" = "$env:TEMP\kitchen\cookbooks" | |
}; | |
"dff673a94d92f1d965b0becfc970892f" = @{ | |
"target" = "$env:TEMP\kitchen"; | |
"src_basename" = "dna.json"; | |
"dst" = "$env:TEMP\kitchen" | |
}; | |
"2ae06e61412d1364193d68249958acc2" = @{ | |
"target" = "$env:TEMP\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip"; | |
"src_basename" = "nodes"; | |
"dst" = "$env:TEMP\kitchen\nodes" | |
}; | |
"49abb94825cb80b9a9cd59e5f76daf4a" = @{ | |
"target" = "$env:TEMP\kitchen"; | |
"src_basename" = "validation.pem"; | |
"dst" = "$env:TEMP\kitchen" | |
} | |
} | |
Function Cleanup($disposable) { | |
if (($disposable -ne $null) -and ($disposable.GetType().GetMethod("Dispose") -ne $null)) { | |
$disposable.Dispose() | |
} | |
} | |
Function Check-Files($h) { | |
return $h.GetEnumerator() | ForEach-Object { | |
$dst = Unresolve-Path $_.Value.target | |
$dst_changed = $false | |
if(Test-Path $dst -PathType Container) { | |
$dst_changed = $true | |
$dst = Join-Path $dst $_.Value.src_basename | |
} | |
New-Object psobject -Property @{ | |
chk_exists = ($exists = Test-Path $dst -PathType Leaf) | |
src_md5 = ($sMd5 = $_.Key) | |
dst_md5 = ($dMd5 = if ($exists) { Get-MD5Sum $dst } else { $null }) | |
chk_dirty = ($dirty = if ($sMd5 -ne $dMd5) { $true } else { $false }) | |
verifies = if ($dirty -eq $false) { $true } else { $false } | |
target_is_folder = $dst_changed | |
} | |
} | Select-Object -Property chk_exists,src_md5,dst_md5,chk_dirty,verifies,target_is_folder | |
} | |
Function Get-MD5Sum($src) { | |
Try { | |
$c = [System.Security.Cryptography.MD5]::Create() | |
$bytes = $c.ComputeHash(($in = (Get-Item $src).OpenRead())) | |
return ([System.BitConverter]::ToString($bytes)).Replace("-", "").ToLower() | |
} | |
Finally { | |
Cleanup $c | |
Cleanup $in | |
} | |
} | |
Function Unresolve-Path($path) { | |
if ($path -eq $null) { | |
return $null | |
} | |
else { | |
return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) | |
} | |
} | |
Check-Files $hash_file | ConvertTo-Csv -NoTypeInformation | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 3157DA24-3BE5-47EB-8617-B5234E1118B9 | |
D, [2017-03-30T10:03:17.310181 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 3157DA24-3BE5-47EB-8617-B5234E1118B9 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.310181 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.389750 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.442877 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 3157DA24-3BE5-47EB-8617-B5234E1118B9 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.471861 #32948] DEBUG -- default-win2012r2tk: Parsing CSV Response | |
D, [2017-03-30T10:03:17.472879 #32948] DEBUG -- default-win2012r2tk: "chk_exists","src_md5","dst_md5","chk_dirty","verifies","target_is_folder" | |
"False","c7c6275bfa8c9a034043d87f575218e9",,"True","False","True" | |
"False","02ed198e5b364f4a41fe536ba731dd15",,"True","False","False" | |
"False","76cdb2bad9582d23c1f6f4d868218d6c",,"True","False","False" | |
"False","2ae06e61412d1364193d68249958acc2",,"True","False","False" | |
"False","49abb94825cb80b9a9cd59e5f76daf4a",,"True","False","True" | |
"False","dff673a94d92f1d965b0becfc970892f",,"True","False","True" | |
D, [2017-03-30T10:03:17.474361 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1oz07o9.zip to $env:TEMP\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip | |
D, [2017-03-30T10:03:17.506776 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: B0DCD332-D626-41CD-BBD0-7CD45597DF6E | |
D, [2017-03-30T10:03:17.511795 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: B0DCD332-D626-41CD-BBD0-7CD45597DF6E on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.512778 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.609026 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.618055 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: B0DCD332-D626-41CD-BBD0-7CD45597DF6E on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.678261 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 2C85A165-1B1A-4F11-B3AE-FF806A7DFB85 | |
D, [2017-03-30T10:03:17.681731 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 2C85A165-1B1A-4F11-B3AE-FF806A7DFB85 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.682730 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.711767 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.720768 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 2C85A165-1B1A-4F11-B3AE-FF806A7DFB85 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.779262 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 715919D1-BD3C-48E8-823D-527F28E7D517 | |
D, [2017-03-30T10:03:17.782452 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 715919D1-BD3C-48E8-823D-527F28E7D517 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.783456 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.810962 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.818962 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 715919D1-BD3C-48E8-823D-527F28E7D517 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.851962 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1oz07o9.zip to $env:TEMP\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip (0.028 KB over 1 chunks) in (0m0.38s) | |
D, [2017-03-30T10:03:17.852963 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/client.rb to $env:TEMP\kitchen/client.rb | |
D, [2017-03-30T10:03:17.891983 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\kitchen/client.rb") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 229D0EEA-DAD5-4A22-AB75-5A4E13B6C2C3 | |
D, [2017-03-30T10:03:17.894982 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 229D0EEA-DAD5-4A22-AB75-5A4E13B6C2C3 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.895982 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:17.921982 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:17.930981 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 229D0EEA-DAD5-4A22-AB75-5A4E13B6C2C3 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.992206 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('bm9kZV9uYW1lICJkZWZhdWx0LXdpbjIwMTJyMnRrIgpjaGVja3N1bV9wYXRoICIje0VOVlsnVEVNUCddfVxca2l0Y2hlblxcY2hlY2tzdW1zIgpmaWxlX2NhY2hlX3BhdGggIiN7RU5WWydURU1QJ119XFxraXRjaGVuXFxjYWNoZSIKZmlsZV9iYWNrdXBfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXGJhY2t1cCIKY29va2Jvb2tfcGF0aCBbIiN7RU5WWydURU1QJ119XFxraXRjaGVuXFxjb29rYm9va3MiLCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXHNpdGUtY29va2Jvb2tzIl0KZGF0YV9iYWdfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXGRhdGFfYmFncyIKZW52aXJvbm1lbnRfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXGVudmlyb25tZW50cyIKbm9kZV9wYXRoICIje0VOVlsnVEVNUCddfVxca2l0Y2hlblxcbm9kZXMiCnJvbGVfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXHJvbGVzIgpjbGllbnRfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXGNsaWVudHMiCnVzZXJfcGF0aCAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXHVzZXJzIgp2YWxpZGF0aW9uX2tleSAiI3tFTlZbJ1RFTVAnXX1cXGtpdGNoZW5cXHZhbGlkYXRpb24ucGVtIgpjbGllbnRfa2V5ICIje0VOVlsnVEVNUCddfVxca2l0Y2hlblxcY2xpZW50LnBlbSIKY2hlZl9zZXJ2ZXJfdXJsICJodHRwOi8vMTI3LjAuMC4xOjg4ODkiCmVuY3J5cHRlZF9kYXRhX2JhZ19zZWNyZXQgIiN7RU5WWydURU1QJ119XFxraXRjaGVuXFxlbmNyeXB0ZWRfZGF0YV9iYWdfc2VjcmV0Igp0cmVhdF9kZXByZWNhdGlvbl93YXJuaW5nc19hc19lcnJvcnMgZmFsc2UKbmFtZWRfcnVuX2xpc3Qge30=') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: D21B035E-3B32-4EC7-AD8C-F63D159916A5 | |
D, [2017-03-30T10:03:17.995208 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: D21B035E-3B32-4EC7-AD8C-F63D159916A5 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:17.995208 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.022205 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.031206 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: D21B035E-3B32-4EC7-AD8C-F63D159916A5 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.089710 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 7E498EC8-D00C-4A1B-963A-12E50B75BD0E | |
D, [2017-03-30T10:03:18.093217 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 7E498EC8-D00C-4A1B-963A-12E50B75BD0E on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.094233 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.119216 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.128217 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 7E498EC8-D00C-4A1B-963A-12E50B75BD0E on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.154216 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/client.rb to $env:TEMP\kitchen/client.rb (1.128 KB over 1 chunks) in (0m0.30s) | |
D, [2017-03-30T10:03:18.155215 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1epes8e.zip to $env:TEMP\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip | |
D, [2017-03-30T10:03:18.189778 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 32665FA3-D184-4EFE-AF71-B56E6FE9EA13 | |
D, [2017-03-30T10:03:18.194293 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 32665FA3-D184-4EFE-AF71-B56E6FE9EA13 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.196264 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.255700 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.263700 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 32665FA3-D184-4EFE-AF71-B56E6FE9EA13 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.427387 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('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') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 48F71265-367C-406B-AA88-389727F6368F | |
D, [2017-03-30T10:03:18.444396 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 48F71265-367C-406B-AA88-389727F6368F on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.445359 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.473358 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.483367 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 48F71265-367C-406B-AA88-389727F6368F on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.540425 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 4F5C0EFC-6D1C-4339-8473-988CCEE4C895 | |
D, [2017-03-30T10:03:18.543396 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 4F5C0EFC-6D1C-4339-8473-988CCEE4C895 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.545410 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.570425 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.579933 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 4F5C0EFC-6D1C-4339-8473-988CCEE4C895 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.608182 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1epes8e.zip to $env:TEMP\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip (182.452 KB over 1 chunks) in (0m0.45s) | |
D, [2017-03-30T10:03:18.610193 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/dna.json to $env:TEMP\kitchen/dna.json | |
D, [2017-03-30T10:03:18.640152 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\kitchen/dna.json") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 877339A4-B9F8-46AC-9E4E-EC85BBC00B52 | |
D, [2017-03-30T10:03:18.645152 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 877339A4-B9F8-46AC-9E4E-EC85BBC00B52 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.645152 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.671152 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.679683 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 877339A4-B9F8-46AC-9E4E-EC85BBC00B52 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.738280 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('eyJydW5fbGlzdCI6WyJyZWNpcGVbd2lubWl0czo6Y2Ryb21dIl19') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: D46BD1B3-DFBC-4757-9E1E-617D650FD174 | |
D, [2017-03-30T10:03:18.740255 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: D46BD1B3-DFBC-4757-9E1E-617D650FD174 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.741262 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.769655 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.778661 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: D46BD1B3-DFBC-4757-9E1E-617D650FD174 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.841343 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: D29E397C-B60C-4812-B8D4-C534E3170730 | |
D, [2017-03-30T10:03:18.844362 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: D29E397C-B60C-4812-B8D4-C534E3170730 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.845385 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.871342 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.880865 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: D29E397C-B60C-4812-B8D4-C534E3170730 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.910879 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/dna.json to $env:TEMP\kitchen/dna.json (0.052 KB over 1 chunks) in (0m0.30s) | |
D, [2017-03-30T10:03:18.911890 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-lgat8p.zip to $env:TEMP\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip | |
D, [2017-03-30T10:03:18.940871 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: F5290CF3-1929-4E80-9BF0-77EBFAC04C7A | |
D, [2017-03-30T10:03:18.944874 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: F5290CF3-1929-4E80-9BF0-77EBFAC04C7A on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:18.945871 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:18.969869 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:18.979374 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: F5290CF3-1929-4E80-9BF0-77EBFAC04C7A on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.035533 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('UEsDBBQAAAAIAAAAISiR84VnGgEAAMIBAAAhAAAAZGVmYXVsdC13aW4yMDEycjJ0ay1kMmE0YTViYy5qc29uVZDPboMwDMbvfQqUw04LdWhYKdK0w15hO6OQGBo1DSh/6KHquy9h00QPlmV/P3+2fN8VBbHiiqQtiMJBRBPoTdsKWOWqcKGqElzUvSSvKzm5qzCJvacq1fKMQze7adFeT1bb8V9KosMBHVqJm2ZqK6cXdF102Ycsfj4nqt3vjejFPC9yBl5GX17H4FOrtBj2Xl0+osfOe/MeXMQXbT3K6HCt1tOezVPkg/ICKBmUsGU8usxoleUagJ/g2NA3ziQ9wcDpUTUNxYbX0DMp+0Zth7Xv0nvUdPNpOm/faMKYSYqAqhMhe6cnHikc6AEKxtsa2ropvr8+n+xmoZRDn91IOrSq65KxQ8pA/qjHmh+/QySIMbM2GrPL2uMHUEsBAjQAFAAAAAgAAAAhKJHzhWcaAQAAwgEAACEAAAAAAAAAAQAAAAAAAAAAAGRlZmF1bHQtd2luMjAxMnIydGstZDJhNGE1YmMuanNvblBLBQYAAAAAAQABAE8AAABZAQAAAAA=') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 6B8CCDF1-2112-4075-8641-BC8BC7B5618B | |
D, [2017-03-30T10:03:19.037532 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 6B8CCDF1-2112-4075-8641-BC8BC7B5618B on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.038533 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.064715 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.071723 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 6B8CCDF1-2112-4075-8641-BC8BC7B5618B on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.131251 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 50D40F3E-75F3-4952-839C-83978980B72B | |
D, [2017-03-30T10:03:19.133547 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 50D40F3E-75F3-4952-839C-83978980B72B on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.133547 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.161590 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.170578 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 50D40F3E-75F3-4952-839C-83978980B72B on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.199764 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-lgat8p.zip to $env:TEMP\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip (0.592 KB over 1 chunks) in (0m0.29s) | |
D, [2017-03-30T10:03:19.200766 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/validation.pem to $env:TEMP\kitchen/validation.pem | |
D, [2017-03-30T10:03:19.235801 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:TEMP\kitchen/validation.pem") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: AAAEED1B-BB66-46B4-B70B-50D19CCA93B6 | |
D, [2017-03-30T10:03:19.239803 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: AAAEED1B-BB66-46B4-B70B-50D19CCA93B6 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.239803 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.266794 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.274765 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: AAAEED1B-BB66-46B4-B70B-50D19CCA93B6 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.333458 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMHNPWTl0SHZWdExaNnhtVm1IOGQ4THJSck5jV09YYnJ2dkNyYWkrVDNHdFJ2UlNMCmhrc0xycE9wRDBMOUVITTZOZFRoTkYvZUdBOU9xK1VLQWU2eVhSMGh3c0t1eEtYcVE4U0VtbGhaWjlHaXVnZ0QKQi96WUQzSXRCNlNHcGRrUmU3a1FxVENoUXlySVhxYlJrSnF4b1RYTHllSkRGMHNDeVRkcDNMOElaQ1VXb2RNOApvVjlUbFFCSkhZdEcxZ0xVd0lpOGtjTVZFb0NuMlE4bHRDajAvZnRud2hUdHdPNTJSa1dBMHVZT0xHVmF5SHNMClNDRmZ4K0FDV1BVL29XQ3dXNS9LQnFiM3ZlVHYwYUVnL25oMFFzRnpSTG9UeDZTUkZJNWRUMk5mOGlpSmU0V0MKVUc4V0tFQjJHOFFQbnhzeGZPUFlEQmRUSjRDWEVpMmUrejQxVlFJREFRQUJBb0lCQUFMaHFiVzJLUStHMG5QawpaYWN3RmJpMDFTa0h4OFlCV2pmQ0VwWGhFS1J5MHl0Q25LVzVZTytDRlUyZ0hOV2N2YTcrdWhWOU9nd2FLWGt3CktITGVVSkgxVkFEVnFJNEh0cXcyZzVtWW02QlB2V25Oc2p6cHVBcCtCUitWb0VHa05oajY3cjloYXRNQVFyMEkKaXRUdlNINXJ2ZDJFdW1ZWElIS2Z6MUsxU2VnVWsxdTFFTDFSY016Um1aZTRnRGI2ZU5CczlTZzRpbTR5YlRHNgpwUEl5dEE4dkJRVldoanVBUjJUbSt3WkhpeTBBejZWdTdjMm1TMDdGU1g2Rk80RThTeFdmOGlkYUs5aWpNR1NxCkZ2SVMwNG1yWTZYQ1BVUFVDNHFtMXFObmhEUHBPcjdDcEkyT085OFNxR2FuU3RTNU5GbFNGWGVYUHBNMjgwL3UKZlpVQTBBRUNnWUVBK3g3UVVuZmZEcnQ3TEsyY1g2d2J2bjRtUm5GeGV0N2JKanJmV0lIZitSbTBVUmlrYU5tYQpoMC93TktwS0J3SUgrZUhLL0xzbGd6Y3BscnFQeXRHR0hMT0c5N0d5bzV0R0F6eUxIVVdCbXNOa1Jrc1kyc1BMCnVIcTZwWVdKTmtxaG5XR25JYm1xQ3IwRVdpaDgyeC95NHF4YkpZcFlxWE1yaXQwd1ZmN3lBZ2tDZ1lFQTF0d0kKZ0ZhWHFlc2V0VFBvRUhTUVNnQzhTNEQ1L05rZHJpVVhDWWIwNlJFY3ZvOUlwRk11aU9rVlVZTk41ZDNNRE5UUApJZEJpY2ZtdmZORUx2QnRYRG9tRVVEOGxzMVV1b1RJWFJOR1owVnNaWHU3T0VyWENLMEpLTk55cVJtT3djdllMCkpScUxmbmxlaTVOZG8xbHUyODZ5TDc0YzVyZFRMcy9uSTJwNGUrMENnWUIwNzlabWNMZUlMcm1mQm9GSTgrWS8KZ0pMbVByRnZYQk9FNitsUlY3a3FVRlB0WjZJM3lRenljY0VUWlREdnJueDBXamFpRmF2VVBIMjdXTWpZMDFTMgpUTXRPMElxMU1Qc2JTcmdsTzFhczhNdmpCOWxkRmN2cDdneTRRMFN2NlhUMHlxSi9TK3ZvOERmMG0rSDRVQnBVCmY1bzZFd0JTZC9VUXh3dFpJRTBsc1FLQmdRQ3N3ZmpYOEVnOEtML2xKTnBJT09FM2o0WFhFOXB0a3NtSmwyc0IKanhEblFZb2lNcVZPODA4c2FIVnF1Qy92VHJwZDZ0S3ROcGVoV3dqZVRGdXFJVFdMaThqbW1RK2dOVEtzQzlHbgoxUHhmMkdiNjdQcW5FcHdRR2xuK1RSdGdRNUhCcmRIaVFJaSs1YW0rZ253ODlwRHJqak81clp3aGFuQW82S1BKCjF6Y1BOUUtCZ1FEeEZ1OHY0ZnJEbVJOQ1ZhWlM0ZjFCNndUcmNNcm5pYklEbG56cks5R0c2SHoxVTdkRHY4czgKTmY0VW1lTXpEWGpsUFdaVk92UzUrOUhLSlBkUGo3L29udjhCMm0xOCtsY2dUVERKQmt6YTdSMW1qTDFDamUvWgpLY1ZHc3J5S042Y2pFN3lDRGFzbkE3UjJyVkJWLzdOV2VKVjc3Ym16VDVPLy9yVzR5SWZVSWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 50988E14-D8A3-4491-9044-CF88F38EB931 | |
D, [2017-03-30T10:03:19.335428 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 50988E14-D8A3-4491-9044-CF88F38EB931 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.336430 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.364464 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.371459 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 50988E14-D8A3-4491-9044-CF88F38EB931 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.432931 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: C76B978E-5183-4972-8674-57D966B0A694 | |
D, [2017-03-30T10:03:19.434932 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: C76B978E-5183-4972-8674-57D966B0A694 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.434932 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.467932 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.475900 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: C76B978E-5183-4972-8674-57D966B0A694 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.503430 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq/validation.pem to $env:TEMP\kitchen/validation.pem (2.236 KB over 1 chunks) in (0m0.30s) | |
D, [2017-03-30T10:03:19.504446 #32948] DEBUG -- default-win2012r2tk: Running extract_files.ps1 | |
D, [2017-03-30T10:03:19.540459 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for trap { | |
$e = $_.Exception | |
$e.InvocationInfo.ScriptName | |
do { | |
$e.Message | |
$e = $e.InnerException | |
} while ($e) | |
break | |
} | |
function folder($path){ | |
$path | ? {-not (test-path $_)} | % {$null = mkdir $_} | |
} | |
Function Decode-Files($hash) { | |
foreach ($key in $hash.keys) { | |
$value = $hash[$key] | |
$tzip, $dst = $Value["tmpzip"], $Value["dst"] | |
if ($tzip) {Unzip-File $tzip $dst} | |
New-Object psobject -Property @{dst=$dst;src_md5=$key;tmpzip=$tzip} | |
} | |
} | |
Function Unzip-File($src, $dst) { | |
$unpack = $src -replace '\.zip' | |
$dst_parent = Split-Path -Path $dst -Parent | |
if(!(Test-Path $dst_parent)) { $dst = $dst_parent } | |
folder $unpack, $dst | |
try { | |
try{ | |
[IO.Compression.ZipFile]::ExtractToDirectory($src, $unpack) | |
} | |
catch { | |
Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction Stop | |
[IO.Compression.ZipFile]::ExtractToDirectory($src, $unpack) | |
} | |
} | |
catch { | |
Try { | |
$s = New-Object -ComObject Shell.Application | |
($s.NameSpace($unpack)).CopyHere(($s.NameSpace($src)).Items(), 0x610) | |
} | |
Finally { | |
[void][Runtime.Interopservices.Marshal]::ReleaseComObject($s) | |
} | |
} | |
dir $unpack | cp -dest "$dst/" -force -recurse | |
rm $unpack -recurse -force | |
} | |
$hash_file = @{ | |
"76cdb2bad9582d23c1f6f4d868218d6c" = @{ | |
"dst" = "$env:TEMP\kitchen\cache"; | |
"tmpzip" = "$env:TEMP\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip" | |
}; | |
"02ed198e5b364f4a41fe536ba731dd15" = @{ | |
"dst" = "$env:TEMP\kitchen\cookbooks"; | |
"tmpzip" = "$env:TEMP\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip" | |
}; | |
"2ae06e61412d1364193d68249958acc2" = @{ | |
"dst" = "$env:TEMP\kitchen\nodes"; | |
"tmpzip" = "$env:TEMP\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip" | |
} | |
} | |
Decode-Files $hash_file | ConvertTo-Csv -NoTypeInformation | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: D4EE8AD3-E978-4A5E-B6B0-A5678D090755 | |
D, [2017-03-30T10:03:19.548466 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: D4EE8AD3-E978-4A5E-B6B0-A5678D090755 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:19.548466 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:19.957202 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:19.993687 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: D4EE8AD3-E978-4A5E-B6B0-A5678D090755 on shell_id ABBA5DE2-0036-429A-8483-8C2C840EB252 | |
D, [2017-03-30T10:03:20.019765 #32948] DEBUG -- default-win2012r2tk: Parsing CSV Response | |
D, [2017-03-30T10:03:20.021244 #32948] DEBUG -- default-win2012r2tk: "src_md5","tmpzip","dst" | |
"76cdb2bad9582d23c1f6f4d868218d6c","C:\Users\ADMINI~1\AppData\Local\Temp\winrm-upload\tmpzip-76cdb2bad9582d23c1f6f4d868218d6c.zip","C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache" | |
"02ed198e5b364f4a41fe536ba731dd15","C:\Users\ADMINI~1\AppData\Local\Temp\winrm-upload\tmpzip-02ed198e5b364f4a41fe536ba731dd15.zip","C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cookbooks" | |
"2ae06e61412d1364193d68249958acc2","C:\Users\ADMINI~1\AppData\Local\Temp\winrm-upload\tmpzip-2ae06e61412d1364193d68249958acc2.zip","C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\nodes" | |
D, [2017-03-30T10:03:20.022766 #32948] DEBUG -- default-win2012r2tk: Cleaned up src_zip C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1oz07o9.zip | |
D, [2017-03-30T10:03:20.024236 #32948] DEBUG -- default-win2012r2tk: Cleaned up src_zip C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-1epes8e.zip | |
D, [2017-03-30T10:03:20.024768 #32948] DEBUG -- default-win2012r2tk: Cleaned up src_zip C:/Users/username/AppData/Local/Temp/tmpzip-20170330-32948-lgat8p.zip | |
D, [2017-03-30T10:03:20.025266 #32948] DEBUG -- default-win2012r2tk: Uploaded 6 items dirty_check: (0m0.40s) stream_files: (0m2.03s) extract: (0m0.52s) | |
D, [2017-03-30T10:03:20.025266 #32948] DEBUG -- default-win2012r2tk: Transfer complete | |
D, [2017-03-30T10:03:20.026236 #32948] DEBUG -- default-win2012r2tk: Attempting to execute command - try 1 of 1. | |
D, [2017-03-30T10:03:20.026236 #32948] DEBUG -- default-win2012r2tk: [WinRM] <{:endpoint=>"http://192.168.1.250:5985/wsman", :user=>"Administrator", :password=>"password", :transport=>:negotiate, :elevated_username=>"Administrator", :elevated_password=>"password", :no_ssl_peer_verification=>true, :disable_sspi=>false, :basic_auth_only=>false}> ($env:TEST_KITCHEN = "1" | |
$env:PATH = try { | |
[System.Environment]::GetEnvironmentVariable('PATH','Machine') | |
} catch { $env:PATH } | |
& $env:systemdrive\opscode\chef\bin\chef-client.bat --local-mode --config $env:TEMP\kitchen\client.rb --log_level auto --force-formatter --no-color --json-attributes $env:TEMP\kitchen\dna.json --chef-zero-port 8889 ; exit $LastExitCode) | |
D, [2017-03-30T10:03:20.035760 #32948] DEBUG -- default-win2012r2tk: creating hash for file c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1 | |
D, [2017-03-30T10:03:20.036767 #32948] DEBUG -- default-win2012r2tk: Running check_files.ps1 | |
D, [2017-03-30T10:03:20.068399 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $hash_file = @{ | |
"ef38ff2ec28c936eac80b878ab63a915" = @{ | |
"target" = "c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1"; | |
"src_basename" = "winrm-elevated-shell20170330-32948-tzx2ytps1"; | |
"dst" = "c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1" | |
} | |
} | |
Function Cleanup($disposable) { | |
if (($disposable -ne $null) -and ($disposable.GetType().GetMethod("Dispose") -ne $null)) { | |
$disposable.Dispose() | |
} | |
} | |
Function Check-Files($h) { | |
return $h.GetEnumerator() | ForEach-Object { | |
$dst = Unresolve-Path $_.Value.target | |
$dst_changed = $false | |
if(Test-Path $dst -PathType Container) { | |
$dst_changed = $true | |
$dst = Join-Path $dst $_.Value.src_basename | |
} | |
New-Object psobject -Property @{ | |
chk_exists = ($exists = Test-Path $dst -PathType Leaf) | |
src_md5 = ($sMd5 = $_.Key) | |
dst_md5 = ($dMd5 = if ($exists) { Get-MD5Sum $dst } else { $null }) | |
chk_dirty = ($dirty = if ($sMd5 -ne $dMd5) { $true } else { $false }) | |
verifies = if ($dirty -eq $false) { $true } else { $false } | |
target_is_folder = $dst_changed | |
} | |
} | Select-Object -Property chk_exists,src_md5,dst_md5,chk_dirty,verifies,target_is_folder | |
} | |
Function Get-MD5Sum($src) { | |
Try { | |
$c = [System.Security.Cryptography.MD5]::Create() | |
$bytes = $c.ComputeHash(($in = (Get-Item $src).OpenRead())) | |
return ([System.BitConverter]::ToString($bytes)).Replace("-", "").ToLower() | |
} | |
Finally { | |
Cleanup $c | |
Cleanup $in | |
} | |
} | |
Function Unresolve-Path($path) { | |
if ($path -eq $null) { | |
return $null | |
} | |
else { | |
return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) | |
} | |
} | |
Check-Files $hash_file | ConvertTo-Csv -NoTypeInformation | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: FA69FE06-CB27-4D08-BC8E-1C5B7632C375 | |
D, [2017-03-30T10:03:20.073369 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: FA69FE06-CB27-4D08-BC8E-1C5B7632C375 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.074369 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:20.100222 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:20.121252 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: FA69FE06-CB27-4D08-BC8E-1C5B7632C375 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.149325 #32948] DEBUG -- default-win2012r2tk: Parsing CSV Response | |
D, [2017-03-30T10:03:20.149789 #32948] DEBUG -- default-win2012r2tk: "chk_exists","src_md5","dst_md5","chk_dirty","verifies","target_is_folder" | |
"False","ef38ff2ec28c936eac80b878ab63a915",,"True","False","False" | |
D, [2017-03-30T10:03:20.150290 #32948] DEBUG -- default-win2012r2tk: Uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-tzx2ytps1 to c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1 | |
D, [2017-03-30T10:03:20.187870 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $to = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1") | |
$parent = Split-Path $to | |
if(!(Test-path $parent)) { mkdir $parent | Out-Null } | |
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList @( | |
$to, | |
[system.io.filemode]::Create, | |
[System.io.FileAccess]::Write, | |
[System.IO.FileShare]::ReadWrite | |
) | |
# Powershell caches ScrpitBlocks in a dictionary | |
# keyed on the script block text. Thats just great | |
# unless the script is super large and called a gillion | |
# times like we might do. In such a case it will saturate the | |
# Large Object Heap and lead to Out Of Memory exceptions | |
# for large files or folders. So we call the internal method | |
# ClearScriptBlockCache to clear it. | |
$bindingFlags= [Reflection.BindingFlags] "NonPublic,Static" | |
$method = [scriptblock].GetMethod("ClearScriptBlockCache", $bindingFlags) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 90F9008C-6C2A-4DAD-8A1B-76553AEB79A0 | |
D, [2017-03-30T10:03:20.190920 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 90F9008C-6C2A-4DAD-8A1B-76553AEB79A0 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.190920 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:20.218409 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:20.226382 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 90F9008C-6C2A-4DAD-8A1B-76553AEB79A0 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.284986 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for if($method) { $method.Invoke($Null, $Null) } | |
$bytes=[Convert]::FromBase64String('JGVudjp0ZW1wPSdDOlxVc2Vyc1xBRE1JTkl+MVxBcHBEYXRhXExvY2FsXFRlbXAnOyRlbnY6VEVTVF9LSVRDSEVOID0gIjEiDQokZW52OlBBVEggPSB0cnkgew0KW1N5c3RlbS5FbnZpcm9ubWVudF06OkdldEVudmlyb25tZW50VmFyaWFibGUoJ1BBVEgnLCdNYWNoaW5lJykNCn0gY2F0Y2ggeyAkZW52OlBBVEggfQ0KDQomICRlbnY6c3lzdGVtZHJpdmVcb3BzY29kZVxjaGVmXGJpblxjaGVmLWNsaWVudC5iYXQgLS1sb2NhbC1tb2RlIC0tY29uZmlnICRlbnY6VEVNUFxraXRjaGVuXGNsaWVudC5yYiAtLWxvZ19sZXZlbCBhdXRvIC0tZm9yY2UtZm9ybWF0dGVyIC0tbm8tY29sb3IgLS1qc29uLWF0dHJpYnV0ZXMgJGVudjpURU1QXGtpdGNoZW5cZG5hLmpzb24gLS1jaGVmLXplcm8tcG9ydCA4ODg5IDsgZXhpdCAkTGFzdEV4aXRDb2RlDQ0KJEhvc3QuU2V0U2hvdWxkRXhpdCgkTEFTVEVYSVRDT0RFKQ==') | |
$fileStream.Write($bytes, 0, $bytes.length) | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 1483A5FE-BECA-4104-A246-8196D2E459BC | |
D, [2017-03-30T10:03:20.287448 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 1483A5FE-BECA-4104-A246-8196D2E459BC on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.287448 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:20.315529 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:20.322522 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 1483A5FE-BECA-4104-A246-8196D2E459BC on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.384566 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $fileStream.Dispose() | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: ED4EACF1-5DC9-4BCC-8EE7-C7ECD5DE8967 | |
D, [2017-03-30T10:03:20.387785 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: ED4EACF1-5DC9-4BCC-8EE7-C7ECD5DE8967 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.388780 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:20.416276 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
D, [2017-03-30T10:03:20.425277 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: ED4EACF1-5DC9-4BCC-8EE7-C7ECD5DE8967 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.455317 #32948] DEBUG -- default-win2012r2tk: Finished uploading C:/Users/username/AppData/Local/Temp/winrm-elevated-shell20170330-32948-tzx2ytps1 to c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1 (0.604 KB over 1 chunks) in (0m0.31s) | |
D, [2017-03-30T10:03:20.457276 #32948] DEBUG -- default-win2012r2tk: No remote files to extract, skipping | |
D, [2017-03-30T10:03:20.458280 #32948] DEBUG -- default-win2012r2tk: Uploaded 1 items dirty_check: (0m0.11s) stream_files: (0m0.31s) extract: (0m0.00s) | |
D, [2017-03-30T10:03:20.494024 #32948] DEBUG -- default-win2012r2tk: [WinRM] Command created for $username = 'Administrator' | |
$password = 'password' | |
$script_file = 'c:/windows/temp/winrm-elevated-shell-a9ac839b-4c49-45cd-83a4-53f8857f2cb3.ps1' | |
$interactive = 'false' | |
$pass_to_use = $password | |
$logon_type = 1 | |
$logon_type_xml = "<LogonType>Password</LogonType>" | |
if($pass_to_use.length -eq 0) { | |
$pass_to_use = $null | |
$logon_type = 5 | |
$logon_type_xml = "" | |
} | |
if($interactive -eq 'true') { | |
$logon_type = 3 | |
$logon_type_xml = "<LogonType>InteractiveTokenOrPassword</LogonType>" | |
} | |
$task_name = "WinRM_Elevated_Shell" | |
$out_file = [System.IO.Path]::GetTempFileName() | |
$err_file = [System.IO.Path]::GetTempFileName() | |
$task_xml = @' | |
<?xml version="1.0" encoding="UTF-16"?> | |
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> | |
<Principals> | |
<Principal id="Author"> | |
<UserId>{username}</UserId> | |
{logon_type} | |
<RunLevel>HighestAvailable</RunLevel> | |
</Principal> | |
</Principals> | |
<Settings> | |
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> | |
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> | |
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> | |
<AllowHardTerminate>true</AllowHardTerminate> | |
<StartWhenAvailable>false</StartWhenAvailable> | |
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> | |
<IdleSettings> | |
<StopOnIdleEnd>false</StopOnIdleEnd> | |
<RestartOnIdle>false</RestartOnIdle> | |
</IdleSettings> | |
<AllowStartOnDemand>true</AllowStartOnDemand> | |
<Enabled>true</Enabled> | |
<Hidden>false</Hidden> | |
<RunOnlyIfIdle>false</RunOnlyIfIdle> | |
<WakeToRun>false</WakeToRun> | |
<ExecutionTimeLimit>PT24H</ExecutionTimeLimit> | |
<Priority>4</Priority> | |
</Settings> | |
<Actions Context="Author"> | |
<Exec> | |
<Command>cmd</Command> | |
<Arguments>{arguments}</Arguments> | |
</Exec> | |
</Actions> | |
</Task> | |
'@ | |
$arguments = "/c powershell.exe -executionpolicy bypass -NoProfile -File $script_file > $out_file 2>$err_file" | |
$task_xml = $task_xml.Replace("{arguments}", $arguments) | |
$task_xml = $task_xml.Replace("{username}", $username) | |
$task_xml = $task_xml.Replace("{logon_type}", $logon_type_xml) | |
$schedule = New-Object -ComObject "Schedule.Service" | |
$schedule.Connect() | |
$task = $schedule.NewTask($null) | |
$task.XmlText = $task_xml | |
$folder = $schedule.GetFolder("\") | |
$folder.RegisterTaskDefinition($task_name, $task, 6, $username, $pass_to_use, $logon_type, $null) | Out-Null | |
$registered_task = $folder.GetTask("\$task_name") | |
$registered_task.Run($null) | Out-Null | |
$timeout = 10 | |
$sec = 0 | |
while ( (!($registered_task.state -eq 4)) -and ($sec -lt $timeout) ) { | |
Start-Sleep -s 1 | |
$sec++ | |
} | |
function SlurpOutput($file, $cur_line, $out_type) { | |
if (Test-Path $file) { | |
get-content $file | select -skip $cur_line | ForEach { | |
$cur_line += 1 | |
if ($out_type -eq 'err') { | |
$host.ui.WriteErrorLine("$_") | |
} else { | |
$host.ui.WriteLine("$_") | |
} | |
} | |
} | |
return $cur_line | |
} | |
$err_cur_line = 0 | |
$out_cur_line = 0 | |
do { | |
Start-Sleep -m 100 | |
$out_cur_line = SlurpOutput $out_file $out_cur_line 'out' | |
$err_cur_line = SlurpOutput $err_file $err_cur_line 'err' | |
} while (!($registered_task.state -eq 3)) | |
# We'll make a best effort to clean these files | |
# But a reboot could possibly end the task while the process | |
# still runs and locks the file. If we can't delete we don't want to fail | |
try { Remove-Item $out_file -ErrorAction Stop } catch {} | |
try { Remove-Item $err_file -ErrorAction Stop } catch {} | |
try { Remove-Item $script_file -ErrorAction Stop } catch {} | |
$exit_code = $registered_task.LastTaskResult | |
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($schedule) | Out-Null | |
exit $exit_code | |
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: 32541522-181F-4A03-BC44-69BC51502450 | |
D, [2017-03-30T10:03:20.501552 #32948] DEBUG -- default-win2012r2tk: [WinRM] creating command_id: 32541522-181F-4A03-BC44-69BC51502450 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:20.502050 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:24.742638 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:03:24.751643 #32948] INFO -- default-win2012r2tk: Starting Chef Client, version 12.19.36 | |
I, [2017-03-30T10:03:24.761614 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:24-05:00] INFO: *** Chef 12.19.36 *** | |
I, [2017-03-30T10:03:24.770654 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:24-05:00] INFO: Platform: x64-mingw32 | |
I, [2017-03-30T10:03:24.778613 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:24-05:00] INFO: Chef-client pid: 2196 | |
D, [2017-03-30T10:03:24.780614 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:55.335562 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:03:55.351562 #32948] INFO -- default-win2012r2tk: Creating a new client identity for default-win2012r2tk using the validator key. | |
I, [2017-03-30T10:03:55.358541 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Client key C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\client.pem is not present - registering | |
I, [2017-03-30T10:03:55.368570 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/nodes/default-win2012r2tk | |
I, [2017-03-30T10:03:55.378535 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Setting the run_list to ["recipe[wincb::cdrom]"] from CLI options | |
I, [2017-03-30T10:03:55.390532 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Run List is [recipe[wincb::cdrom]] | |
I, [2017-03-30T10:03:55.398652 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Run List expands to [wincb::cdrom] | |
I, [2017-03-30T10:03:55.407675 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Starting Chef Run for default-win2012r2tk | |
I, [2017-03-30T10:03:55.416676 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Running start handlers | |
I, [2017-03-30T10:03:55.423674 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Start handlers complete. | |
I, [2017-03-30T10:03:55.434680 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: HTTP Request Returned 404 Not Found: Object not found: | |
I, [2017-03-30T10:03:55.443675 #32948] INFO -- default-win2012r2tk: resolving cookbooks for run list: ["wincb::cdrom"] | |
I, [2017-03-30T10:03:55.452670 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Loading cookbooks [wincb@0.1.0, windows@3.0.4, powershell@6.0.0, ohai@5.0.2, ms_dotnet@3.1.1, chef_handler@2.1.0] | |
I, [2017-03-30T10:03:55.460648 #32948] INFO -- default-win2012r2tk: Synchronizing Cookbooks: | |
I, [2017-03-30T10:03:55.468648 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/cdrom.rb in the cache. | |
I, [2017-03-30T10:03:55.477687 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/base.rb in the cache. | |
I, [2017-03-30T10:03:55.488688 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:55.500696 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/certificate.rb in the cache. | |
I, [2017-03-30T10:03:55.513695 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/disk.rb in the cache. | |
I, [2017-03-30T10:03:55.520724 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/domain.rb in the cache. | |
I, [2017-03-30T10:03:55.527732 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/eventlog.rb in the cache. | |
I, [2017-03-30T10:03:55.536696 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/powershell.rb in the cache. | |
I, [2017-03-30T10:03:55.543727 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/remotedesktop.rb in the cache. | |
I, [2017-03-30T10:03:55.551728 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/network.rb in the cache. | |
I, [2017-03-30T10:03:55.558724 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/timezone.rb in the cache. | |
I, [2017-03-30T10:03:55.568728 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/updates.rb in the cache. | |
I, [2017-03-30T10:03:55.577723 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/recipes/users.rb in the cache. | |
I, [2017-03-30T10:03:55.586744 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/attributes/default.rb in the cache. | |
I, [2017-03-30T10:03:55.595711 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/metadata.json in the cache. | |
I, [2017-03-30T10:03:55.605397 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/wincb/README.md in the cache. | |
I, [2017-03-30T10:03:55.612439 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/auto_run.rb in the cache. | |
I, [2017-03-30T10:03:55.622424 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/certificate.rb in the cache. | |
I, [2017-03-30T10:03:55.632429 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/feature.rb in the cache. | |
I, [2017-03-30T10:03:55.639415 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/certificate_binding.rb in the cache. | |
I, [2017-03-30T10:03:55.648397 #32948] INFO -- default-win2012r2tk: - wincb (0.1.0)[2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/feature_dism.rb in the cache. | |
I, [2017-03-30T10:03:55.655424 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/feature_servermanagercmd.rb in the cache. | |
I, [2017-03-30T10:03:55.664406 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/font.rb in the cache. | |
I, [2017-03-30T10:03:55.671425 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/http_acl.rb in the cache. | |
I, [2017-03-30T10:03:55.678398 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/feature_powershell.rb in the cache. | |
I, [2017-03-30T10:03:55.686908 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/pagefile.rb in the cache. | |
I, [2017-03-30T10:03:55.696417 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:55.704937 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/path.rb in the cache. | |
I, [2017-03-30T10:03:55.713942 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/printer.rb in the cache. | |
I, [2017-03-30T10:03:55.722912 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/printer_port.rb in the cache. | |
I, [2017-03-30T10:03:55.730944 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/shortcut.rb in the cache. | |
I, [2017-03-30T10:03:55.738915 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/share.rb in the cache. | |
I, [2017-03-30T10:03:55.748921 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/zipfile.rb in the cache. | |
I, [2017-03-30T10:03:55.756942 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:55.764952 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/resources/task.rb in the cache. | |
I, [2017-03-30T10:03:55.771942 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/powershell_helper.rb in the cache. | |
I, [2017-03-30T10:03:55.782436 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/matchers.rb in the cache. | |
I, [2017-03-30T10:03:55.789964 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/version_helper.rb in the cache. | |
I, [2017-03-30T10:03:55.797970 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/registry_helper.rb in the cache. | |
I, [2017-03-30T10:03:55.804971 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/version.rb in the cache. | |
I, [2017-03-30T10:03:55.811943 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/windows_helper.rb in the cache. | |
I, [2017-03-30T10:03:55.822970 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:53-05:00] INFO: Storing updated cookbooks/windows/libraries/windows_privileged.rb in the cache. | |
I, [2017-03-30T10:03:55.830945 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/windows/libraries/wmi_helper.rb in the cache. | |
I, [2017-03-30T10:03:55.838973 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/windows/attributes/default.rb in the cache. | |
I, [2017-03-30T10:03:55.846946 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/windows/files/dism_features.rb in the cache. | |
I, [2017-03-30T10:03:55.855970 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/windows/metadata.json in the cache. | |
I, [2017-03-30T10:03:55.863945 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:55.871970 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/disable_lcm.rb in the cache. | |
I, [2017-03-30T10:03:55.879946 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/windows/README.md in the cache. | |
I, [2017-03-30T10:03:55.888976 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/dsc.rb in the cache. | |
I, [2017-03-30T10:03:55.896952 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/enable_dsc_script.rb in the cache. | |
I, [2017-03-30T10:03:55.906008 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/enable_lcm.rb in the cache. | |
I, [2017-03-30T10:03:55.916973 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/powershell2.rb in the cache. | |
I, [2017-03-30T10:03:55.924002 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/powershell3.rb in the cache. | |
I, [2017-03-30T10:03:55.933019 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/powershell4.rb in the cache. | |
I, [2017-03-30T10:03:55.941003 #32948] INFO -- default-win2012r2tk: - windows (3.0.4)[2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/powershell5.rb in the cache. | |
I, [2017-03-30T10:03:55.949995 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/powershell_module.rb in the cache. | |
I, [2017-03-30T10:03:55.958006 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:55.966011 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/windows_reboot.rb in the cache. | |
I, [2017-03-30T10:03:55.974010 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/recipes/winrm.rb in the cache. | |
I, [2017-03-30T10:03:55.981990 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/libraries/powershell_module_resource.rb in the cache. | |
I, [2017-03-30T10:03:55.990020 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/libraries/powershell_module_provider.rb in the cache. | |
I, [2017-03-30T10:03:55.998546 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/libraries/powershell_version.rb in the cache. | |
I, [2017-03-30T10:03:56.007573 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/attributes/config_lcm.rb in the cache. | |
I, [2017-03-30T10:03:56.015546 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/attributes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.025546 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/attributes/powershell3.rb in the cache. | |
I, [2017-03-30T10:03:56.037588 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/attributes/powershell4.rb in the cache. | |
I, [2017-03-30T10:03:56.051550 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/attributes/powershell5.rb in the cache. | |
I, [2017-03-30T10:03:56.098323 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/metadata.json in the cache. | |
I, [2017-03-30T10:03:56.122542 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/powershell/README.md in the cache. | |
I, [2017-03-30T10:03:56.132611 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/resources/hint.rb in the cache. | |
I, [2017-03-30T10:03:56.141632 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/resources/plugin.rb in the cache. | |
I, [2017-03-30T10:03:56.151619 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.161599 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/libraries/matchers.rb in the cache. | |
I, [2017-03-30T10:03:56.173574 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/metadata.json in the cache. | |
I, [2017-03-30T10:03:56.185157 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ohai/README.md in the cache. | |
I, [2017-03-30T10:03:56.193157 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/resources/framework.rb in the cache. | |
I, [2017-03-30T10:03:56.201237 #32948] INFO -- default-win2012r2tk: - powershell (6.0.0)[2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/providers/framework.rb in the cache. | |
I, [2017-03-30T10:03:56.211260 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.220259 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:56.226264 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/recipes/ms_dotnet2.rb in the cache. | |
I, [2017-03-30T10:03:56.234264 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/recipes/ms_dotnet3.rb in the cache. | |
I, [2017-03-30T10:03:56.241264 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/recipes/ms_dotnet4.rb in the cache. | |
I, [2017-03-30T10:03:56.251268 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/recipes/regiis.rb in the cache. | |
I, [2017-03-30T10:03:56.258266 #32948] INFO -- default-win2012r2tk: - ohai (5.0.2)[2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/matchers.rb in the cache. | |
I, [2017-03-30T10:03:56.266242 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/default.rb in the cache. | |
I, [2017-03-30T10:03:56.273264 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:56.282802 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/v2_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.289802 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/v3_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.297276 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/v4_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.306487 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/package_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.318488 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/version_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.326459 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/libraries/windows_version_helper.rb in the cache. | |
I, [2017-03-30T10:03:56.335487 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/attributes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.341488 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/resources/default.rb in the cache. | |
I, [2017-03-30T10:03:56.350487 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/metadata.json in the cache. | |
I, [2017-03-30T10:03:56.357487 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/ms_dotnet/README.md in the cache. | |
I, [2017-03-30T10:03:56.366460 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/providers/default.rb in the cache. | |
I, [2017-03-30T10:03:56.373487 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/recipes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.383032 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/recipes/json_file.rb in the cache. | |
I, [2017-03-30T10:03:56.393502 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/libraries/helpers.rb in the cache. | |
I, [2017-03-30T10:03:56.404009 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/libraries/matchers.rb in the cache. | |
I, [2017-03-30T10:03:56.415011 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/attributes/default.rb in the cache. | |
I, [2017-03-30T10:03:56.423010 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/files/default/handlers/README in the cache. | |
I, [2017-03-30T10:03:56.434039 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/metadata.json in the cache. | |
I, [2017-03-30T10:03:56.444018 #32948] INFO -- default-win2012r2tk: - ms_dotnet (3.1.1) | |
I, [2017-03-30T10:03:56.453039 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Storing updated cookbooks/chef_handler/README.md in the cache. | |
I, [2017-03-30T10:03:56.466011 #32948] INFO -- default-win2012r2tk: - chef_handler (2.1.0) | |
I, [2017-03-30T10:03:56.478009 #32948] INFO -- default-win2012r2tk: Installing Cookbook Gems: | |
I, [2017-03-30T10:03:56.492035 #32948] INFO -- default-win2012r2tk: Compiling Cookbooks... | |
I, [2017-03-30T10:03:56.506040 #32948] INFO -- default-win2012r2tk: Converging 1 resources | |
I, [2017-03-30T10:03:56.516057 #32948] INFO -- default-win2012r2tk: Recipe: wincb::cdrom | |
I, [2017-03-30T10:03:56.525041 #32948] INFO -- default-win2012r2tk: * windows_zipfile[C:\Program Files\WindowsPowerShell\Modules] action unzip[2017-03-30T10:03:54-05:00] INFO: Processing windows_zipfile[C:\Program Files\WindowsPowerShell\Modules] action unzip (wincb::cdrom line 7) | |
I, [2017-03-30T10:03:56.536040 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:54-05:00] INFO: Missing gem 'rubyzip'...installing now. | |
I, [2017-03-30T10:03:56.543068 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:56.552052 #32948] INFO -- default-win2012r2tk: * chef_gem[rubyzip] action install[2017-03-30T10:03:54-05:00] INFO: Processing chef_gem[rubyzip] action install (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 118) | |
D, [2017-03-30T10:03:56.569039 #32948] DEBUG -- default-win2012r2tk: [WinRM] Waiting for output... | |
D, [2017-03-30T10:03:58.619580 #32948] DEBUG -- default-win2012r2tk: [WinRM] Processing output | |
I, [2017-03-30T10:03:58.642549 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:57-05:00] INFO: chef_gem[rubyzip] installed rubyzip at 1.2.1 | |
I, [2017-03-30T10:03:58.650585 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.659582 #32948] INFO -- default-win2012r2tk: - install version 1.2.1 of package rubyzip | |
I, [2017-03-30T10:03:58.669553 #32948] INFO -- default-win2012r2tk: - unzip http://automon.maritz.com/modules/cCDROMdriveletter.zip | |
I, [2017-03-30T10:03:58.678299 #32948] INFO -- default-win2012r2tk: * chef_gem[rubyzip] action install[2017-03-30T10:03:57-05:00] INFO: Processing chef_gem[rubyzip] action install (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 118) | |
I, [2017-03-30T10:03:58.687837 #32948] INFO -- default-win2012r2tk: (up to date) | |
I, [2017-03-30T10:03:58.697308 #32948] INFO -- default-win2012r2tk: * remote_file[C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip] action create[2017-03-30T10:03:57-05:00] INFO: Processing remote_file[C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip] action create (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 40) | |
I, [2017-03-30T10:03:58.707537 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] INFO: remote_file[C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip] created file C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip | |
I, [2017-03-30T10:03:58.717537 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.726565 #32948] INFO -- default-win2012r2tk: - create new file C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip[2017-03-30T10:03:58-05:00] INFO: remote_file[C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip] updated file contents C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip | |
I, [2017-03-30T10:03:58.736564 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.744564 #32948] INFO -- default-win2012r2tk: - update content in file C:\Users\ADMINI~1\AppData\Local\Temp\kitchen\cache/cCDROMdriveletter.zip from none to 1c767b | |
I, [2017-03-30T10:03:58.754257 #32948] INFO -- default-win2012r2tk: (new content is binary, diff output suppressed) | |
I, [2017-03-30T10:03:58.762258 #32948] INFO -- default-win2012r2tk: * ruby_block[Unzipping] action run[2017-03-30T10:03:58-05:00] INFO: Processing ruby_block[Unzipping] action run (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 54) | |
I, [2017-03-30T10:03:58.772257 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.781257 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.793552 #32948] INFO -- default-win2012r2tk: ================================================================================ | |
I, [2017-03-30T10:03:58.803850 #32948] INFO -- default-win2012r2tk: Error executing action `run` on resource 'ruby_block[Unzipping]' | |
I, [2017-03-30T10:03:58.813849 #32948] INFO -- default-win2012r2tk: ================================================================================ | |
I, [2017-03-30T10:03:58.822849 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.831821 #32948] INFO -- default-win2012r2tk: Errno::EINVAL | |
I, [2017-03-30T10:03:58.840828 #32948] INFO -- default-win2012r2tk: ------------- | |
I, [2017-03-30T10:03:58.849825 #32948] INFO -- default-win2012r2tk: Invalid argument @ rb_sysopen - C:\Program Files\WindowsPowerShell\Modules/cCDROMdriveletter\1.1.0\DSCResources\ | |
I, [2017-03-30T10:03:58.860845 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.869850 #32948] INFO -- default-win2012r2tk: Resource Declaration: | |
I, [2017-03-30T10:03:58.877845 #32948] INFO -- default-win2012r2tk: --------------------- | |
I, [2017-03-30T10:03:58.887385 #32948] INFO -- default-win2012r2tk: # In C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb | |
I, [2017-03-30T10:03:58.895859 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:58.904972 #32948] INFO -- default-win2012r2tk: 54: ruby_block 'Unzipping' do | |
I, [2017-03-30T10:03:58.913972 #32948] INFO -- default-win2012r2tk: 55: block do | |
I, [2017-03-30T10:03:58.925005 #32948] INFO -- default-win2012r2tk: 56: Zip::File.open(cache_file_path) do |zip| | |
I, [2017-03-30T10:03:58.932973 #32948] INFO -- default-win2012r2tk: 57: zip.each do |entry| | |
I, [2017-03-30T10:03:58.940973 #32948] INFO -- default-win2012r2tk: 58: path = ::File.join(new_resource.path, entry.name) | |
I, [2017-03-30T10:03:58.946999 #32948] INFO -- default-win2012r2tk: 59: FileUtils.mkdir_p(::File.dirname(path)) | |
I, [2017-03-30T10:03:58.956969 #32948] INFO -- default-win2012r2tk: 60: if new_resource.overwrite && ::File.exist?(path) && !::File.directory?(path) | |
I, [2017-03-30T10:03:58.964003 #32948] INFO -- default-win2012r2tk: 61: FileUtils.rm(path) | |
I, [2017-03-30T10:03:58.971970 #32948] INFO -- default-win2012r2tk: 62: end | |
I, [2017-03-30T10:03:58.979998 #32948] INFO -- default-win2012r2tk: 63: zip.extract(entry, path) unless ::File.exist?(path) | |
I, [2017-03-30T10:03:58.989030 #32948] INFO -- default-win2012r2tk: 64: end | |
I, [2017-03-30T10:03:58.995505 #32948] INFO -- default-win2012r2tk: 65: end | |
I, [2017-03-30T10:03:59.004236 #32948] INFO -- default-win2012r2tk: 66: end | |
I, [2017-03-30T10:03:59.011235 #32948] INFO -- default-win2012r2tk: 67: action :run | |
I, [2017-03-30T10:03:59.019206 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.025234 #32948] INFO -- default-win2012r2tk: Compiled Resource: | |
I, [2017-03-30T10:03:59.034210 #32948] INFO -- default-win2012r2tk: ------------------ | |
I, [2017-03-30T10:03:59.041206 #32948] INFO -- default-win2012r2tk: # Declared in C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb:54:in `block (2 levels) in class_from_file' | |
I, [2017-03-30T10:03:59.047234 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.058234 #32948] INFO -- default-win2012r2tk: ruby_block("Unzipping") do | |
I, [2017-03-30T10:03:59.066209 #32948] INFO -- default-win2012r2tk: action [:run] | |
I, [2017-03-30T10:03:59.074205 #32948] INFO -- default-win2012r2tk: retries 0 | |
I, [2017-03-30T10:03:59.081234 #32948] INFO -- default-win2012r2tk: retry_delay 2 | |
I, [2017-03-30T10:03:59.089766 #32948] INFO -- default-win2012r2tk: default_guard_interpreter :default | |
I, [2017-03-30T10:03:59.096739 #32948] INFO -- default-win2012r2tk: block_name "Unzipping" | |
I, [2017-03-30T10:03:59.104374 #32948] INFO -- default-win2012r2tk: declared_type :ruby_block | |
I, [2017-03-30T10:03:59.111374 #32948] INFO -- default-win2012r2tk: cookbook_name "wincb" | |
I, [2017-03-30T10:03:59.120376 #32948] INFO -- default-win2012r2tk: block #<Proc:0x000000049ab4c0@C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb:55> | |
I, [2017-03-30T10:03:59.126374 #32948] INFO -- default-win2012r2tk: end | |
I, [2017-03-30T10:03:59.135346 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.141374 #32948] INFO -- default-win2012r2tk: Platform: | |
I, [2017-03-30T10:03:59.147373 #32948] INFO -- default-win2012r2tk: --------- | |
I, [2017-03-30T10:03:59.157375 #32948] INFO -- default-win2012r2tk: x64-mingw32 | |
I, [2017-03-30T10:03:59.163363 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.173347 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] INFO: Running queued delayed notifications before re-raising exception | |
I, [2017-03-30T10:03:59.181381 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.193897 #32948] INFO -- default-win2012r2tk: ================================================================================ | |
I, [2017-03-30T10:03:59.202433 #32948] INFO -- default-win2012r2tk: Error executing action `unzip` on resource 'windows_zipfile[C:\Program Files\WindowsPowerShell\Modules]' | |
I, [2017-03-30T10:03:59.213429 #32948] INFO -- default-win2012r2tk: ================================================================================ | |
I, [2017-03-30T10:03:59.223447 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.230446 #32948] INFO -- default-win2012r2tk: Errno::EINVAL | |
I, [2017-03-30T10:03:59.240454 #32948] INFO -- default-win2012r2tk: ------------- | |
I, [2017-03-30T10:03:59.248447 #32948] INFO -- default-win2012r2tk: ruby_block[Unzipping] (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 54) had an error: Errno::EINVAL: Invalid argument @ rb_sysopen - C:\Program Files\WindowsPowerShell\Modules/cCDROMdriveletter\1.1.0\DSCResources\ | |
I, [2017-03-30T10:03:59.258459 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.267438 #32948] INFO -- default-win2012r2tk: Resource Declaration: | |
I, [2017-03-30T10:03:59.276429 #32948] INFO -- default-win2012r2tk: --------------------- | |
I, [2017-03-30T10:03:59.286943 #32948] INFO -- default-win2012r2tk: # In C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/wincb/recipes/cdrom.rb | |
I, [2017-03-30T10:03:59.296944 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.309955 #32948] INFO -- default-win2012r2tk: 7: windows_zipfile 'C:\Program Files\WindowsPowerShell\Modules' do | |
I, [2017-03-30T10:03:59.321957 #32948] INFO -- default-win2012r2tk: 8: source node['wincb']['modules']['cCDROMdriveletter']['url'] | |
I, [2017-03-30T10:03:59.331951 #32948] INFO -- default-win2012r2tk: 9: checksum node['wincb']['modules']['cCDROMdriveletter']['checksum'] | |
I, [2017-03-30T10:03:59.345954 #32948] INFO -- default-win2012r2tk: 10: action :unzip | |
I, [2017-03-30T10:03:59.359790 #32948] INFO -- default-win2012r2tk: 11: not_if {::File.directory?("C:/Program Files/WindowsPowerShell/Modules/cCDROMdriveletter")} | |
I, [2017-03-30T10:03:59.373782 #32948] INFO -- default-win2012r2tk: 12: end | |
I, [2017-03-30T10:03:59.383781 #32948] INFO -- default-win2012r2tk: 13: | |
I, [2017-03-30T10:03:59.393294 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.406300 #32948] INFO -- default-win2012r2tk: Compiled Resource: | |
I, [2017-03-30T10:03:59.416422 #32948] INFO -- default-win2012r2tk: ------------------ | |
I, [2017-03-30T10:03:59.427952 #32948] INFO -- default-win2012r2tk: # Declared in C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/wincb/recipes/cdrom.rb:7:in `from_file' | |
I, [2017-03-30T10:03:59.438923 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.447452 #32948] INFO -- default-win2012r2tk: windows_zipfile("C:\Program Files\WindowsPowerShell\Modules") do | |
I, [2017-03-30T10:03:59.459449 #32948] INFO -- default-win2012r2tk: action [:unzip] | |
I, [2017-03-30T10:03:59.469922 #32948] INFO -- default-win2012r2tk: updated true | |
I, [2017-03-30T10:03:59.477985 #32948] INFO -- default-win2012r2tk: updated_by_last_action true | |
I, [2017-03-30T10:03:59.487971 #32948] INFO -- default-win2012r2tk: retries 0 | |
I, [2017-03-30T10:03:59.495473 #32948] INFO -- default-win2012r2tk: retry_delay 2 | |
I, [2017-03-30T10:03:59.507635 #32948] INFO -- default-win2012r2tk: default_guard_interpreter :default | |
I, [2017-03-30T10:03:59.514663 #32948] INFO -- default-win2012r2tk: declared_type :windows_zipfile | |
I, [2017-03-30T10:03:59.524663 #32948] INFO -- default-win2012r2tk: cookbook_name "wincb" | |
I, [2017-03-30T10:03:59.533636 #32948] INFO -- default-win2012r2tk: recipe_name "cdrom" | |
I, [2017-03-30T10:03:59.543663 #32948] INFO -- default-win2012r2tk: source "http://automon.maritz.com/modules/cCDROMdriveletter.zip" | |
I, [2017-03-30T10:03:59.552647 #32948] INFO -- default-win2012r2tk: checksum "1C767BE3D89133E59575A787A3CBEFC02A179D06B5A1E3912427E4CA360879ED" | |
I, [2017-03-30T10:03:59.561669 #32948] INFO -- default-win2012r2tk: path "C:\\Program Files\\WindowsPowerShell\\Modules" | |
I, [2017-03-30T10:03:59.574634 #32948] INFO -- default-win2012r2tk: not_if { #code block } | |
I, [2017-03-30T10:03:59.585636 #32948] INFO -- default-win2012r2tk: end | |
I, [2017-03-30T10:03:59.597645 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.609150 #32948] INFO -- default-win2012r2tk: Platform: | |
I, [2017-03-30T10:03:59.620189 #32948] INFO -- default-win2012r2tk: --------- | |
I, [2017-03-30T10:03:59.629168 #32948] INFO -- default-win2012r2tk: x64-mingw32 | |
I, [2017-03-30T10:03:59.640152 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.650154 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] INFO: Running queued delayed notifications before re-raising exception | |
I, [2017-03-30T10:03:59.661152 #32948] INFO -- default-win2012r2tk: | |
I, [2017-03-30T10:03:59.672157 #32948] INFO -- default-win2012r2tk: Running handlers: | |
I, [2017-03-30T10:03:59.680179 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] ERROR: Running exception handlers | |
I, [2017-03-30T10:03:59.690160 #32948] INFO -- default-win2012r2tk: Running handlers complete | |
I, [2017-03-30T10:03:59.698660 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] ERROR: Exception handlers complete | |
I, [2017-03-30T10:03:59.707170 #32948] INFO -- default-win2012r2tk: Chef Client failed. 2 resources updated in 34 seconds | |
I, [2017-03-30T10:03:59.716173 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] FATAL: Stacktrace dumped to C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/chef-stacktrace.out | |
I, [2017-03-30T10:03:59.727199 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report | |
I, [2017-03-30T10:03:59.735167 #32948] INFO -- default-win2012r2tk: [2017-03-30T10:03:58-05:00] FATAL: Errno::EINVAL: windows_zipfile[C:\Program Files\WindowsPowerShell\Modules] (wincb::cdrom line 7) had an error: Errno::EINVAL: ruby_block[Unzipping] (C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/cookbooks/windows/resources/zipfile.rb line 54) had an error: Errno::EINVAL: Invalid argument @ rb_sysopen - C:\Program Files\WindowsPowerShell\Modules/cCDROMdriveletter\1.1.0\DSCResources\ | |
D, [2017-03-30T10:03:59.765164 #32948] DEBUG -- default-win2012r2tk: [WinRM] cleaning up command_id: 32541522-181F-4A03-BC44-69BC51502450 on shell_id 7645D708-D62E-4D35-BA6E-B4CA2990EAF5 | |
D, [2017-03-30T10:03:59.796196 #32948] DEBUG -- default-win2012r2tk: Cleaning up local sandbox in C:/Users/username/AppData/Local/Temp/default-win2012r2tk-sandbox-20170330-32948-b9o2mq | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: Converge failed on instance <default-win2012r2tk>. | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: ------Exception------- | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: Class: Kitchen::ActionFailed | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: Message: WinRM exited (1) for command: [$env:TEST_KITCHEN = "1" | |
$env:PATH = try { | |
[System.Environment]::GetEnvironmentVariable('PATH','Machine') | |
} catch { $env:PATH } | |
& $env:systemdrive\opscode\chef\bin\chef-client.bat --local-mode --config $env:TEMP\kitchen\client.rb --log_level auto --force-formatter --no-color --json-attributes $env:TEMP\kitchen\dna.json --chef-zero-port 8889 ; exit $LastExitCode] | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: ---------------------- | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: ------Backtrace------- | |
E, [2017-03-30T10:03:59.853173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/base.rb:83:in `rescue in call' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/base.rb:86:in `call' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:384:in `block in converge_action' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:527:in `synchronize_or_call' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:489:in `block in action' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/2.3.0/benchmark.rb:293:in `measure' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:488:in `action' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:380:in `converge_action' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:359:in `block in transition_to' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `each' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `transition_to' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:135:in `converge' | |
E, [2017-03-30T10:03:59.854174 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `public_send' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `run_action_in_thread' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:169:in `block (2 levels) in run_action' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `block in create_with_logging_context' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: ----End Backtrace----- | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: ---Nested Exception--- | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: Class: Kitchen::Transport::WinrmFailed | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: Message: WinRM exited (1) for command: [$env:TEST_KITCHEN = "1" | |
$env:PATH = try { | |
[System.Environment]::GetEnvironmentVariable('PATH','Machine') | |
} catch { $env:PATH } | |
& $env:systemdrive\opscode\chef\bin\chef-client.bat --local-mode --config $env:TEMP\kitchen\client.rb --log_level auto --force-formatter --no-color --json-attributes $env:TEMP\kitchen\dna.json --chef-zero-port 8889 ; exit $LastExitCode] | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: ---------------------- | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: ------Backtrace------- | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/base.rb:83:in `rescue in call' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/base.rb:86:in `call' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:384:in `block in converge_action' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:527:in `synchronize_or_call' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:489:in `block in action' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/2.3.0/benchmark.rb:293:in `measure' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:488:in `action' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:380:in `converge_action' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:359:in `block in transition_to' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `each' | |
E, [2017-03-30T10:03:59.855173 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `transition_to' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:135:in `converge' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `public_send' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `run_action_in_thread' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:169:in `block (2 levels) in run_action' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: C:/opscode/chefdk/embedded/lib/ruby/gems/2.3.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `block in create_with_logging_context' | |
E, [2017-03-30T10:03:59.856172 #32948] ERROR -- default-win2012r2tk: ----End Backtrace----- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment