Skip to content

Instantly share code, notes, and snippets.

@stknohg
Last active October 26, 2017 02:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stknohg/7f91b643bc75d188234dcafada0bd349 to your computer and use it in GitHub Desktop.
Save stknohg/7f91b643bc75d188234dcafada0bd349 to your computer and use it in GitHub Desktop.
[Obsolete]Nano ServerにPowerShell 6.0をインストールするスクリプト
& {
# configurations
$VersionNo = 16
$PSInstaller = [PSCustomObject]@{
Uri = "https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.$VersionNo/PowerShell_6.0.0-alpha.$VersionNo-win10-win2016-x64.zip";
OutFile = Join-Path $env:TEMP "powershell-6.0.0-alpha.$VersionNo.zip";
Sha256 = "1AA8F34E640996961BB1D63BE5563502B9944F47D5B20995AAF3C95785965590";
Destination = "C:\Program Files\PowerShell\6.0.0.$VersionNo";
VersionTag = "6.0.0-alpha.$VersionNo"
}
$RemotingInstaller = [PSCustomObject]@{
Uri = "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/powershell-native/Install-PowerShellRemoting.ps1"
OutFile = Join-Path $env:TEMP "Install-PowerShellRemoting.ps1";
}
# download
function Invoke-Download([string]$Uri, [string]$OutFile) {
Write-Host "Downloading $Uri ..." -ForegroundColor Green
Write-Host " Destination : $OutFile" -ForegroundColor Green
Add-Type -AssemblyName System.Net.Http
try {
$client = New-Object System.Net.Http.HttpClient
$response = $client.GetAsync($Uri).Result
$hstream = $response.Content.ReadAsStreamAsync().Result
$fstream = [System.IO.File]::Create($OutFile)
$hstream.CopyTo($fstream)
$fstream.Flush()
} finally {
$fstream.Close()
$hstream.Dispose()
$response.Dispose()
}
}
Invoke-Download -Uri $PSInstaller.Uri -OutFile $PSInstaller.OutFile
Invoke-Download -Uri $RemotingInstaller.Uri -OutFile $RemotingInstaller.OutFile
# verify and extract zip
if ((Get-FileHash -LiteralPath $PSInstaller.OutFile -Algorithm SHA256).Hash -eq $PSInstaller.Sha256) {
Write-Host "Verified SHA256 hash..." -ForegroundColor Green
} else {
Write-Warning "Invalid SHA256 hash!"
return
}
if (Test-Path -LiteralPath $PSInstaller.Destination) {
Write-Warning "$($PSInstaller.Destination) already exists!"
return
}
# Install PowerShell
Write-Host "Install PowerShell..." -ForegroundColor Green
Write-Host "Extracting $($PSInstaller.OutFile) to $($PSInstaller.Destination) ..." -ForegroundColor Green
Expand-Archive -LiteralPath $PSInstaller.OutFile -DestinationPath $PSInstaller.Destination
Write-Host "PowerShell installation complete!" -ForegroundColor Green
# Install PSRemoting
Write-Host "Install PSRemoting endpoint..." -ForegroundColor Green
# Install-PowerShellRemoting.ps1 invokes restarting WinRM Service.
# So, if you run this script in a PSSession, the session disconnected.
[ScriptBlock]::Create("$($RemotingInstaller.OutFile) -PowerShellHome `"$($PSInstaller.Destination)`" -PowerShellVersion `"$($PSInstaller.VersionTag)`"").Invoke()
Write-Host "PSRemoting endpoing configuration complete!" -ForegroundColor Green
}
# BASE64エンコードしたやつ
# $bytes = [System.Text.Encoding]::Unicode.GetBytes((cat .\Install-PS60toNanoServer.ps1 -Raw))
# $encodedCommand = [Convert]::ToBase64String($bytes)
$encodedCommand = 'JgAgAHsADQAKACAAIAAgACAAIwAgAGMAbwBuAGYAaQBnAHUAcgBhAHQAaQBvAG4AcwANAAoAIAAgACAAIAAkAFYAZQByAHMAaQBvAG4ATgBvACAAPQAgADEANgANAAoAIAAgACAAIAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAgAD0AIABbAFAAUwBDAHUAcwB0AG8AbQBPAGIAagBlAGMAdABdAEAAewANAAoAIAAgACAAIAAgACAAIAAgAFUAcgBpACAAPQAgACIAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBQAG8AdwBlAHIAUwBoAGUAbABsAC8AUABvAHcAZQByAFMAaABlAGwAbAAvAHIAZQBsAGUAYQBzAGUAcwAvAGQAbwB3AG4AbABvAGEAZAAvAHYANgAuADAALgAwAC0AYQBsAHAAaABhAC4AJABWAGUAcgBzAGkAbwBuAE4AbwAvAFAAbwB3AGUAcgBTAGgAZQBsAGwAXwA2AC4AMAAuADAALQBhAGwAcABoAGEALgAkAFYAZQByAHMAaQBvAG4ATgBvAC0AdwBpAG4AMQAwAC0AdwBpAG4AMgAwADEANgAtAHgANgA0AC4AegBpAHAAIgA7AA0ACgAgACAAIAAgACAAIAAgACAATwB1AHQARgBpAGwAZQAgAD0AIABKAG8AaQBuAC0AUABhAHQAaAAgACQAZQBuAHYAOgBUAEUATQBQACAAIgBwAG8AdwBlAHIAcwBoAGUAbABsAC0ANgAuADAALgAwAC0AYQBsAHAAaABhAC4AJABWAGUAcgBzAGkAbwBuAE4AbwAuAHoAaQBwACIAOwANAAoAIAAgACAAIAAgACAAIAAgAFMAaABhADIANQA2ACAAPQAgACIAMQBBAEEAOABGADMANABFADYANAAwADkAOQA2ADkANgAxAEIAQgAxAEQANgAzAEIARQA1ADUANgAzADUAMAAyAEIAOQA5ADQANABGADQANwBEADUAQgAyADAAOQA5ADUAQQBBAEYAMwBDADkANQA3ADgANQA5ADYANQA1ADkAMAAiADsADQAKACAAIAAgACAAIAAgACAAIABEAGUAcwB0AGkAbgBhAHQAaQBvAG4AIAA9ACAAIgBDADoAXABQAHIAbwBnAHIAYQBtACAARgBpAGwAZQBzAFwAUABvAHcAZQByAFMAaABlAGwAbABcADYALgAwAC4AMAAuACQAVgBlAHIAcwBpAG8AbgBOAG8AIgA7AA0ACgAgACAAIAAgACAAIAAgACAAVgBlAHIAcwBpAG8AbgBUAGEAZwAgAD0AIAAiADYALgAwAC4AMAAtAGEAbABwAGgAYQAuACQAVgBlAHIAcwBpAG8AbgBOAG8AIgANAAoAIAAgACAAIAB9AA0ACgAgACAAIAAgACQAUgBlAG0AbwB0AGkAbgBnAEkAbgBzAHQAYQBsAGwAZQByACAAPQAgAFsAUABTAEMAdQBzAHQAbwBtAE8AYgBqAGUAYwB0AF0AQAB7AA0ACgAgACAAIAAgACAAIAAgACAAVQByAGkAIAA9ACAAIgBoAHQAdABwAHMAOgAvAC8AcgBhAHcALgBnAGkAdABoAHUAYgB1AHMAZQByAGMAbwBuAHQAZQBuAHQALgBjAG8AbQAvAFAAbwB3AGUAcgBTAGgAZQBsAGwALwBQAG8AdwBlAHIAUwBoAGUAbABsAC8AbQBhAHMAdABlAHIALwBzAHIAYwAvAHAAbwB3AGUAcgBzAGgAZQBsAGwALQBuAGEAdABpAHYAZQAvAEkAbgBzAHQAYQBsAGwALQBQAG8AdwBlAHIAUwBoAGUAbABsAFIAZQBtAG8AdABpAG4AZwAuAHAAcwAxACIADQAKACAAIAAgACAAIAAgACAAIABPAHUAdABGAGkAbABlACAAPQAgAEoAbwBpAG4ALQBQAGEAdABoACAAJABlAG4AdgA6AFQARQBNAFAAIAAiAEkAbgBzAHQAYQBsAGwALQBQAG8AdwBlAHIAUwBoAGUAbABsAFIAZQBtAG8AdABpAG4AZwAuAHAAcwAxACIAOwANAAoAIAAgACAAIAB9AA0ACgAgACAAIAAgACMAIABkAG8AdwBuAGwAbwBhAGQADQAKACAAIAAgACAAZgB1AG4AYwB0AGkAbwBuACAASQBuAHYAbwBrAGUALQBEAG8AdwBuAGwAbwBhAGQAKABbAHMAdAByAGkAbgBnAF0AJABVAHIAaQAsACAAWwBzAHQAcgBpAG4AZwBdACQATwB1AHQARgBpAGwAZQApACAAewANAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAEQAbwB3AG4AbABvAGEAZABpAG4AZwAgACQAVQByAGkAIAAuAC4ALgAiACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAEcAcgBlAGUAbgANAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiACAAIABEAGUAcwB0AGkAbgBhAHQAaQBvAG4AIAA6ACAAJABPAHUAdABGAGkAbABlACIAIAAtAEYAbwByAGUAZwByAG8AdQBuAGQAQwBvAGwAbwByACAARwByAGUAZQBuAA0ACgAgACAAIAAgACAAIAAgACAAQQBkAGQALQBUAHkAcABlACAALQBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBIAHQAdABwAA0ACgAgACAAIAAgACAAIAAgACAAdAByAHkAIAB7AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAkAGMAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4ASAB0AHQAcAAuAEgAdAB0AHAAQwBsAGkAZQBuAHQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAcgBlAHMAcABvAG4AcwBlACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABBAHMAeQBuAGMAKAAkAFUAcgBpACkALgBSAGUAcwB1AGwAdAAgAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAkAGgAcwB0AHIAZQBhAG0AIAA9ACAAJAByAGUAcwBwAG8AbgBzAGUALgBDAG8AbgB0AGUAbgB0AC4AUgBlAGEAZABBAHMAUwB0AHIAZQBhAG0AQQBzAHkAbgBjACgAKQAuAFIAZQBzAHUAbAB0AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAkAGYAcwB0AHIAZQBhAG0AIAA9ACAAWwBTAHkAcwB0AGUAbQAuAEkATwAuAEYAaQBsAGUAXQA6ADoAQwByAGUAYQB0AGUAKAAkAE8AdQB0AEYAaQBsAGUAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABoAHMAdAByAGUAYQBtAC4AQwBvAHAAeQBUAG8AKAAkAGYAcwB0AHIAZQBhAG0AKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABmAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQANAAoAIAAgACAAIAAgACAAIAAgAH0AIABmAGkAbgBhAGwAbAB5ACAAewANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABmAHMAdAByAGUAYQBtAC4AQwBsAG8AcwBlACgAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJABoAHMAdAByAGUAYQBtAC4ARABpAHMAcABvAHMAZQAoACkADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACQAcgBlAHMAcABvAG4AcwBlAC4ARABpAHMAcABvAHMAZQAoACkADQAKACAAIAAgACAAIAAgACAAIAB9AA0ACgAgACAAIAAgAH0ADQAKACAAIAAgACAASQBuAHYAbwBrAGUALQBEAG8AdwBuAGwAbwBhAGQAIAAtAFUAcgBpACAAJABQAFMASQBuAHMAdABhAGwAbABlAHIALgBVAHIAaQAgAC0ATwB1AHQARgBpAGwAZQAgACQAUABTAEkAbgBzAHQAYQBsAGwAZQByAC4ATwB1AHQARgBpAGwAZQANAAoAIAAgACAAIABJAG4AdgBvAGsAZQAtAEQAbwB3AG4AbABvAGEAZAAgAC0AVQByAGkAIAAkAFIAZQBtAG8AdABpAG4AZwBJAG4AcwB0AGEAbABsAGUAcgAuAFUAcgBpACAALQBPAHUAdABGAGkAbABlACAAJABSAGUAbQBvAHQAaQBuAGcASQBuAHMAdABhAGwAbABlAHIALgBPAHUAdABGAGkAbABlAA0ACgANAAoAIAAgACAAIAAjACAAdgBlAHIAaQBmAHkAIABhAG4AZAAgAGUAeAB0AHIAYQBjAHQAIAB6AGkAcAANAAoAIAAgACAAIABpAGYAIAAoACgARwBlAHQALQBGAGkAbABlAEgAYQBzAGgAIAAtAEwAaQB0AGUAcgBhAGwAUABhAHQAaAAgACQAUABTAEkAbgBzAHQAYQBsAGwAZQByAC4ATwB1AHQARgBpAGwAZQAgAC0AQQBsAGcAbwByAGkAdABoAG0AIABTAEgAQQAyADUANgApAC4ASABhAHMAaAAgAC0AZQBxACAAJABQAFMASQBuAHMAdABhAGwAbABlAHIALgBTAGgAYQAyADUANgApACAAewANAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFYAZQByAGkAZgBpAGUAZAAgAFMASABBADIANQA2ACAAaABhAHMAaAAuAC4ALgAiACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAEcAcgBlAGUAbgANAAoAIAAgACAAIAB9ACAAZQBsAHMAZQAgAHsADQAKACAAIAAgACAAIAAgACAAIABXAHIAaQB0AGUALQBXAGEAcgBuAGkAbgBnACAAIgBJAG4AdgBhAGwAaQBkACAAUwBIAEEAMgA1ADYAIABoAGEAcwBoACEAIgANAAoAIAAgACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAADQAKACAAIAAgACAAfQANAAoAIAAgACAAIABpAGYAIAAoAFQAZQBzAHQALQBQAGEAdABoACAALQBMAGkAdABlAHIAYQBsAFAAYQB0AGgAIAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAuAEQAZQBzAHQAaQBuAGEAdABpAG8AbgApACAAewANAAoAIAAgACAAIAAgACAAIAAgAFcAcgBpAHQAZQAtAFcAYQByAG4AaQBuAGcAIAAiACQAKAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAuAEQAZQBzAHQAaQBuAGEAdABpAG8AbgApACAAYQBsAHIAZQBhAGQAeQAgAGUAeABpAHMAdABzACEAIgANAAoAIAAgACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAADQAKACAAIAAgACAAfQANAAoAIAAgACAAIAAjACAASQBuAHMAdABhAGwAbAAgAFAAbwB3AGUAcgBTAGgAZQBsAGwADQAKACAAIAAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIASQBuAHMAdABhAGwAbAAgAFAAbwB3AGUAcgBTAGgAZQBsAGwALgAuAC4AIgAgAC0ARgBvAHIAZQBnAHIAbwB1AG4AZABDAG8AbABvAHIAIABHAHIAZQBlAG4ADQAKACAAIAAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARQB4AHQAcgBhAGMAdABpAG4AZwAgACQAKAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAuAE8AdQB0AEYAaQBsAGUAKQAgAHQAbwAgACQAKAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAuAEQAZQBzAHQAaQBuAGEAdABpAG8AbgApACAALgAuAC4AIgAgAC0ARgBvAHIAZQBnAHIAbwB1AG4AZABDAG8AbABvAHIAIABHAHIAZQBlAG4ADQAKACAAIAAgACAARQB4AHAAYQBuAGQALQBBAHIAYwBoAGkAdgBlACAALQBMAGkAdABlAHIAYQBsAFAAYQB0AGgAIAAkAFAAUwBJAG4AcwB0AGEAbABsAGUAcgAuAE8AdQB0AEYAaQBsAGUAIAAtAEQAZQBzAHQAaQBuAGEAdABpAG8AbgBQAGEAdABoACAAJABQAFMASQBuAHMAdABhAGwAbABlAHIALgBEAGUAcwB0AGkAbgBhAHQAaQBvAG4ADQAKACAAIAAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIAUABvAHcAZQByAFMAaABlAGwAbAAgAGkAbgBzAHQAYQBsAGwAYQB0AGkAbwBuACAAYwBvAG0AcABsAGUAdABlACEAIgAgAC0ARgBvAHIAZQBnAHIAbwB1AG4AZABDAG8AbABvAHIAIABHAHIAZQBlAG4ADQAKAA0ACgAgACAAIAAgACMAIABJAG4AcwB0AGEAbABsACAAUABTAFIAZQBtAG8AdABpAG4AZwANAAoAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgBJAG4AcwB0AGEAbABsACAAUABTAFIAZQBtAG8AdABpAG4AZwAgAGUAbgBkAHAAbwBpAG4AdAAuAC4ALgAiACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAEcAcgBlAGUAbgANAAoAIAAgACAAIAAjACAASQBuAHMAdABhAGwAbAAtAFAAbwB3AGUAcgBTAGgAZQBsAGwAUgBlAG0AbwB0AGkAbgBnAC4AcABzADEAIABpAG4AdgBvAGsAZQBzACAAcgBlAHMAdABhAHIAdABpAG4AZwAgAFcAaQBuAFIATQAgAFMAZQByAHYAaQBjAGUALgANAAoAIAAgACAAIAAjACAAUwBvACwAIABpAGYAIAB5AG8AdQAgAHIAdQBuACAAdABoAGkAcwAgAHMAYwByAGkAcAB0ACAAaQBuACAAYQAgAFAAUwBTAGUAcwBzAGkAbwBuACwAIAB0AGgAZQAgAHMAZQBzAHMAaQBvAG4AIABkAGkAcwBjAG8AbgBuAGUAYwB0AGUAZAAuAA0ACgAgACAAIAAgAFsAUwBjAHIAaQBwAHQAQgBsAG8AYwBrAF0AOgA6AEMAcgBlAGEAdABlACgAIgAkACgAJABSAGUAbQBvAHQAaQBuAGcASQBuAHMAdABhAGwAbABlAHIALgBPAHUAdABGAGkAbABlACkAIAAtAFAAbwB3AGUAcgBTAGgAZQBsAGwASABvAG0AZQAgAGAAIgAkACgAJABQAFMASQBuAHMAdABhAGwAbABlAHIALgBEAGUAcwB0AGkAbgBhAHQAaQBvAG4AKQBgACIAIAAtAFAAbwB3AGUAcgBTAGgAZQBsAGwAVgBlAHIAcwBpAG8AbgAgAGAAIgAkACgAJABQAFMASQBuAHMAdABhAGwAbABlAHIALgBWAGUAcgBzAGkAbwBuAFQAYQBnACkAYAAiACIAKQAuAEkAbgB2AG8AawBlACgAKQANAAoAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgBQAFMAUgBlAG0AbwB0AGkAbgBnACAAZQBuAGQAcABvAGkAbgBnACAAYwBvAG4AZgBpAGcAdQByAGEAdABpAG8AbgAgAGMAbwBtAHAAbABlAHQAZQAhACIAIAAtAEYAbwByAGUAZwByAG8AdQBuAGQAQwBvAGwAbwByACAARwByAGUAZQBuAA0ACgB9AA0ACgA='
powershell.exe -EncodedCommand $encodedCommand
@stknohg
Copy link
Author

stknohg commented Feb 28, 2017

PowerShell 6.0を使うには

Enter-PSSession -ComputerName [nanoserver] -Credential [credential] -ConfigurationName "powershell.6.0.0-alpha.16"

の様に-ConfigurationNameを指定して接続してください。

@stknohg
Copy link
Author

stknohg commented Oct 26, 2017

Windows Server ver.1709からNano Serverがコンテナ専用になったため、本スクリプトは最新のNano Serverでは意味がなくなりました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment