View install_pwsh_kali_2018_1.sh
#
# 公式のやり方だとリンクが古いなどあったためGistにメモ
# 依存関係をみるとDebian 9のインストーラーが一番近かったので採用している。
#
# install dependencies
sudo apt-get update
sudo apt-get install -y liblttng-ust0 libunwind8
wget https://github.com/PowerShell/PowerShell/releases/download/v6.1.0-preview.1/powershell_6.1.0-preview.1-1.debian.9_amd64.deb
View Setup-MDwiki.ps1
# 基本的には
# http://dynalon.github.io/mdwiki/#!tutorials/iis/iis.md
# の手順を参照のこと
#
# サイト設定(Default Web Site)
$SITE_ROOT = 'C:\inetpub\wwwroot'
$SITE_PATH = 'MACHINE/WEBROOT/APPHOST/Default Web Site'
# IISのインストール
View Get-AvailablePowerShellonLinux.ps1
yum list available --showduplicates -q powershell `
| Select-Object -Skip 1 `
| ForEach-Object {
$packageName = (-split $_)[1]
if ($packageName -match "^(?<Major>\d+)\.(?<Minor>\d+)\.(?<Patch>\d+)(-.+$|\~(?<Label>.+)-.+$)") {
$version = [SemVer]::new($Matches.Major, $Matches.Minor, $Matches.Patch, $Matches.Label)
}
[PSCustomObject]@{ Version = $version; PackageName = "powershell-{0}" -f $packageName}
} `
| Format-Table -AutoSize
View New-CoreXUnitProject.ps1
# see : https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-dotnet-test
function New-CoreXUnitProject {
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true)]
[string]$ProjectName
)
# Validations
try {
[void](Get-Command -Name 'dotnet' -ErrorAction Stop)
View PowerShell_Core_CI.md

PowerShell CoreのCIについてのメモ

基本

PowerShell CoreはCIにAppveyorとTravis CIをつかっている。

  • AppVeyor

    • Windowsのテスト用
    • CIの起点は .\tools\appveyor.psm1Invoke-AppveyorTest
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 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 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