神戸学院大学 経営学部 林坂ゼミ

CLI 入門トップページ

« 戻る 次へ »

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 オブジェクトであること,YearMonthDay などのプロパティを持っていることが分かります.

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>

目次に戻る