1. Kirito1617

    Posted

    Kirito1617
Changes in title
+PowerShellの使い方
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,113 @@
+#0. はじめに
+個人的メモです。あまり丁寧には書いていません。
+
+#1. 予備知識
+## 用語
+
+| 用語 | 説明 |
+|:--------------|:----|
+|アイテム | ファイル、ディレクトリ、レジストリなどの総称 |
+|ロケーション | カレントディレクトリのパス |
+|コマンドレット | Linuxやコマンドプロンプトでいうところのコマンド |
+
+## 注意点
+* 出力はテキストではなく、オブジェクト
+* 大量出力するようなバイナリファイルの実行は避けるのが無難
+
+#2. ポリシーの変更
+PowerShellはデフォルトではスクリプトの実行ポリシーが厳しくそのままでは実行できません。
+
+```ps1:ポリシーチェック
+Get-ExecutionPolicy
+```
+
+デフォルトでは「Restricted」となっているはずです。詳細はステータスは下記のMSドキュメントを参照。
+[Get-ExecutionPolicy コマンドレットの使用](http://technet.microsoft.com/ja-jp/library/ee176847.aspx)
+
+
+```ps1:ポリシー変更
+Set-ExecutionPolicy RemoteSigned
+```
+
+これを実行することで、「ダウンロードしたスクリプトは信頼できる発行元が署名した場合にのみ実行できます」ということなので、ローカルのスクリプトは実行できるようになります。
+
+#3. exeファイルの実行とエイリアス
+アンパサンドとシングルクオート用いて、exeファイルの実行を行うことができます。
+下記では64bit環境のWindowsで32bit版IEを起動するための例を記載します。
+
+```ps1:exeファイルの実行
+& 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
+```
+
+上記実行ファイルにieというエイリアスを設定するためには以下のようにします。
+
+```ps1:エイリアスの作成
+Set-Alias ie "C:\Program Files (x86)\Internet Explorer\iexplore.exe"
+```
+
+設定されているエイリアスは以下のコマンドで確認できます。
+
+```ps1:エイリアスの確認
+Get-Alias
+```
+
+設定しているエイリアスを削除するためには以下のコマンドを実行します。
+
+```ps1:エイリアスの削除
+Remove-Item alias:ie
+```
+
+#4. よく使うコマンドレット
+* ファイル操作系
+
+| コマンドレット | エイリアス | 説明 |TechNet|
+|:--------------|:----------|:-----|:-----------|
+|Get-Children | dir, gci, ls |子アイテムの取得 |[Link](http://technet.microsoft.com/ja-jp/library/hh849800.aspx)|
+|Copy-Item | copy, cp, cpi | アイテムのコピー | [Link](http://technet.microsoft.com/ja-jp/library/hh849793.aspx)|
+|Move-Item | mi, move, mv | アイテムの移動 | [Link](http://technet.microsoft.com/ja-jp/library/hh849852.aspx)|
+|Rename-Item | ren, rni | アイテムのリネーム | [Link](http://technet.microsoft.com/ja-jp/library/hh849763.aspx)|
+|Remove-Item | del, erase, rd, ri, rm, rmdir | アイテムの削除 | [Link](http://technet.microsoft.com/ja-jp/library/hh849765.aspx)|
+|Get-Content | cat, gc, type | アイテムの内容を取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849787.aspx)|
+|Select-String | sls | ファイルまたは文字列のテキスト検索<br>Linuxで言うところのgrepコマンド<br>パイプ時はオブジェクトが渡るのでLinux系とは少し動作が異なる | [Link](http://technet.microsoft.com/ja-jp/library/hh849903.aspx)|
+
+* ロケーション系
+
+| コマンドレット | エイリアス | 説明 |TechNet|
+|:--------------|:----------|:-----|:-----------|
+|Get-Location | gl, pwd | ロケーションの取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849835.aspx)|
+|Set-Location | cd, chdir, sl | ロケーションの設定 | [Link](http://technet.microsoft.com/ja-jp/library/hh849850.aspx)|
+|Push-Location | pushd | ロケーションをスタックに格納 | [Link](http://technet.microsoft.com/ja-jp/library/hh849855.aspx)|
+|Pop-Location | popd | ロケーションをスタックから取り出す | [Link](http://technet.microsoft.com/ja-jp/library/hh849842.aspx)|
+
+* システム管理系
+
+| コマンドレット | エイリアス | 説明 |TechNet|
+|:--------------|:----------|:-----|:-----------|
+|Get-Service | gsv | サービスの取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849804.aspx)|
+|Start-Service | sasv | サービスの起動 | [Link](http://technet.microsoft.com/ja-jp/library/hh849825.aspx)|
+|Stop-Service | spsv | サービスの停止 | [Link](http://technet.microsoft.com/ja-jp/library/hh849790.aspx)|
+|Restart-Service | なし | サービスの再起動 | [Link](http://technet.microsoft.com/ja-jp/library/hh849823.aspx)|
+|Get-Process | gps, ps | プロセスの取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849832.aspx)|
+|Stop-Process | kill, spps | プロセスの停止 | [Link](http://technet.microsoft.com/ja-jp/library/hh849781.aspx)|
+|Get-EventLog | なし | イベントログの取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849834.aspx)|
+|Show-EventLog | なし | イベントログ(GUI)の起動 | [Link](http://technet.microsoft.com/ja-jp/library/hh849826.aspx)|
+
+* オブジェクト操作系
+
+サンプルコードとか載せながらでないとわかりにくいので次回に書く予定
+
+* その他
+
+| コマンドレット | エイリアス | 説明 |TechNet|
+|:--------------|:----------|:-----|:-----------|
+|Get-Command | gcm | コマンドの一覧を取得 | [Link](http://technet.microsoft.com/ja-jp/library/hh849711.aspx)|
+|Get-History | ghy, h, history | コマンド履歴を表示 | [Link](http://technet.microsoft.com/ja-jp/library/hh849691.aspx)|
+|Invoke-History | ihy, r | コマンド履歴から実行 | [Link](http://technet.microsoft.com/ja-jp/library/hh849737.aspx)|
+|Invoke-WebRequest | iwr | Webリクエストを実行する | [Link](http://technet.microsoft.com/en-us/library/hh849901.aspx)|
+|Start-Transcript | なし | 出力内容のファイル書き出し開始 | [Link](http://technet.microsoft.com/ja-jp/library/hh849687.aspx)|
+|Stop-Transcript | なし | 出力内容のファイル書き出し停止 | [Link](http://technet.microsoft.com/ja-jp/library/hh849688.aspx)|
+
+
+
+#5. おわりに
+次回は、オブジェクト操作周りのコマンドレットについて書く予定です。