初心者向けの PowerShell

PowerShell を使用する場合、最初に遭遇するのはコマンド (コマンドレット) です。
コマンド呼び出しは次のようになります。

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

カスタマーサービス

PowerShell のヘルプには、Get-Help コマンドを使用してアクセスします。 パラメータの XNUMX つを指定できます: example、detailed、full、online、showWindow。

Get-Help Get-Service -full は、Get-Service コマンドの操作の完全な説明を返します。
Get-Help Get-S* は、Get-S* で始まる使用可能なすべてのコマンドと関数を表示します。

Microsoft の公式 Web サイトにも詳細なドキュメントがあります。

Get-Evenlog コマンドのヘルプの例を次に示します。

初心者向けの PowerShell

パラメータが角括弧 [] で囲まれている場合、それらはオプションです。
つまり、この例では、ログ自体の名前とパラメータの名前が必要です。 いいえ。 パラメータのタイプとその名前が括弧で囲まれている場合、このパラメータはオプションです。

EntryType パラメータを見ると、中括弧で囲まれた値がわかります。 このパラメータには、中括弧で囲まれた事前定義された値のみを使用できます。

パラメータが必須かどうかに関する情報は、以下の「必須」フィールドの説明で確認できます。 上の例では、Required が false に設定されているため、After 属性はオプションです。 次に、向かい側に「名前付き」と表示されている「位置」フィールドが表示されます。 これは、パラメータを名前でのみ参照できることを意味します。

Get-EventLog -LogName Application -After 2020.04.26

LogName パラメータには Named ではなく数値 0 が付いていたため、これは、名前なしでパラメータを参照できることを意味しますが、必要な順序で指定することで可能になります。

Get-EventLog Application -After 2020.04.26

次の順序を想定してみましょう。

Get-EventLog -Newest 5 Application

エイリアス

PowerShell のコンソールから通常のコマンドを使用できるように、エイリアス (Alias) があります。

Set-Location コマンドのエイリアスの例は cd です。

つまり、コマンドを呼び出す代わりに、

Set-Location “D:”

私たちは使うことができます

cd “D:”

歴史

コマンド呼び出しの履歴を確認するには、Get-History を使用します。

履歴からコマンドを実行 Invoke-History 1; 履歴2の呼び出し

履歴をクリア

パイプライン

PowerShell のパイプラインは、最初の関数の結果が XNUMX 番目の関数に渡されるときです。 パイプラインを使用した例を次に示します。

Get-Verb | Measure-Object

しかし、パイプラインをよりよく理解するために、より簡単な例を見てみましょう。 チームを獲得しました

Get-Verb "get"

Get-Help Get-Verb -Full ヘルプを呼び出すと、Verb パラメーターがパイプライン入力を受け取り、ByValue が括弧内に書き込まれていることがわかります。

初心者向けの PowerShell

これは、Get-Verb の "get" を "get" に書き換えることができることを意味します。 動詞を取得します。
つまり、最初の式の結果は文字列であり、値によるパイプライン入力を介して Get-Verb コマンドの Verb パラメーターに渡されます。
パイプライン入力を ByPropertyName にすることもできます。 この場合、Verb という名前の似たプロパティを持つオブジェクトを渡します。

Variables

変数は厳密に型指定されておらず、先頭に $ を付けて指定されます

$example = 4

記号 > はデータを入れることを意味します
たとえば、$example > File.txt
この式を使用して、$example 変数のデータをファイルに書き込みます。
Set-Content -Value $example -Path File.txt と同じ

配列

配列の初期化:

$ArrayExample = @(“First”, “Second”)

空の配列の初期化:

$ArrayExample = @()

インデックスによる値の取得:

$ArrayExample[0]

配列全体を取得します。

$ArrayExample

要素を追加する:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

並べ替え:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

ただし、この並べ替えでは配列自体は変更されません。 そして、配列にソートされたデータを含めたい場合は、ソートされた値を割り当てる必要があります。

$ArrayExample = $ArrayExample | Sort

PowerShell では配列から要素を削除する方法はありませんが、次のように行うことができます。

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

配列の削除:

$ArrayExample = $null

ループ

ループ構文:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

ブレーク ループから抜けます。

continue 要素をスキップします。

条件付きステートメント

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

演算

関数定義:

function Example () {
  echo &args
}

機能の起動:

Example “First argument” “Second argument”

関数での引数の定義:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

機能の起動:

Example -first “First argument” -second “Second argument”

例外

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

出所: habr.com

コメントを追加します