PowerShellの使い方

 PowerShellは、Windowsの強力なコマンドラインシェルであり、スクリプト言語です。システム管理、自動化、データ処理など、幅広いタスクを実行できます。

ここでは、PowerShellの基本的な使い方について説明します。

1. PowerShellの起動

  • スタートメニューから起動:
    • Windowsのスタートボタンを右クリックし、「Windows PowerShell」または「Windows PowerShell (管理者)」を選択します。管理者権限が必要な場合は「管理者」付きを選択します。
  • 検索から起動:
    • Windows検索バーに「PowerShell」と入力し、表示された「Windows PowerShell」をクリックします。

2. コマンドレットの基本的な使い方

PowerShellのコマンドは「コマンドレット」と呼ばれ、通常「動詞-名詞」の形式をしています(例: Get-Process, Set-Location)。

  • ヘルプの表示:
    • コマンドレットの使い方がわからない場合は、Get-Help コマンドレットを使用します。
      PowerShell
      Get-Help Get-ChildItem
      
    • さらに詳しい情報を得るには、-Full-Examples パラメータを追加します。
      PowerShell
      Get-Help Get-ChildItem -Full
      Get-Help Get-ChildItem -Examples
      
  • コマンドレットの検索:
    • 利用可能なコマンドレットの一覧を表示するには、Get-Command を使用します。
      PowerShell
      Get-Command
      
    • 特定のキーワードを含むコマンドレットを探すには、ワイルドカード * を使用します。
      PowerShell
      Get-Command *Service*
      

3. よく使う基本的なコマンドレット

いくつか基本的なコマンドレットを紹介します。

  • ディレクトリの移動: Set-Location (エイリアス: cd)
    PowerShell
    Set-Location C:\Users\YourName\Documents # 絶対パスで移動
    Set-Location .. # 親ディレクトリへ移動
    Set-Location MyFolder # 現在のディレクトリのサブフォルダへ移動
    
  • ファイルやディレクトリの表示: Get-ChildItem (エイリアス: dir, ls)
    PowerShell
    Get-ChildItem # 現在のディレクトリのファイルとフォルダを表示
    Get-ChildItem C:\Windows # 指定したディレクトリの内容を表示
    Get-ChildItem -Path C:\MyData -Filter *.log # 特定の拡張子のファイルのみ表示
    Get-ChildItem -Recurse # サブディレクトリも再帰的に表示
    
  • ファイルの内容表示: Get-Content (エイリアス: cat)
    PowerShell
    Get-Content MyFile.txt
    
  • ファイルやディレクトリの作成: New-Item
    PowerShell
    New-Item -ItemType Directory -Name MyNewFolder # 新しいフォルダを作成
    New-Item -ItemType File -Name MyNewFile.txt # 新しいファイルを作成
    
  • ファイルのコピー: Copy-Item
    PowerShell
    Copy-Item SourceFile.txt DestinationFolder # ファイルをコピー
    
  • ファイルやディレクトリの削除: Remove-Item (エイリアス: del, rm)
    PowerShell
    Remove-Item MyFile.txt # ファイルを削除
    Remove-Item MyFolder -Recurse # フォルダとその中のファイルを削除
    
  • プロセスの表示: Get-Process
    PowerShell
    Get-Process # 現在実行中の全プロセスを表示
    Get-Process -Name chrome # 特定のプロセスの情報を表示
    

4. パイプライン (|) の活用

PowerShellの大きな特徴は、パイプラインを使ってコマンドレットの出力を別のコマンドレットの入力として渡せることです。これにより、複雑な処理を段階的に記述できます。

: 実行中のプロセスの中から「chrome」という名前のプロセスを検索し、そのプロセスを停止する。

PowerShell
Get-Process -Name chrome | Stop-Process
  • Get-Process -Name chrome でChromeのプロセスを取得し、
  • | (パイプライン) でその結果を Stop-Process に渡し、Chromeのプロセスを停止します。

5. 変数とオブジェクト

PowerShellでは、$ を使って変数を定義できます。また、コマンドレットはテキストではなく「オブジェクト」を出力するため、より構造化されたデータを扱えます。

PowerShell
$myVariable = "Hello, PowerShell!"
Write-Host $myVariable # 変数の内容を表示

$processes = Get-Process
$processes[0].Name # 最初のプロセスの名前を表示

6. スクリプトの作成と実行

PowerShellのコマンドをテキストファイル(拡張子 .ps1)に保存することで、スクリプトとしてまとめて実行できます。

  1. スクリプトファイルの作成: テキストエディタ(メモ帳、VS Codeなど)で、PowerShellのコマンドを記述し、.ps1 拡張子で保存します。 例: MyScript.ps1
    PowerShell
    # MyScript.ps1
    Write-Host "Hello from my PowerShell script!"
    Get-Date
    
  2. 実行ポリシーの設定: デフォルトでは、セキュリティのためにスクリプトの実行が制限されています。初めてスクリプトを実行する際は、実行ポリシーを変更する必要があります。管理者権限でPowerShellを起動し、以下のコマンドを実行します。
    PowerShell
    Set-ExecutionPolicy RemoteSigned
    
    RemoteSigned は、自分で作成したスクリプトは実行でき、インターネットからダウンロードしたスクリプトは署名されている場合に実行できるようにするポリシーです。自己責任で変更してください。)
  3. スクリプトの実行: PowerShellで、スクリプトファイルのパスを指定して実行します。
    PowerShell
    .\MyScript.ps1 # 現在のディレクトリにあるスクリプトを実行
    C:\Scripts\MyScript.ps1 # 絶対パスでスクリプトを実行
    

7. 高度な使い方

PowerShellはさらに以下のような高度な機能を持っています。

  • 関数: 独自のコマンドレットを作成できます。
  • 条件分岐 (if/else): 条件に応じて処理を分岐させます。
  • 繰り返し (for/foreach/while): 繰り返し処理を実行します。
  • モジュール: 関連するコマンドレットや関数をまとめて管理し、再利用性を高めます。
  • エラー処理: スクリプト実行中のエラーを適切に処理します。
  • リモート処理: ネットワーク上の別のコンピューターに対してコマンドを実行できます。

PowerShellは非常に奥深く、システム管理や自動化を行う上で強力なツールとなります。まずは基本的なコマンドレットから触ってみて、徐々にパイプラインやスクリプト作成に挑戦していくと良いでしょう。

コメント

このブログの人気の投稿

PortProtonとは

HTA+JScriptでウインドウのサイズ変更するプログラム

JavaScript ステートメント一覧

中居・フジテレビ問題時系列

ツイフェミってなに?おじさんでもわかるように教えてGemini先生

【VBScript】文字列の置換

「Google 最高の画像モデルである Nano Banana」とは、いったい何ですか?

HTA+VBScriptでフォルダ選択ダイアログボックスを表示する方法