View Invoke-CustomEncodingBlock.Tests.ps1
#
# ちょっとだけテスト
#
Import-Module Pester
Describe "UseBOMlessUTF8パラメーターのテスト" {
It "BOMなしUTF8 - 最初の3ByteがBOMでないこと" {
$filePath = ".\BOMless.txt"
Invoke-CustomEncodingBlock { "BOMなしUTF8" | Out-File $filePath -Encoding utf8 } -UseBOMlessUTF8
View Get-VMKeyExchangeData.ps1
<#
.SYNOPSIS
仮想マシンからデータ交換サービスのデータを取得します。
.PARAMETER VMName
仮想マシンの名称を指定します
.EXAMPLE
Get-VMKeyExchangeData -VMName 'MyVM'
.NOTES
Windows Server 2012以降でのみ利用可能です。
#>
View Invoke-PesterCustomAssertionSampleEx.ps1
# Pester 4.0.5以降で動作
Import-Module Pester -MinimumVersion 4.0.5 -Force
function PesterBeHash($Value, $Expected) {
if (-not ($Value -is [Hashtable] -and $Expected -is [Hashtable])) {
return $Value -eq $Expected
}
if ($Value.Keys.Count -ne $Expected.Keys.Count) {
return $false
}
View Invoke-PesterCustomAssertionSample.ps1
# 参考 http://kamranicus.com/blog/2016/08/17/posh-pester-extend-custom-assertions/
# Pester 3.4.0 で検証済み
Import-Module Pester
# Pester + 動詞 の名前を持つ3つの関数を作る必要がある
# 1. Pester[動詞]
function PesterBeHash($Value, $Expected) {
if (-not ($Value -is [Hashtable] -and $Expected -is [Hashtable])) {
return $Value -eq $Expected
}
View Calculate-IPAddress.ps1
<#
.SYNOPSIS
IPアドレスからサブネットマスク、ネットワークアドレス、ブロードキャストアドレスを計算します。
ipcalcコマンドと同等の機能になりますが、IPV4のみに対応しています。
.DESCRIPTION
.EXAMPLE
Calculate-IPAddress -CalcType Subnet,Broadcast,Network -Address 192.168.123.45/21
Calculate-IPAddress -CalcType Prefix,Broadcast,Network -Address 192.168.123.45 255.255.254.0
#>
View Install-PS60toServerCore.ps1
# for Windows Server Core
& {
# configurations
$PS_VERSION = "6.0.0-beta.9"
$PSInstaller = [PSCustomObject]@{
Uri = "https://github.com/PowerShell/PowerShell/releases/download/v$PS_VERSION/PowerShell-$PS_VERSION-win-x64.msi";
OutFile = Join-Path $env:TEMP "PowerShell-$PS_VERSION-win-x64.msi";
InstallLog = Join-Path $env:TEMP "PowerShell-$PS_VERSION-win-x64-install.log";
Sha256 = "D8A194C8944C4680F27406AC5B341971C546C04279A47C927FAB10D6F5CBFF2A";
Destination = "C:\Program Files\PowerShell\$PS_VERSION";
View Install-PS60toNanoServer.ps1
& {
# 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"
}
View PowerShellMemoOnWin10-1511.md

とりあえずわかる範囲で。

バージョン情報

PS C:\> $PSVersionTable | sort Name

Name                           Value
----                           -----
PSVersion                      5.0.10586.0
View PowerShellMemoOnWin10-1607.md

大前提として1607でPowerShell 5.0→5.1にマイナーバージョンが上がっている。

バージョン情報

PS C:\> $PSVersionTable | sort Name

Name                           Value
----                           -----
PSVersion                      5.1.14393.0
View PowerShellMemoOnWin10-1709.md

わかる範囲で適当に。

バージョン情報

PS C:\> $PSVersionTable | sort Name

Name                           Value
----                           -----
PSVersion                      5.1.16299.15