1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

便利なPowerShellコマンド

1
Last updated at Posted at 2026-06-06

はじめに

普段よく使うものや便利だなあと思ったPowerShellコマンドを紹介します。
他にも出てきたら随時更新していきます。

コマンド

ファイルハッシュ値の取得(Get-FileHash)

ファイルのハッシュ値を取得します。
コピー前とコピー後でファイルが壊れていないことを確認したいときに使います。
パイプでFormat-Listに渡してあげると視認性が上がります。

PS> Get-FileHash C:\work\test.txt | Format-List

Algorithm : SHA256
Hash      : 328FFFEEF36BA249A0C194C21BB3B366D9EA38A801B9556F0C0E6D225E001F18
Path      : C:\work\test.txt

ポート疎通確認(Test-NetConndction)

指定したポートへの疎通確認をします。
サーバなどにアクセスできなかった際に実行しています。
TcpTestSucceededがTrueであれば疎通okです。

PS> Test-NetConnection google.com -Port 443


ComputerName     : google.com
RemoteAddress    : 172.217.175.46
RemotePort       : 443
InterfaceAlias   : Wi-Fi
SourceAddress    : 192.168.0.100
TcpTestSucceeded : True

名前解決の確認(Resolve-DnsName)

名前解決の確認で使用します。
nslookupコマンドでも名前確認はできるのですが、hostsファイルを参照しなかったりプライマリDNSサーバでしか検証をしなかったりするので、最近はこちらを使用しています。

PS> Resolve-DnsName www.google.com

Name                      Type   TTL   Section    IPAddress
----                      ----   ---   -------    ---------
www.google.com            AAAA   30    Answer     2404:6800:4004:80c::2004
www.google.com            A      207   Answer     142.251.42.196

PowerShellの実行ログ取得(Start-Transcript)

PowerShellコマンド実行時のログを保存します。
ソフトウェアのインストール作業などをPowerShellで実施する際などに利用します。
-IncludeInvocationHeader オプションを付与することでコマンドごとに実行時間が付与されます
注意点として、現状DOSコマンドは正常に記録がされないようですので、PowerShellのコマンドで完結できるのであれば、DOSコマンドは使用しない方が安全です。

PS> Start-Transcript -IncludeInvocationHeader
トランスクリプトが開始されました。出力ファイル: C:\Users\test\Documents\PowerShell_transcript.hostname.8mO5jJej.20261205141817.txt
PS> Test-Connection localhost

Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms)
------        -----------     -----------      -----------                              -----    --------
hostname localhost       127.0.0.1        ::1                                      32       0
hostname localhost       127.0.0.1        ::1                                      32       0
hostname localhost       127.0.0.1        ::1                                      32       0
hostname localhost       127.0.0.1        ::1                                      32       0


PS> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\Users\test\Documents\PowerShell_transcript.hostname.8mO5jJej.20251206141817.txt

環境変数の一覧表示(Get-ChildItem env:)

環境変数の一覧を表示します。
使用する場面は多くないですが、たまに便利です。

PS C:\Users\tatsu> Get-ChildItem env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\test\AppData\Roaming
CommonProgramFiles             C:\Program Files\Common Files
CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
CommonProgramW6432             C:\Program Files\Common Files
COMPUTERNAME                   hostname
ComSpec                        C:\WINDOWS\system32\cmd.exe
DriverData                     C:\Windows\System32\Drivers\DriverData
HOMEDRIVE                      C:
HOMEPATH                       \Users\test

Get-Member

オブジェクトが持っているプロパティやメソッドを確認できます。
スクリプト作成の時や表示する情報を絞りたい際などに便利です。

PS> Get-Service | Get-Member


   TypeName: System.ServiceProcess.ServiceController

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
RequiredServices          AliasProperty RequiredServices = ServicesDependedOn
Disposed                  Event         System.EventHandler Disposed(System.Object, System...
Close                     Method        void Close()
Continue                  Method        void Continue()
CreateObjRef              Method        System.Runtime.Remoting.ObjRef CreateObjRef(type r...
Dispose                   Method        void Dispose(), void IDisposable.Dispose()
Equals                    Method        bool Equals(System.Object obj)
ExecuteCommand            Method        void ExecuteCommand(int command)
GetHashCode               Method        int GetHashCode()
GetLifetimeService        Method        System.Object GetLifetimeService()
GetType                   Method        type GetType()
InitializeLifetimeService Method        System.Object InitializeLifetimeService()
Pause                     Method        void Pause()
Refresh                   Method        void Refresh()
Start                     Method        void Start(), void Start(string[] args)
Stop                      Method        void Stop()
WaitForStatus             Method        void WaitForStatus(System.ServiceProcess.ServiceCo...
CanPauseAndContinue       Property      bool CanPauseAndContinue {get;}
CanShutdown               Property      bool CanShutdown {get;}
CanStop                   Property      bool CanStop {get;}
Container                 Property      System.ComponentModel.IContainer Container {get;}
DependentServices         Property      System.ServiceProcess.ServiceController[] Dependen...
DisplayName               Property      string DisplayName {get;set;}
MachineName               Property      string MachineName {get;set;}
ServiceHandle             Property      System.Runtime.InteropServices.SafeHandle ServiceH...
ServiceName               Property      string ServiceName {get;set;}
ServicesDependedOn        Property      System.ServiceProcess.ServiceController[] Services...
ServiceType               Property      System.ServiceProcess.ServiceType ServiceType {get;}
Site                      Property      System.ComponentModel.ISite Site {get;set;}
StartType                 Property      System.ServiceProcess.ServiceStartMode StartType {...
Status                    Property      System.ServiceProcess.ServiceControllerStatus Stat...
ToString                  ScriptMethod  System.Object ToString();

# 上記で確認したプロパティを使用
PS> (Get-Service -Name "wuauserv").ServicesDependedOn

Status   Name               DisplayName
------   ----               -----------
Running  rpcss              Remote Procedure Call (RPC)

データ型の確認(GetType())

GetType()メソッドを使用することで、データ型の確認を行うことができます。
こちらもスクリプト作成時に便利です。

PS > ((Resolve-DnsName google.com).IP4Address).GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array

最後に

今回はよく使用するPowerShellコマンドを紹介しました。
もしおすすめコマンドがあればコメントいただけると幸いです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?