ラージビッグバナー(970x90)

Windows

【PowerShell】よく使うコマンド一覧&これだけは覚えとけ

更新日:

ビッグバナー(piglog)728px

仕事でpowershellを使って何かをすることが多いのだけど、いかんせんコマンドが覚えられない・・・ので、自分用のとりあえずメモを作成します。

基本的に簡単なコマンド類しか書かないつもりです。スクリプト化したものは別エントリにて紹介したい。。。と思ってます。

とりあえずメモ 目次

とりあえず書き連ねていって、ひとつの項目がある程度のボリュームになったら一つのエントリとしてアップし直したいです。

  • PowerShellバージョン確認
  • ネットワークカテゴリの確認と切り替え
  • 改行
  • 置換
  • スクリプトに引数を付与
  • スクリプトの引数チェック
  • Whileループ
  • if ~終了コード確認~
  • 区切り文字を指定して文字列を分ける
  • 行頭の空白を削除
  • PATHが存在すれば削除
  • PATHが存在しなければフォルダを作成
  • 行頭に#がある行を除外する

とりあえずメモ 詳細

PowerShellのバージョン確認

ほんとにただPowerShellバージョンだけ知りたければ以下。

 

ネットワークカテゴリの確認と切り替え

ネットワークのカテゴリとは、パブリックネットワークとかプライベートネットワークとかいわれるやつ。ドメイン環境なのであれば、ドメインネットワークですね。

まずは確認は以下。

ほんとにただネットワークカテゴリだけ知りたければ以下。

切り替えは以下。-Name は、get-NetConnectionProfile で表示されるName。

 

改行

Get-Content で改行するしないについて。ヒアドキュメントを使うと簡単に表すことができる。が、本当はVBSなんかで、『&』で書くことをイメージしていたというか、書きたかったのだがどうやったらいいかわからん。。。たとえばコマンドを複数行にわたって書くときはバッククオートを使うみたいなイメージです。Linuxならを使うみたいな。

 

置換

文字列を置換したいとき。書き方としては以下。

以下では、¥を_に置換後、:を削除している。

 

スクリプトに引数を付与

 

スクリプトの引数チェック

Length で引数の個数を確認できます。
必要な引数の個数と合致しなければ、メッセージを出して exit します。

 

while ループ1

linuxでも同じ書き方です。6より小さければ $Count +1→ループ。

 

while ループ2

$Count が5よりおおきくなったらループ抜ける。それ以外(4まで)は$Count +1→ループ。

 

if ~終了コードの確認~

イメージし易いように、前の処理が正常終了した場合はサーバを再起動する、異常終了したら exitコード1でexitする、という動き。

 

区切り文字を指定して文字列を分ける

Linuxでいうawk的なものです。

「:」をデリミタ(区切り文字)にして、2つ目をとる。0スタートなので、2つ目を取得したければ1を指定する。

デリミタとする文字が複数存在する場合、最初のデリミタ(以下の例では「:」)で2つに区切り2つ目を取得する。

 

行頭の空白を削除

 

PATHが存在すれば削除

 

PATHが存在しなければフォルダを作成

 

行頭に#がついている行を除外する

Select-Stringオプションの話になってしまうのですが、、、
使い方の想定としては、なにかの処理をする対象の一覧(patch_list.txt)があって、その中で、対象外にしたいものがある場合に、#を行頭につけて除外できるようにする、というイメージをしています。

 

 

以上です。

 

↓↓↓ 持っていると便利な一冊。

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Windows
-, ,

Copyright© ぴぐろぐ , 2019 All Rights Reserved.