ホームページ » の仕方 » PowerShellでコマンドレットを使用することを学ぶオタク学校

    PowerShellでコマンドレットを使用することを学ぶオタク学校

    コマンドプロンプトでipconfigまたはpingを使用したことがあれば、PowerShellの忍者になる途中です。このGeek Schoolのインストールでコマンドレットを発見したら、ぜひ参加してください。.

    PowerShellを紹介した最初の記事を必ずチェックしてください。そして、私たちのシリーズの残りの部分を一週間中お楽しみに。.

    コマンドレットの解剖学

    シリーズの最初の部分で、次のようなコマンドレットを見ました。

    更新ヘルプ

    PowerShellコマンドレットには動詞 - 名詞の構文があります。注意すべき重要なことは、コマンドレットが複数の結果を返す場合でも、名詞は常に単数形であることです。 PowerShellで有効な動詞の一覧を表示するには、Get-Verbコマンドレットを使用します。.

    合法動詞を知っていて、単数名詞規則を覚えていると、コマンドレット名を推測するのに非常に役立ちます。例えば、あなたがしたいとします。 取得する のリスト サービス そして彼らの地位 - そうです、それはGet-Serviceと同じくらい簡単です。どう思う? 取得する 実行中のリスト プロセス - そうです、Get-Processがうまくいくでしょう.

    取得プロセス

    これにより、どんなテクノロジでも簡単に作業できます。たとえば、Exchangeコマンドレットを読み込んだ場合は、次のようにしてサーバー上のメールボックスの一覧を簡単に取得できます。

    メールボックスの取得

    ただし、例外があります。取り替えて、他のすべての技術特有のコマンドは接頭辞を必要とするでしょう。たとえば、現在リモートデスクトップ経由でログオンしているユーザーを取得する場合は、次のように入力します。

    Get-RDUserSession

    下のスクリーンショットで見ることができます.

    注:このスクリーンショットはServer 2012のボックス上で撮影されたもので、テクノロジ固有のモジュールの大部分を見つけることができる場所です。.

    しばらく前に、PowerShellのゴッドファーザーであるDon Jonesの記事を読みました。彼は、Exchangeがこのプレフィックスがコマンドレットに追加される前に出荷されたため、それらを実装していなかったと説明しました。.

    エイリアス

    PowerShellに付属しているもう1つの機能は、同じコマンドを実行する方法が複数あることです。それらについての素晴らしいことは、それらがあなたがコマンドプロンプトで使用したかもしれない多くのコマンドをいくつかのLinuxエイリアスと同様に含んでいたということです。たとえば、PowerShellでは、次のようにしてディレクトリの一覧を取得できます。

    Get-ChildItem

    コマンドプロンプトを使用していましたか?心配しないで、彼らはあなたがカバーしています.

    Linuxの経歴がありますか?彼らはあなたもそこで覆っていますか.

    あなたが数年間スクリプトを書いてきたとき、あなたは怠惰になり、エイリアスを頻繁に使い始める傾向がありますが、これは私たちのコードを読むことになる新参者を助けません。エイリアスがどのようなコマンドを実行しているのかを確認するには、次のようにします。

    Get-Alias -Name ls

    一方、ゲームを強化する時期が来たと感じる場合は、定義パラメーターを使用して、コマンドレットのすべてのエイリアスを取得できます。

    Get-ChildItem - 定義Get-ChildItem

    他の背景から来た場合は、次のようにして独自のエイリアスを追加できます。

    New-Alias -Name icanhazfilez -Value Get-ChildItem

    明らかに、「icanhazfilez」を新しいエイリアスの名前に、Get-ChildItemをフードの下で実行したいコマンドレットに置き換える必要があります。.

    注意すべきことは、シェルを閉じると、定義したすべてのエイリアスが失われることです。あなたはあなたのプロファイルスクリプトにそれらの定義を追加することによってこれを回避することができます.

    パラメータの切り捨て

    Windows PowerShellでは、パラメータ名があいまいになるまで、つまり、PowerShellがどのパラメータについて話しているのか判断できなくなるまで、パラメータ名を切り捨てることもできます。例えば:

    Get-Service -Name 'Apple Mobile Device' - コンピュータ名localhost

    と同じです:

    Get-Service -Na 'Apple Mobile Device' -com localhost

    もしあなたが万が一パラメータ名をあいまいにしすぎるとエラーになります。.

    従来のコマンド

    最後に、あなたが知っていて愛しているコマンドはPowerShellでも機能します。.

    ping www.google.com

    pingなどの従来のアプリケーションでは文字列が出力されることを忘れないでください。PowerShellコマンドレットを使用して同じことを実行するためのより良い方法がよくあります。.

    長い文字列を出力する代わりに、オブジェクトを残します。これについては、明日のGeek Schoolのエディションで見ていきます。.