【PowerShell徹底解説】バージョン確認は$PSVersionTable
だけじゃない!基本からスクリプト応用まで完全ガイド
はじめに:なぜPowerShellのバージョン確認が重要なのか?
Microsoftによって開発されたPowerShellは、単なるコマンドラインシェルではありません。Windows環境の自動化、設定管理、タスク実行において中心的な役割を担う、強力なスクリプト言語であり、オートメーションエンジンです。近年ではクロスプラットフォーム化も進み、LinuxやmacOSでもその力を発揮できるようになりました。
日々の業務でPowerShellを使っていると、インターネット上で見つけた便利なスクリプトを実行したり、新しいコマンドレットを試したりする機会が頻繁にあります。しかし、その際に「コマンドが見つかりません」というエラーに遭遇したり、期待通りの動作をしなかったりした経験はないでしょうか?その原因の多くはPowerShellのバージョンに起因します。
PowerShellは継続的に進化しており、バージョンが上がるごとに新しいコマンドレットが追加されたり、既存のコマンドの挙動が変更されたりします。そのため、自分が今どのバージョンのPowerShellを使っているかを正確に把握することは、以下のような点で非常に重要です。
- 互換性の確保: 実行したいスクリプトやコマンドが、現在の環境でサポートされているかを確認できます。特に、チームでスクリプトを共有する場合や、異なるサーバーで同じスクリプトを実行する場合、バージョンの違いは致命的な問題を引き起こす可能性があります。
- 新機能の利用: PowerShell 7で導入された
ForEach-Object -Parallel
のような強力な新機能は、それ以前のバージョンでは利用できません。自分が使える機能を最大限に活用するためにも、バージョン情報は不可欠です。 - トラブルシューティング: 問題が発生した際に、バージョン情報はその原因を特定するための重要な手がかりとなります。特定のバージョンにのみ存在するバグや挙動の違いを考慮することで、迅速な解決に繋がります。
- セキュリティ: 新しいバージョンには、セキュリティ脆弱性の修正が含まれていることがよくあります。常に最新またはサポートされているバージョンを使用することは、システムを安全に保つための基本です。
この記事では、PowerShellのバージョンを確認するための基本的なコマンドから、スクリプト内でバージョンに応じた処理を実装する応用的なテクニックまで、網羅的かつ詳細に解説します。初心者の方がつまずきやすいポイントから、中・上級者が知っておくべきベストプラクティスまで、あなたのPowerShellスキルを一段階引き上げるための知識を提供します。
第1章: PowerShellバージョンの基礎知識
バージョン確認コマンドを学ぶ前に、PowerShellのバージョンがどのような体系になっているのか、その歴史的背景と合わせて理解しておきましょう。これにより、コマンドの出力結果が何を意味するのかを深く理解できるようになります。
1.1 PowerShellの歴史とバージョンの変遷
PowerShellのバージョンは、大きく2つの系統に分けることができます。
1. Windows PowerShell (バージョン 1.0 〜 5.1)
- 基盤: .NET Framework
- 特徴: Windows OSに標準で同梱されているPowerShellです。Windows 7にはバージョン2.0、Windows 10/Windows Server 2016にはバージョン5.1がプリインストールされています。
- 実行ファイル:
powershell.exe
- エディション:
Desktop
- 開発: バージョン5.1が最終的なメジャーバージョンであり、現在は新機能の追加は行われず、セキュリティ修正が中心となっています。しかし、Windowsの根幹に関わる機能と密接に連携しているため、今なお現役で広く使われています。
2. PowerShell Core (バージョン 6.x) と PowerShell (バージョン 7.x以降)
- 基盤: .NET Core (現在は .NET 5/6/7…)
- 特徴: オープンソース化され、クロスプラットフォーム(Windows, Linux, macOS)に対応した新しい系統のPowerShellです。
- 実行ファイル:
pwsh.exe
- エディション:
Core
- 開発:
- PowerShell Core 6: クロスプラットフォーム対応の最初の安定版としてリリースされました。Windows PowerShellとの後方互換性よりも、新しいプラットフォームへの対応が優先されました。
- PowerShell 7: “Core”という名前が外れ、PowerShellの正式な後継バージョンとして位置づけられました。Windows PowerShellとの互換性を大幅に向上させつつ、クロスプラットフォームの利点を維持しています。多くの新機能が追加されており、現在、新規開発で推奨されるのはこのバージョン7以降です。
- PowerShell 7.2 は長期サポート (LTS) バージョンであり、安定性が求められる環境で広く採用されています。
- 以降、年次でメジャー/マイナーアップデートがリリースされ、進化を続けています。
重要なのは、Windows PowerShell 5.1とPowerShell 7以降は、同じマシンに共存(サイドバイサイドインストール)できるという点です。実行ファイル名が異なるため、ユーザーは必要に応じて両方を使い分けることができます。
1.2 バージョンの見方:セマンティックバージョニング
PowerShell 6以降のバージョン番号は、一般的に「セマンティックバージョニング (SemVer)」という規約に従っています。これは メジャー.マイナー.パッチ
(例: 7.4.1
) という形式で表されます。
- メジャーバージョン (Major):
7
の部分。後方互換性のない大きな変更(破壊的変更)があった場合にインクリメントされます。 - マイナーバージョン (Minor):
4
の部分。後方互換性を保ちつつ、新機能が追加された場合にインクリメントされます。 - パッチバージョン (Patch):
1
の部分。後方互換性を保ったバグ修正やパフォーマンス改善が行われた場合にインクリメントされます。
このルールを理解していると、バージョン番号を見ただけで、そのアップデートがどのような性質のものかを推測できます。例えば、7.3
から 7.4
へのアップデートは新機能追加を意味し、7.4.0
から 7.4.1
へのアップデートはバグ修正が中心であることを示します。
また、7.5.0-preview.1
のように -preview
が付くものは、正式リリース前のプレビュー版であり、新機能を試すことはできますが、本番環境での使用は推奨されません。
第2章: 基本的なバージョン確認コマンド
それでは、実際にPowerShellのバージョンを確認するコマンドを見ていきましょう。最も信頼性が高く、一般的に使用される方法から紹介します。
2.1 最も確実で詳細な方法: $PSVersionTable
PowerShellのバージョン情報を取得する上で、最も標準的かつ推奨される方法が、自動変数 $PSVersionTable
を参照することです。これはPowerShellセッションが開始されると自動的に作成される読み取り専用のハッシュテーブルで、現在のPowerShell環境に関する詳細な情報が格納されています。
コンソールで、以下のように入力してEnterキーを押してみてください。
powershell
$PSVersionTable
すると、以下のような情報が表示されます(表示内容は環境によって異なります)。
PowerShell 7.4.1 の場合:
Name Value
---- -----
PSVersion 7.4.1
PSEdition Core
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
BuildVersion 7.4.1.50305
CLRVersion 8.0.2
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Windows PowerShell 5.1 の場合:
Name Value
---- -----
PSVersion 5.1.19041.3803
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.3803}
BuildVersion 10.0.19041.3803
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
これらの各プロパティが何を意味するのかを詳しく見ていきましょう。
PSVersion
: これが最も重要な、PowerShellエンジンのバージョンです。Major
,Minor
,Build
,Revision
の4つの要素で構成されるSystem.Version
型のオブジェクトです。通常、私たちが「PowerShellのバージョン」と言うときは、この値を指します。PSEdition
: PowerShellのエディションを示します。Desktop
: .NET Framework上で動作するWindows PowerShell (5.1以前) を意味します。Core
: .NET (Core) 上で動作するPowerShell (6以降) を意味します。スクリプトがどちらの環境で実行されているかを判断する際に極めて重要です。
PSCompatibleVersions
: 現在のPowerShellが、どの古いバージョンと互換性があるかを示した配列です。BuildVersion
: OSのビルド番号を含む、より詳細なビルドバージョンです。CLRVersion
: PowerShellが動作している.NETランタイム(Common Language Runtime)のバージョンです。Desktop
エディションでは.NET Frameworkのバージョン、Core
エディションでは.NET (Core) のバージョンが表示されます。WSManStackVersion
: PowerShell Remotingで使用されるWinRM (Windows Remote Management) スタックのバージョンです。PSRemotingProtocolVersion
: PowerShell Remotingのプロトコルバージョンです。SerializationVersion
: オブジェクトをシリアライズ/デシリアライズする際のバージョン情報です。リモート処理やジョブでオブジェクトを渡す際に内部的に使用されます。
2.2 特定の情報だけをピンポイントで取得する
$PSVersionTable
はハッシュテーブルなので、ドット (.
) を使って特定のプロパティの値に直接アクセスできます。これはスクリプト内でバージョン情報を使う際に非常に便利です。
バージョン全体を取得する:
powershell
$PSVersionTable.PSVersion
出力:
“`
Major Minor Build Revision
7 4 1 -1
“`
メジャーバージョンだけを取得する:
powershell
$PSVersionTable.PSVersion.Major
出力:
7
エディションを取得する:
powershell
$PSVersionTable.PSEdition
出力:
Core
このように、必要な情報だけを簡単に取り出すことができるため、スクリプトの条件分岐などで非常に役立ちます(第3章で詳しく解説します)。
2.3 Get-Host
コマンドレットとの違いに注意!
PowerShellのバージョンを調べようとして、Get-Host
というコマンドレットを使う人が時々いますが、これは誤りです。Get-Host
は、PowerShellエンジンそのものではなく、PowerShellをホストしているアプリケーションの情報を取得するためのコマンドレットです。
実際に Get-Host
を実行してみましょう。
powershell
Get-Host
Windows Terminal上のPowerShell 7.4.1 で実行した場合:
Name : ConsoleHost
Version : 7.4.1
InstanceId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : ja-JP
CurrentUICulture : ja-JP
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Windows PowerShell ISE で実行した場合:
Name : Windows PowerShell ISE Host
Version : 5.1.19041.3803
InstanceId : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
UI : Microsoft.PowerShell.Host.ISE.ISEInternalHostUI
CurrentCulture : ja-JP
CurrentUICulture : ja-JP
PrivateData : Microsoft.PowerShell.Host.ISE.ISEOptions
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
一見すると、Version
プロパティがPowerShellのバージョンと一致しているように見えます。しかし、これはホストアプリケーション(この場合はConsoleHost
やISE Host
)のバージョンであり、たまたまPowerShellエンジンのバージョンと同じ値が設定されているに過ぎません。
例えば、VS CodeのPowerShell拡張機能内で実行した場合、表示されるバージョンはPowerShell本体のものではなく、拡張機能のホストのバージョンになることがあります。
結論として、PowerShellエンジン自体のバージョンを確実に知りたい場合は、必ず $PSVersionTable.PSVersion
を使用してください。 Get-Host
は、実行環境がコンソールなのか、ISEなのか、あるいは別のアプリケーションなのかを判別したい場合にのみ使用するのが適切です。
第3章: スクリプト内でのバージョン確認と応用
バージョン確認コマンドの基本を理解したところで、次はより実践的な応用例を見ていきましょう。作成したスクリプトが、さまざまな環境で意図通りに、そして安全に動作するためには、スクリプト内でバージョンをチェックし、処理を分岐させることが不可欠です。
3.1 なぜスクリプトでバージョンを確認する必要があるのか?
- コマンドレットの有無:
Get-Clipboard
コマンドレットはPowerShell 5.0で追加されました。それ以前のバージョンでこのコマンドを含むスクリプトを実行するとエラーになります。 - パラメータの有無:
Start-Process
コマンドレットの-Wait
パラメータは古くからありますが、Set-Clipboard
コマンドレットの-Append
パラメータはPowerShell 7.4で追加された比較的新しい機能です。特定のパラメータに依存するスクリプトは、バージョンチェックが必要です。 - 挙動の変更: まれに、同じコマンドレットでもバージョンによってデフォルトの挙動や出力形式が変更されることがあります。
- パフォーマンス: PowerShell 7で導入された
ForEach-Object -Parallel
は、大規模なデータ処理を劇的に高速化できますが、下位バージョンでは利用できません。バージョンを判定し、可能であれば高速な方法を、そうでなければ従来の逐次処理にフォールバックする、といった実装が考えられます。
3.2 if
文を使った条件分岐
最も基本的な方法は、if
文を使ってバージョン番号を比較し、処理を分岐させることです。ここで活躍するのが、先ほど学んだ $PSVersionTable.PSVersion.Major
などのプロパティです。
例1: メジャーバージョンで分岐する
PowerShell 7以降で利用可能な並列処理 ForEach-Object -Parallel
を使いたいが、古い環境でも動作するようにしたい場合のスクリプト例です。
“`powershell
処理対象のデータ
$numbers = 1..10
PowerShell 7以降かどうかを判定
if ($PSVersionTable.PSVersion.Major -ge 7) {
Write-Host “PowerShell 7以降を検出しました。並列処理を実行します。” -ForegroundColor Green
# -Parallel を使って高速に処理
$result = $numbers | ForEach-Object -Parallel {
# ここに時間のかかる処理を記述する (例)
Start-Sleep -Milliseconds (Get-Random -Minimum 100 -Maximum 500)
"$_ 番目の処理が完了"
}
}
else {
Write-Host “PowerShell 7より前のバージョンです。逐次処理を実行します。” -ForegroundColor Yellow
# 従来の逐次処理
$result = $numbers | ForEach-Object {
# ここに時間のかかる処理を記述する (例)
Start-Sleep -Milliseconds (Get-Random -Minimum 100 -Maximum 500)
"$_ 番目の処理が完了"
}
}
結果の表示
Write-Host “— 処理結果 —”
$result
“`
このスクリプトは、まずメジャーバージョンが7以上 (-ge 7
) かどうかをチェックします。条件が真であれば -Parallel
を使った高速なコードブロックが実行され、偽であれば従来の逐次処理を行うコードブロックが実行されます。これにより、スクリプトは環境に応じた最適な方法で動作します。
例2: マイナーバージョンまで含めて比較する
より厳密にバージョンを指定したい場合は、[version]
型アクセラレータを使うのがベストプラクティスです。これは文字列をバージョンオブジェクトに変換してくれるため、'7.2'
と '7.10'
のような文字列比較で起こりがちな問題を回避できます。
“`powershell
PowerShell 7.2以降で追加された機能を想定
if ($PSVersionTable.PSVersion -ge [version]’7.2′) {
Write-Host “このスクリプトは PowerShell 7.2 以降の最適化された機能を使用します。”
# 7.2以降のコード
}
else {
Write-Host “古いバージョンのため、代替処理を実行します。” -ForegroundColor Yellow
# 代替コード
}
“`
'7.2'
のように文字列で比較するのではなく、[version]'7.2'
とすることで、PowerShellはこれをバージョンオブジェクトとして正しく解釈し、$PSVersionTable.PSVersion
(これもバージョンオブジェクト)と正確に比較してくれます。
例3: PSEdition
で分岐する
Windows PowerShell (Desktop
エディション) と PowerShell 7以降 (Core
エディション) で利用可能なモジュールやコマンドが異なる場合があります。例えば、Windowsの特定のGUI機能を操作するコマンドは、Desktop
エディションでしか動作しないことがあります。
“`powershell
PSEdition をチェックして処理を分岐
if ($PSVersionTable.PSEdition -eq ‘Desktop’) {
Write-Host “Windows PowerShell (Desktop Edition) で実行中です。”
# Windows固有のコマンドや .NET Framework に依存する処理
# 例: Add-Type -AssemblyName System.Windows.Forms
}
elseif ($PSVersionTable.PSEdition -eq ‘Core’) {
Write-Host “PowerShell (Core Edition) で実行中です。”
# クロスプラットフォームで動作する処理
# .NET (Core) に依存する処理
}
else {
Write-Host “不明なエディションです: $($PSVersionTable.PSEdition)”
}
“`
3.3 #requires
ステートメントによる事前の実行条件チェック
if
文による分岐は柔軟性が高いですが、スクリプト全体が特定のバージョン以上であることを前提としている場合、もっとシンプルで堅牢な方法があります。それが #requires
ステートメントです。
#requires
は、スクリプトの先頭に記述することで、そのスクリプトが実行されるための前提条件をPowerShellエンジンに伝える特別なコメントです。条件が満たされていない場合、PowerShellはスクリプトのコードを一行も実行する前にエラーを返して停止します。
構文:
“`powershell
requires -Version <バージョン番号>
requires -PSEdition <エディション>
requires -Modules <モジュール名>
requires -RunAsAdministrator
“`
例1: 特定のバージョン以上を要求する
このスクリプトはPowerShell 7.2以降でないと実行できないようにします。
“`powershell
requires -Version 7.2
Write-Host “このスクリプトは PowerShell 7.2 以降で正常に動作します。”
以下、7.2以降の機能を使ったコードが続く…
例えば、PSAnsiRendering 機能など
$esc = [char]27
Write-Host “${esc}[32mThis is green text.${esc}[0m”
“`
このスクリプトをPowerShell 7.1以前の環境で実行しようとすると、以下のようなエラーが表示され、スクリプトは即座に終了します。
The script 'script.ps1' cannot be run because it contained a "#requires" statement at line 1 for PowerShell version 7.2 which is not met by the current version 7.1.0.
これにより、互換性のない環境でスクリプトが中途半端に実行され、意図しない結果を招くのを防ぐことができます。
例2: エディションとバージョンを両方要求する
“`powershell
requires -PSEdition Core
requires -Version 7.0
Write-Host “このスクリプトは PowerShell 7.0 (Core Edition) 以降で実行する必要があります。”
…
“`
#requires
は、スクリプトの前提条件を明確にドキュメント化する役割も果たします。スクリプトを読むだけで、どのような環境が必要なのかが一目瞭然となるため、可読性とメンテナンス性の向上に繋がります。
第4章: その他のバージョン確認方法と関連情報
$PSVersionTable
が最も一般的な方法ですが、特定の状況下では他の方法が役立つこともあります。また、バージョンの管理に関連する知識も深めておきましょう。
4.1 レジストリから確認する (Windows限定)
何らかの理由でPowerShellコンソールを起動できないが、バージョンを確認したい、という場合に役立つのがレジストリです。
Windows PowerShell (v3以降) のバージョン情報:
- パス:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
- 値の名前:
PowerShellVersion
このパスは、PowerShell 3.0のエンジンがインストールされていることを示しており、値 PowerShellVersion
には、そのマシンにインストールされている最新のWindows PowerShellのバージョン(通常は5.1)が格納されています。
PowerShellが起動できる状態であれば、以下のコマンドでこの値を取得できます。
powershell
$path = "HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine"
Get-ItemProperty -Path $path -Name PowerShellVersion | Select-Object -ExpandProperty PowerShellVersion
PowerShell 7以降のバージョン情報:
PowerShell 7以降は、通常MSIインストーラーでインストールされ、レジストリ内の別の場所に情報を書き込みます。
- パス:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions\<GUID>
- 値の名前:
Version
ただし、このパスはインストール方法によって異なる場合があり、確実性に欠けます。
4.2 実行ファイルのプロパティから確認する
もう一つの原始的な方法は、実行ファイル (powershell.exe
または pwsh.exe
) のファイルバージョンを直接確認することです。
GUIでの確認方法:
- エクスプローラーで
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
(Windows PowerShell) またはC:\Program Files\PowerShell\7\pwsh.exe
(PowerShell 7) を見つけます。 - ファイルを右クリックし、「プロパティ」を選択します。
- 「詳細」タブを開くと、「ファイルバージョン」や「製品バージョン」が確認できます。
PowerShellコマンドでの確認方法:
Get-Command
と FileVersionInfo
プロパティを組み合わせることで、コマンドラインからファイルバージョンを取得できます。
Windows PowerShellの場合:
powershell
(Get-Command powershell.exe).FileVersionInfo.ProductVersion
PowerShell 7以降の場合:
powershell
(Get-Command pwsh.exe).FileVersionInfo.ProductVersion
この方法は、$PSVersionTable.PSVersion
とほぼ同じ情報を提供しますが、$PSVersionTable
の方がエンジン自身の情報を直接反映しているため、より信頼性が高いと言えます。
4.3 複数のPowerShellバージョンの共存と使い分け
前述の通り、Windows PowerShell (5.1) と PowerShell 7以降は共存できます。これは、現代のWindows環境ではごく一般的な構成です。
powershell.exe
を実行すると、Windows PowerShell 5.1が起動します。pwsh.exe
を実行すると、インストールされているPowerShell 7以降が起動します。
Windows TerminalやVS Codeのようなモダンなツールでは、起動するプロファイルを切り替えることで、使用するPowerShellのバージョンを簡単に選択できます。
- VS Code: 右下のステータスバーに表示されるバージョンをクリックすると、インストールされている他のPowerShellバージョンにセッションを切り替えることができます。
- Windows Terminal: 設定 (JSONファイル) で、”Windows PowerShell” と “PowerShell” (Core) のプロファイルを個別に定義できます。
古いスクリプトの互換性を維持するために powershell.exe
を使いつつ、新しい開発やクロスプラットフォームのタスクには pwsh.exe
を使う、といった使い分けが可能です。
4.4 PowerShellのアップデート方法
バージョンを確認したら、それが古いことに気づくかもしれません。セキュリティと機能の両面から、PowerShellを最新の状態に保つことは重要です。
- Windows PowerShell (5.1): Windows Updateを通じて更新されます。OSの一部として管理されているため、個別にメジャーバージョンをアップデートすることはできません。
- PowerShell (7以降):
-
Winget (Windows Package Manager): 最も簡単で推奨される方法です。
“`powershell
# インストールまたはアップデート
winget install –id Microsoft.PowerShell –source wingetプレビュー版をインストールする場合
winget install –id Microsoft.PowerShell.Preview –source winget
``
sudo apt install powershell
* **Microsoft Store**: 自動更新が有効になるため、手軽な方法です。
* **GitHubリリースページ**: MSI (Windows), PKG (macOS), RPM/DEB (Linux) などのインストーラーが直接ダウンロードできます。最新のリリース情報を確認するのに最適です。
* **Linux/macOSのパッケージマネージャー**:(Debian/Ubuntu) や
brew install –cask powershell` (macOS) など、各OSの標準的な方法でインストール・管理が可能です。
-
PowerShell 7以降は、起動時に新しいバージョンが利用可能かどうかを通知してくれる機能もあります。この通知が表示されたら、積極的にアップデートを検討しましょう。
結論:バージョン意識がPowerShellマスターへの第一歩
この記事では、PowerShellのバージョンを確認するための様々なコマンドと、その背景にある知識を詳細に解説しました。
- バージョン確認の最も確実な方法は、自動変数
$PSVersionTable
を使うことです。 $PSVersionTable
は、PSVersion
やPSEdition
といった詳細なプロパティを提供し、スクリプト内でピンポイントに利用できます。- スクリプトの互換性と堅牢性を確保するためには、
if
文による条件分岐や、#requires
ステートメントによる事前チェックが極めて有効です。 Get-Host
はホストアプリケーションの情報を返すものであり、PowerShellエンジン自体のバージョン確認には使用しないように注意が必要です。- Windows PowerShell (
powershell.exe
) と PowerShell 7以降 (pwsh.exe
) は共存可能であり、それぞれの特徴を理解して使い分けることが重要です。
PowerShellのバージョンを意識することは、単にコマンドを知っているというレベルから一歩進み、なぜそのコードが動くのか(あるいは動かないのか)を理解し、さまざまな環境で安定して動作する質の高いスクリプトを作成するための基礎となります。
PowerShellの世界は、常に進化し続けています。新しいバージョンがリリースされるたびに、公式のリリースノートに目を通し、追加された新機能や変更点を把握する習慣をつけることで、あなたの生産性はさらに向上するでしょう。
今日学んだ知識を武器に、自信を持ってPowerShellを使いこなし、日々の業務の自動化と効率化を加速させてください。