View 514355911513.ps1
#
# http://www.rao.jp/natsuno_rao/ のアレ
# 結局単純にテーブル作るしかできなかった...
#
$w="11555143210421144344239368514321325525232191210443125263432143"
-join($w-split"(..)"|?{$_}|%{'0ワヲン゙゚6789EアイウエオABCDJカキクケコFGHIOサシスセソKLMNTタチツテトPQRSYナニヌネノUVWX/ハヒフヘホZ?!-_マミムメモ\&___ヤ(ユ)ヨ*# _5ラリルレロ1234'[[int]$_]})
View httpie_sample.bat
REM コマンドプロンプトで実行する場合
REM " を \ でエスケープし ' は除外する。
http post http://localhost/ json:=[\"http\",\"pies\"] -v -p HB
View Get-StartupShutdownEventLogs.ps1
#
# よくわかりませんが何かの役に立つことがあるかもしれないらしいですね...
# PowerShell 2.0以降で動作します。
#
Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-Kernel-General'] and (EventID=12 or EventID=13)]]" | Select-Object TimeCreated, Id, Message | Format-Table -Autosize
View Disable-SMB1.ps1
# ref : https://support.microsoft.com/en-us/help/2696547/how-to-enable-and-disable-smbv1,-smbv2,-and-smbv3-in-windows-vista,-windows-server-2008,-windows-7,-windows-server-2008-r2,-windows-8,-and-windows-server-2012
# 各OSのPowerShellから実行してね
#----------------------------------------------------------------------------------
# Client OS
#----------------------------------------------------------------------------------
# Windows 7
# disable SMB1 protorol(server)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
# disable clinet
View Invoke-RubyOnPowerShellConsole.ps1
# これは文字列のエスケープで死ぬ
C:\Ruby23-x64\bin\ruby.exe -e 'puts "Hello World!"'
# 解析停止記号を使う - これなら死なない
C:\Ruby23-x64\bin\ruby.exe --% -e 'puts "Hello World!"'
# "をエスケープする - これなら死なない
C:\Ruby23-x64\bin\ruby.exe -e 'puts \"Hello World!\"'
# 気合で関数を作る - これも死なない
View Get-LoadAverageFromBoW1.ps1
# Windows 10 Creators Update以降でやってね
'cat /proc/loadavg|awk ''{print "@{Load1="$1";Load5="$2";Load15="$3";}"}'';exit;' | bash | iex
View call_powershell_from_bow.sh
#
# 良い例が思いつかなかったのでとりあえずgrepしてみる
#
# -Commandパラメータはスクリプトブロックとしては認識されず、文字列として指定する必要があるっぽい。
#
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command '&{ Get-NetFirewallRule }' | grep Name
View PowerShellMemoOnWin10-1703.md

バージョン情報

PS C:\> $PSVersionTable | sort Name

Name                           Value
----                           -----
PSVersion                      5.1.15063.0
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
View Slice-ArraySample.ps1
# 配列をn個ずつに分割
$Array = 1..100
$n = 13
# 単純にスライスする
for ($i = 0; $i -lt $Array.Length; $i+=$n) {
Write-Host $Array[$i..($i+($n-1))]
}
# ForEach-Objectで頑張る
View Disable-VBoxServiceTimeSync.ps1
# ゲスト側で実行してVirtualBox Guest Additions Serviceの設定を変える。
sc.exe config VBoxService binPath= "C:\Windows\System32\VBoxService.exe --disable-timesync"
Restart-Service -Name VBoxService