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 コマンドのヘルプの例を次に示します。
パラメータが角括弧 [] で囲まれている場合、それらはオプションです。
つまり、この例では、ログ自体の名前とパラメータの名前が必要です。
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 が括弧内に書き込まれていることがわかります。
これは、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