Windows
 Computer >> コンピューター >  >> システム >> Windows

PWSH.EXEとは?覚えておきたいPWSH構文(コマンドラインオプション)の一覧

PowerShellは、Microsoftが開発した最も強力なスクリプトツールのひとつです。この記事では、PWSH.exeとは何かを解説し、重要なPWSH構文の一覧をご紹介します。Windows PowerShellを使ったことがある方も多いでしょうが、PWSHは現在、Windows、macOS、Linuxで動作するクロスプラットフォーム対応のスクリプトツールへと進化しています。ただし、WSL(Windows Subsystem for Linux)上ではサポートされておらず、PWSHをログインシェルに設定するとWSLが不安定になる可能性がある点には注意が必要です。

PWSH.EXEとは何か?

まず最初に、ひとつ整理しておきましょう。PWSH.EXEはPowerShellの新しい名称です。バージョン6以降は「PowerShell Core」と呼ばれています。以前はpowershell.exeという名前で、Windows(バージョン5.1)にインストールされているのを目にしたことがある方も多いはずです。そのため、WindowsでPowerShellを起動するたびに、次のようなメッセージが表示されます。

「Try the new cross-platform PowerShell https://aka.ms/pscore6.」

PowerShellとPowerShell Coreの違いについて詳しく知りたい方は、Microsoftの公式ドキュメントを参照してください。

そして現在、PowerShellはバージョン7に到達しました。バージョン6から大きな変更が加えられ、.NET Frameworkの代わりに.NET Core 3を採用しています。試してみたい方は、Windows 10へのPowerShell 7.0のインストール方法を参考にするとよいでしょう。

重要なPWSH構文

-File | -f:コマンドをスクリプトファイルに保存している場合、そのファイルを入力として使用できます。必要に応じて、ファイルに対して引数を渡すことも可能です。

pwsh -File .\test.ps1 -TestParam $env:windir

-Command | -c:コマンドやScriptBlockを実行するために使用します。ScriptBlockとは、{}(波括弧)で囲まれた一連の処理のことです。

pwsh -Command {Get-WinEvent -LogName security}

または、以下のようにパイプ経由で渡すこともできます。

@'
"in"

"hi" |
% { "$_ there" }

"out"
'@ | powershell -NoProfile -Command -

-EncodedCommand | -e | -ec:複雑な引用符や波括弧を扱う必要がある場合に使用します。コマンドをBase64エンコードして渡すことで、クォートの衝突を回避できます。

$command = 'dir "c:\program files" '
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
pwsh -encodedcommand $encodedCommand

-Login | -l:LinuxおよびmacOS環境で、PowerShellをログインシェルとして起動します。/bin/shを使用して、/etc/profileや~/.profileなどのログインプロファイルを実行します。Windowsでは利用できません。

設定の際は、/etc/shellsに記載されている絶対パスを確認する必要があります。chshユーティリティを使えば、現在のユーザーのデフォルトシェルをpwshに変更できます。

chsh -s /usr/bin/pwsh

-SettingsFile | -settings

グローバル設定をローカルのプロジェクト設定で上書きしたい場合は、このオプションで設定ファイルを指定します。システム全体の設定はpowershell.config.jsonに格納されています。

pwsh -SettingsFile c:\myproject\powershell.config.json

PWSH構文の完全なリスト

pwsh[.exe]
[[-File] <filePath> [args]]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-ConfigurationName <string>]
[-CustomPipeName <string>]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-InputFormat {Text | XML}]
[-Interactive]
[-Login]
[-MTA]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-SettingsFile <SettingsFilePath>]
[-STA]
[-Version]
[-WindowStyle <style>]
[-WorkingDirectory <directoryPath>]

pwsh[.exe] -h | -Help | -? | /?

さらに詳しい情報が必要な場合は、Microsoft公式ドキュメント(docs.microsoft.com / Microsoft Learn)をご覧ください。

  1. ダブルVPNとは?仕組み・メリット・デメリットと使うべきケースを徹底解説

    オンラインのプライバシーとセキュリティに関する問題が年々深刻化する中、それらに対抗するために数多くのセキュリティソリューションやインフラが開発されてきました。その代表格がVPNと、さらに一歩進んだダブルVPNです。 当サイトでは、おすすめのVPNサービスとその機能について、すでに詳しく解説しています。 (各カテゴリーのおすすめVPNや高度な機能については、以下の記事もぜひご覧ください) Windows 10/8/7対応 おすすめVPN 13選 Mac用 無料VPN おすすめ12選 Linuxに最適なVPN Android向けVPNアプリ トップ10 iPad・iPhone用 無料VPN おす

  2. Windows 11の「推奨アクション」とは?電話発信や予定作成を自動化する便利機能の使い方

    Googleなどの検索エンジンでは、検索ワードを入力すると自動的に候補が表示されますよね。実はMicrosoftも、Windows 11ユーザー向けにこれによく似た機能を導入しました。その機能の名前は「推奨アクション(Suggested Actions)」。Windows上での操作をよりシンプルにすることを目指した、Microsoftの最新の取り組みです。この記事では、推奨アクションの使い方と効果的な活用方法について詳しく解説します。Windows 11で推奨アクションを有効にする方法推奨アクション機能を有効にすると、電話の発信やイベント(予定)の登録を自動的に行えるようになります。電話番号や