PowerShell
タスクやシステム情報の表示
プロセスの取得と終了 (Get-Process / Stop-Process)
Windowsで動作しているプロセスを一覧で取得するコマンドレットは「Get-Process」です.Bashの「ps」もエイリアスとして利用できます.
PS C:\Users\rinsaka\Documents> Get-Help Get-Process ⏎ 名前 Get-Process 構文 Get-Process [[-Name] <string[]>] [<CommonParameters>] Get-Process [[-Name] <string[]>] [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] エイリアス gps ps 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは見つかりませんでした。ヘルプの 一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Help を使 用してください。 -- このコマンドレットのヘルプ トピックをオンラインで確認するには、「Get-Help Get-Process -Online」と入力するか 、 https://go.microsoft.com/fwlink/?LinkID=113324 を参照してください。 PS C:\Users\rinsaka\Documents>
一方でプロセスを停止するコマンドレットは「Stop-Process」です.
PS C:\Users\rinsaka\Documents> Get-Help Stop-Process ⏎ 名前 Stop-Process 構文 Stop-Process [-Id] <int[]> [<CommonParameters>] Stop-Process [<CommonParameters>] Stop-Process [-InputObject] <Process[]> [<CommonParameters>] エイリアス spps kill 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは見つかりませんでした。ヘルプの 一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Help を使 用してください。 -- このコマンドレットのヘルプ トピックをオンラインで確認するには、「Get-Help Stop-Process -Online」と入力するか 、 https://go.microsoft.com/fwlink/?LinkID=113412 を参照してください。 PS C:\Users\rinsaka\Documents>
まず,Windows上で「メモ帳」を起動した後,PowerShellで「Get-Process」を実行します.多くのプロセスが表示される中から「Notepad」の行を探し,その「ID」を控えます.
PS C:\Users\rinsaka\Documents> Get-Process ⏎ Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 166 10 2592 2584 4248 0 AdminService 247 16 3312 2796 3548 0 aesm_service 223 13 3920 5904 6496 0 AggregatorHost 161 12 2908 2260 4.86 1772 3 alt-ime-ahk 439 23 23488 5220 2.83 13892 3 ApplicationFrameHost 138 11 1948 1212 15992 0 armsvc 632 41 18764 31732 0.92 12140 3 backgroundTaskHost 108 9 5272 2584 0.55 11928 3 cmd 80 6 4096 1332 0.02 15420 3 cmd ...(中略)... 1043 238 362692 159272 4812 0 MsMpEng 49 8 1496 420 4192 0 NgcIso 216 10 4344 3080 6188 0 NisSrv 740 36 33500 105984 1.70 5780 3 Notepad 816 29 39772 15796 4260 0 OfficeClickToRun 728 41 34160 8232 4428 0 OneApp.IGCC.WinService 1019 59 68256 15944 8.44 12540 3 OneDrive ...(中略)... 809 35 62744 62788 199.52 8432 3 WindowsTerminal 166 12 1956 1252 732 0 wininit 290 14 3236 1888 11800 3 winlogon 184 14 2280 12104 16596 0 WmiApSrv 582 35 45364 50848 3540 0 WmiPrvSE 282 13 8160 8796 9192 0 WmiPrvSE 310 13 5228 16744 16636 0 WmiPrvSE 266 16 3092 1812 4840 0 WMIRegistrationService 448 18 5644 2160 1288 0 WUDFHost 410 19 11176 2716 1792 0 WUDFHost PS C:\Users\rinsaka\Documents>
メモ帳を閉じるには,「Notepad」の「ID」を指定して「Stop-Process」を実行します.
PS C:\Users\rinsaka\Documents> Stop-Process -ID 5780 ⏎
PS C:\Users\rinsaka\Documents>
サービスの取得 (Get-Service)
Windows上で動作しているサービスを一覧で取得するコマンドレットが「Get-Service」です.
PS C:\Users\rinsaka\Documents> Get-Help Get-Service ⏎ 名前 Get-Service 構文 Get-Service [[-Name] <string[]>] [<CommonParameters>] Get-Service [<CommonParameters>] Get-Service [<CommonParameters>] エイリアス gsv 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは見つかりませんでした。ヘルプの 一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Help を使 用してください。 -- このコマンドレットのヘルプ トピックをオンラインで確認するには、「Get-Help Get-Service -Online」と入力するか 、 https://go.microsoft.com/fwlink/?LinkID=113332 を参照してください。 PS C:\Users\rinsaka\Documents>
PS C:\Users\rinsaka\Documents> Get-Service ⏎
Status Name DisplayName
------ ---- -----------
Stopped AarSvc_18c20cc Agent Activation Runtime_18c20cc
Running AdobeARMservice Adobe Acrobat Update Service
Running AESMService Intel® SGX AESM
Stopped ALG Application Layer Gateway Service
...(中略)...
Running wscsvc セキュリティ センター
Running WSearch Windows Search
Stopped wuauserv Windows Update
Stopped WwanSvc WWAN AutoConfig
Stopped XblAuthManager Xbox Live Auth Manager
Stopped XblGameSave Xbox Live セーブ データ
Stopped XboxGipSvc Xbox Accessory Management Service
Stopped XboxNetApiSvc Xbox Live ネットワーキング サービス
PS C:\Users\rinsaka\Documents>
システム情報の取得 (Get-ComputerInfo)
システム情報を取得するための「Get-ComputerInfo」というコマンドレットもあります.
PS C:\Users\rinsaka\Documents> Get-Help Get-ComputerInfo ⏎ 名前 Get-ComputerInfo 構文 Get-ComputerInfo [[-Property] <string[]>] [<CommonParameters>] エイリアス gin 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは見つかりませんでした。ヘルプの 一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Help を使 用してください。 -- このコマンドレットのヘルプ トピックをオンラインで確認するには、「Get-Help Get-ComputerInfo -Online」と入力す るか、 https://go.microsoft.com/fwlink/?LinkId=799466 を参照してください。 PS C:\Users\rinsaka\Documents>
PS C:\Users\rinsaka\Documents> Get-ComputerInfo ⏎
WindowsBuildLabEx : 26100.1.arm64fre.ge_release.240331-1435
WindowsCurrentVersion : 6.3
WindowsEditionId : Core
WindowsInstallationType : Client
WindowsInstallDateFromRegistry : 2025/08/10 3:19:02
WindowsProductId : 00000-00000-00000-00000
WindowsProductName : Windows 10 Home
...(中略)...
KeyboardLayout : ja-JP
TimeZone : (UTC+09:00) 大阪、札幌、東京
...(以下略)...
上の実行結果の中から特定のプロパティだけを取り出すには, コマンドレットを ( ) で囲い,.プロパティ名 を付けます.例として TimeZone だけを取得してみます.なお,既に説明したとおり PowerShell の出力は .NETオブジェクトであることから,オブジェクトのプロパティを取得する方法として,コマンドレットを ( ) で囲い,.プロパティ名 を付ける方法は幅広く利用できます.
PS C:\Users\rinsaka\Documents> (Get-ComputerInfo).TimeZone ⏎
(UTC+09:00) 大阪、札幌、東京
PS C:\Users\rinsaka\Documents>
少し脱線してしまいますが,.NETオブジェクトからメソッドやプロパティを取得する方法について次の項目で確認しましょう.
日時情報の取得とプロパティの取得 (Get-Date / Get-Member / Select-Object)
現在の時刻を取得するコマンドレットは Get-Date です.このコマンドレットを実行して得られる形式は DateTime オブジェクトです.このオブジェクトのメソッドやプロパティを取得する方法を少し詳しく見ていきましょう.まず,Get-Date コマンドレットを実行します.ここで得られる結果は画面上では文字列のように見えますが,内部的には DateTime オブジェクトです.
PS C:\Users\rinsaka\Documents> Get-Date ⏎
2026年7月28日 18:59:28
PS C:\Users\rinsaka\Documents>
次に Get-Memeber を使ってオブジェクトの構造を調べます.この結果から,オブジェクトの形式が System.DateTime オブジェクトであること,Year,Month,Day などのプロパティを持っていることが分かります.
PS C:\Users\rinsaka\Documents> Get-Date | Get-Member ⏎ TypeName: System.DateTime Name MemberType Definition ---- ---------- ---------- Add Method datetime Add(timespan value) AddDays Method datetime AddDays(double value) AddHours Method datetime AddHours(double value) AddMilliseconds Method datetime AddMilliseconds(double value) AddMinutes Method datetime AddMinutes(double value) AddMonths Method datetime AddMonths(int months) AddSeconds Method datetime AddSeconds(double value) AddTicks Method datetime AddTicks(long value) AddYears Method datetime AddYears(int value) CompareTo Method int CompareTo(System.Object value), int CompareTo(datetime value), int IComparable.CompareTo(System.Object obj), ... Equals Method bool Equals(System.Object value), bool Equals(datetime value), bool IEquatable[datetime].Equals(datetime other) GetDateTimeFormats Method string[] GetDateTimeFormats(), string[] GetDateTimeFormats(System.IFormatProvider provider), string[] GetDateTime... GetHashCode Method int GetHashCode() GetObjectData Method void ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serializatio... GetType Method type GetType() GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode() IsDaylightSavingTime Method bool IsDaylightSavingTime() Subtract Method timespan Subtract(datetime value), datetime Subtract(timespan value) ToBinary Method long ToBinary() ToBoolean Method bool IConvertible.ToBoolean(System.IFormatProvider provider) ToByte Method byte IConvertible.ToByte(System.IFormatProvider provider) ToChar Method char IConvertible.ToChar(System.IFormatProvider provider) ToDateTime Method datetime IConvertible.ToDateTime(System.IFormatProvider provider) ToDecimal Method decimal IConvertible.ToDecimal(System.IFormatProvider provider) ToDouble Method double IConvertible.ToDouble(System.IFormatProvider provider) ToFileTime Method long ToFileTime() ToFileTimeUtc Method long ToFileTimeUtc() ToInt16 Method int16 IConvertible.ToInt16(System.IFormatProvider provider) ToInt32 Method int IConvertible.ToInt32(System.IFormatProvider provider) ToInt64 Method long IConvertible.ToInt64(System.IFormatProvider provider) ToLocalTime Method datetime ToLocalTime() ToLongDateString Method string ToLongDateString() ToLongTimeString Method string ToLongTimeString() ToOADate Method double ToOADate() ToSByte Method sbyte IConvertible.ToSByte(System.IFormatProvider provider) ToShortDateString Method string ToShortDateString() ToShortTimeString Method string ToShortTimeString() ToSingle Method float IConvertible.ToSingle(System.IFormatProvider provider) ToString Method string ToString(), string ToString(string format), string ToString(System.IFormatProvider provider), string ToStr... ToType Method System.Object IConvertible.ToType(type conversionType, System.IFormatProvider provider) ToUInt16 Method uint16 IConvertible.ToUInt16(System.IFormatProvider provider) ToUInt32 Method uint32 IConvertible.ToUInt32(System.IFormatProvider provider) ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider provider) ToUniversalTime Method datetime ToUniversalTime() DisplayHint NoteProperty DisplayHintType DisplayHint=DateTime Date Property datetime Date {get;} Day Property int Day {get;} DayOfWeek Property System.DayOfWeek DayOfWeek {get;} DayOfYear Property int DayOfYear {get;} Hour Property int Hour {get;} Kind Property System.DateTimeKind Kind {get;} Millisecond Property int Millisecond {get;} Minute Property int Minute {get;} Month Property int Month {get;} Second Property int Second {get;} Ticks Property long Ticks {get;} TimeOfDay Property timespan TimeOfDay {get;} Year Property int Year {get;} DateTime ScriptProperty System.Object DateTime {get=if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Date")... PS C:\Users\rinsaka\Documents>
次に,Year プロパティだけを表示します.このために Select-Object を利用します.これは具体的には Year プロパティを含む新しいオブジェクトを作って表示しています.厳密には数値 2026 を取り出しているわけではありません.
PS C:\Users\rinsaka\Documents> Get-Date | Select-Object Year ⏎
Year
----
2026
PS C:\Users\rinsaka\Documents>
値を直接取得するには (Get-Date).Year を実行します.
PS C:\Users\rinsaka\Documents> (Get-Date).Year ⏎
2026
PS C:\Users\rinsaka\Documents>
実行可能ファイルの検索パスの表示 ($Env:Path)
PowerShell では,$Env:Path を使用して実行可能ファイルの検索パスを表示することができます.Path は環境変数の一つであり,コマンドを実行した際に Windows が実行ファイルを探すフォルダを管理しています.$Env:Path を実行すると,現在の Path 環境変数の内容が表示されます.PowerShell では環境変数を $Env:変数名 という形式で参照するため,Path 以外にも $Env:TEMP や $Env:USERNAME などの環境変数を確認できます.
PS C:\Users\rinsaka\Documents> $Env:Path ⏎
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\PowerShell\7\;C:\Users\rinsaka\AppData\Local\Microsoft\WindowsApps;C:\Users\rinsaka\AppData\Local\Programs\Microsoft VS Code\bin
なお,PowerShell では環境変数を Env: という仮想ドライブとして扱います.仮想ドライブの一覧は Get-PSDrive コマンドレットで取得できます.つまり,C:ドライブと同じように Env: を利用できることを意味しています.
PS C:\Users\rinsaka\Documents> Get-PSDrive ⏎ Name Used (GB) Free (GB) Provider Root ---- --------- --------- -------- ---- Alias Alias C 44.29 18.87 FileSystem C:\ Cert Certificate \ D FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan PS C:\Users\rinsaka\Documents>
つまり,C:ドライブのルートにあるフォルダやファイルの一覧を Get-ChildItem C:\ コマンドレットで表示できるのと同様に,Get-ChildItem Env: で環境変数の一覧を取得できるわけです.
PS C:\Users\rinsaka\Documents> Get-ChildItem C:\ ⏎ ディレクトリ: C:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2025/08/10 13:02 inetpub d----- 2024/04/01 17:45 PerfLogs d-r--- 2026/07/11 14:10 Program Files d-r--- 2025/08/12 18:38 Program Files (x86) d-r--- 2025/08/10 12:48 Users d----- 2026/07/28 9:43 Windows PS C:\Users\rinsaka\Documents> Get-ChildItem Env: ⏎ Name Value ---- ----- ALLUSERSPROFILE C:\ProgramData APPDATA C:\Users\rinsaka\AppData\Roaming CommonProgramFiles C:\Program Files\Common Files CommonProgramFiles(Arm) C:\Program Files (Arm)\Common Files CommonProgramFiles(x86) C:\Program Files (x86)\Common Files CommonProgramW6432 C:\Program Files\Common Files COMPUTERNAME FUSION ComSpec C:\WINDOWS\system32\cmd.exe DriverData C:\Windows\System32\Drivers\DriverData HOMEDRIVE C: HOMEPATH \Users\rinsaka LOCALAPPDATA C:\Users\rinsaka\AppData\Local LOGONSERVER \\FUSION NUMBER_OF_PROCESSORS 4 OneDrive C:\Users\rinsaka\OneDrive OS Windows_NT Path C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem... PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL POWERSHELL_DISTRIBUTION_CHA... MSI:Windows 10 Home PROCESSOR_ARCHITECTURE ARM64 PROCESSOR_IDENTIFIER ARMv8 (64-bit) Family 8 Model 0 Revision 0, Apple PROCESSOR_LEVEL 0 PROCESSOR_REVISION 0000 ProgramData C:\ProgramData ProgramFiles C:\Program Files ProgramFiles(Arm) C:\Program Files (Arm) ProgramFiles(x86) C:\Program Files (x86) ProgramW6432 C:\Program Files PSModulePath C:\Users\rinsaka\Documents\WindowsPowerShell\Modules;C:... PUBLIC C:\Users\Public SESSIONNAME Console SystemDrive C: SystemRoot C:\WINDOWS TEMP C:\Users\rinsaka\AppData\Local\Temp TMP C:\Users\rinsaka\AppData\Local\Temp USERDOMAIN FUSION USERDOMAIN_ROAMINGPROFILE FUSION USERNAME rinsaka USERPROFILE C:\Users\rinsaka windir C:\WINDOWS WSLENV WT_SESSION:WT_PROFILE_ID: WT_PROFILE_ID {61c54bbd-c2c6-5271-96e7-009a87ff44bf} WT_SESSION 6ebd85e2-bf04-4afe-9ab9-9f0a960c8175 PS C:\Users\rinsaka\Documents>
同じように他の環境変数も取得することができます.
PS C:\Users\rinsaka\Documents> $Env:PROCESSOR_IDENTIFIER ⏎ ARMv8 (64-bit) Family 8 Model 0 Revision 0, Apple PS C:\Users\rinsaka\Documents> $Env:TEMP ⏎ C:\Users\rinsaka\AppData\Local\Temp PS C:\Users\rinsaka\Documents> $Env:USERNAME ⏎ rinsaka PS C:\Users\rinsaka\Documents>