Help us understand the problem. What is going on with this article?

PowerShellの使い方

More than 5 years have passed since last update.

0. はじめに

個人的メモです。あまり丁寧には書いていません。

1. 予備知識

用語

用語 説明
アイテム ファイル、ディレクトリ、レジストリなどの総称
ロケーション カレントディレクトリのパス
コマンドレット Linuxやコマンドプロンプトでいうところのコマンド

注意点

  • 出力はテキストではなく、オブジェクト
  • 大量出力するようなバイナリファイルの実行は避けるのが無難

2. ポリシーの変更

PowerShellはデフォルトではスクリプトの実行ポリシーが厳しくそのままでは実行できません。

ポリシーチェック
Get-ExecutionPolicy

デフォルトでは「Restricted」となっているはずです。詳細はステータスは下記のMSドキュメントを参照。
Get-ExecutionPolicy コマンドレットの使用

ポリシー変更
Set-ExecutionPolicy RemoteSigned

これを実行することで、「ダウンロードしたスクリプトは信頼できる発行元が署名した場合にのみ実行できます」ということなので、ローカルのスクリプトは実行できるようになります。

3. exeファイルの実行とエイリアス

アンパサンドとシングルクオート用いて、exeファイルの実行を行うことができます。
下記では64bit環境のWindowsで32bit版IEを起動するための例を記載します。

exeファイルの実行
& 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'

上記実行ファイルにieというエイリアスを設定するためには以下のようにします。

エイリアスの作成
Set-Alias ie "C:\Program Files (x86)\Internet Explorer\iexplore.exe"

設定されているエイリアスは以下のコマンドで確認できます。

エイリアスの確認
Get-Alias

設定しているエイリアスを削除するためには以下のコマンドを実行します。

エイリアスの削除
Remove-Item alias:ie

4. よく使うコマンドレット

  • ファイル操作系
コマンドレット エイリアス 説明 TechNet
Get-Children dir, gci, ls 子アイテムの取得 Link
Copy-Item copy, cp, cpi アイテムのコピー Link
Move-Item mi, move, mv アイテムの移動 Link
Rename-Item ren, rni アイテムのリネーム Link
Remove-Item del, erase, rd, ri, rm, rmdir アイテムの削除 Link
Get-Content cat, gc, type アイテムの内容を取得 Link
Select-String sls ファイルまたは文字列のテキスト検索
Linuxで言うところのgrepコマンド
パイプ時はオブジェクトが渡るのでLinux系とは少し動作が異なる
Link
  • ロケーション系
コマンドレット エイリアス 説明 TechNet
Get-Location gl, pwd ロケーションの取得 Link
Set-Location cd, chdir, sl ロケーションの設定 Link
Push-Location pushd ロケーションをスタックに格納 Link
Pop-Location popd ロケーションをスタックから取り出す Link
  • システム管理系
コマンドレット エイリアス 説明 TechNet
Get-Service gsv サービスの取得 Link
Start-Service sasv サービスの起動 Link
Stop-Service spsv サービスの停止 Link
Restart-Service なし サービスの再起動 Link
Get-Process gps, ps プロセスの取得 Link
Stop-Process kill, spps プロセスの停止 Link
Get-EventLog なし イベントログの取得 Link
Show-EventLog なし イベントログ(GUI)の起動 Link
  • オブジェクト操作系

サンプルコードとか載せながらでないとわかりにくいので次回に書く予定

2014/12/9 追記
書きました。
http://qiita.com/Kirito1617/items/bd3937fb26c668eca078

  • その他
コマンドレット エイリアス 説明 TechNet
Get-Command gcm コマンドの一覧を取得 Link
Get-History ghy, h, history コマンド履歴を表示 Link
Invoke-History ihy, r コマンド履歴から実行 Link
Invoke-WebRequest iwr, curl, wget Webリクエストを実行する Link
Start-Transcript なし 出力内容のファイル書き出し開始 Link
Stop-Transcript なし 出力内容のファイル書き出し停止 Link

5. おわりに

次回は、オブジェクト操作周りのコマンドレットについて書く予定です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした