2014年12月25日木曜日

◆サイズの大きなファイルを作る

テストとかで使う局面はありそうなのでパスをメモしておく。 
Creating Huge Dummy Files - Power Tips - PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
$Path = "$env:temp\hugefile.txt"
$Size = 200MB
$stream = New-Object System.IO.FileStream($Path, [System.IO.FileMode]::CreateNew)
$stream.Seek($Size, [System.IO.SeekOrigin]::Begin)
$stream.WriteByte(0)
$Stream.Close()
explorer.exe "/select,$Path"

2014年12月17日水曜日

◆プロンプトの色を変える(Change the color of the prompt)

連続してコマンド入力と結果表示を繰り返すと、前回の結果がどこからか判りづらくなる。

そこで、プロンプトの色を変えてみることにした。

プロンプト自体はPrompt関数の戻り値なので直接的に色は指定できそうにない。
そこで、Write-Hostで俺々プロンプトを表示させつつ、本物のプロンプトを消してやるって感じにすると、それっぽくなった。

本物のプロンプトはもう少しスマートに消せるのかもしれないが、とりあえずスペースとバックスペースを合わせてリターンすることによって結果的に何も表示させず場所も取らない形にしている。

>function Prompt{Write-Host "PS>" -fore Yellow -nonewline;return " `b"}

結果はこんな感じに。

image

◆WindowsキーをSendする

以前以下の様なIEを表示するスクリプトを作った。
PowerShell: ◆IE画面をアクティブにして最大化

色々と事情があって最近はChromeを半分以上の割合で使っている。

そこで、Chromeも最大化したくなった。
幸い、ChromeはIEと違って、単純に「Win + 1」とかで前回表示していたタブのまま復帰してくれるので、これをSendできれば簡単だ。

WindowsキーのSendは前回調べて挫折したのだが、もう一度探してみてや~っと見つけました。
PowerShell/WinKeys.ps1 at master · stefanstranger/PowerShell · GitHub

結局のところは、PowerShellでは難しいのでC#で作っているのね。
しかも.NETFrameworkでもないのね。

Windows8ではそのまま動いたが、Widnows7ではLinqとTasksのusingを消したほうがよさそうだ。

WindowsキーがSendできるのは、結構嬉しい。

2014年12月16日火曜日

◆HotFix(Windows Update)の適用確認

この間のWindowsUpadateは規模も大きかったせいか幾つか不具合が出ているようだ。

自分のPCに適用されているか確認するにはコントロールパネルの「プログラムと機能」から目視で確認できるが、探すのがちょっと大変。

PowerShellでは「Get-HotFix」というそのものずばりのコマンドが用意されているので簡単に確認できる。

PS>Get-HotFix "KB3004394","KB3002339","KB3011970","KB2553154"

権限があってFireWallが通れば一括での確認もできそう。

PS>"sv1","sv2" | %{Get-HotFix "kb982018","KB976932" -comp $_}

特に意味は無いが、WMIクエリーでもやってみたので一応メモしておく。

PS>gwmi -Query "select * from win32_quickfixengineering where hotfixid='KB982018'or hotfix id='KB976932'"