Windows Powershell の裏技、面白テクニック、知ったら10倍得するお話など

このページでは Windows Powershell 環境における裏技、便利なテクニック、知っていると効率が上がるTipsを紹介します。2023年10月3日 更新


このページではWindows Powershell 環境における裏技、面白テクニック、知ったら得する情報などを紹介していきます。コーディングで便利な技や知って面白い話などをご紹介します。

データ単位(バイト単位)の変換を行う

10TB、10Mb、10kb などデータ単位を直接入力すると変換してくれます。

データ単位


レジストリにアクセスする

Powershell プロンプトよりレジストリにアクセス可能です。レジストリプロバイダを利用します。
例えば HKEY_LOCAL_MACHINE なら Powershell プロンプトから "cd hklm:\" で移動可能です。

レジストリプロバイダによりレジストリへアクセスする

参考:about_Registry_Provider


プログラスバー(進捗バー)を表示する

Powershell でダウンロード操作などを行うとプログレスバー(Progress bar 、進捗バー)が表示されると思います。これはユーザ側も自由に使うことが可能です。 Write-Progress コマンドレットを使用します。


次がプログレスバー表示のPowershellサンプルコードです。変数 p が進捗状況。1から100の値をとります。

$p = 0
1..100 | ForEach-Object {
$p++
Write-Progress -PercentComplete $p -Status "進行中" -Activity "進捗度 $_ %"
Start-Sleep -Milliseconds 25
}

Windows の電源オン時間を確認する

Windows PC の起動時刻を確認することが可能です。要するに電源オンした時間です。PCを休止状態から戻した場合は、戻した時刻ではなく休止前にそのPCを起動した時刻が出力されます。

Windows の電源オン時間を取得する Powershell サンプル

(Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime

実行例 :2022年8月3日 12:05:58 に PCを起動したことが分かります。

PS C:\> (Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime

2022年8月3日 12:05:58


Powershell プロンプトのタイトルを変更する

Powershell のタイトルを変更することが可能です。

(Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime

Powershell プロンプトのタイトルを変更


テキストを読み上げる

Powershell 標準機能でテキストを読み上げることが可能です。ただし2023年現在ではシンプルな読み上げで高度AI読み上げのような抑揚はないようです。

$ps_speak=New-Object -ComObject SAPI.SpVoice
PS C:\> $ps_speak.Speak("みなさんこんにちは。Windows Powershell 読み上げです。")

接続されているUSBデバイス一覧を表示

接続されているデバイスの一覧を表示します。ローカルコンピュータあるいはリモートコンピュータが可能です。-computername でコンピュータ名あるいはIPアドレスを指定します。今回はローカルなのでローカルアドレスの 127.0.0.1 を指定しています。

gwmi Win32_USBControllerDevice -computername 127.0.0.1 |fl Antecedent,Dependent

バッテリの残量を出力する

バッテリーの残量を出力します。仮想環境などバッテリが存在しないPCではなにも表示されません。

(Get-WmiObject -Class Win32_Battery).EstimatedChargeRemaining


[戻る]