Windows か Linux か MacOS か調べる
PowerShell はマルチプラットフォームで動作するスクリプトです。動作しているOSが Windows か Linux か MacOS か判定する方法を紹介します。
$IsWindows、$IsLinux、$IsMacOS という変数がブール値で True/False を格納しています。Windows パソコンでは下記のような結果になります。
PS C:\tmp> $IsWindows
True
PS C:\tmp> $IsLinux
False
PS C:\tmp> $IsMacOS
False
Windows かどうかだけ確かめるならば、$PSVersionTable 変数のメンバ OS の文字列が "Windows" を含むか判定してもいいですが、if 文とともに使うならば断然 $IsWindows を使って判定するほうが簡単です。
PS C:\tmp> $PSVersionTable
Name Value
---- -----
PSVersion 7.2.5
PSEdition Core
GitCommitId 7.2.5
OS Microsoft Windows 10.0.19044
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0