TechEd 2013のベスト:Powershell Unplugged

読書時間アイコン 9分。 読んだ


読者は MSpoweruser のサポートを支援します。私たちのリンクを通じて購入すると、手数料が発生する場合があります。 ツールチップアイコン

MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む

マイクロソフトは、 チャンネル9で利用可能なTechEdでのセッション、それは素晴らしいリソースと豊富な情報です。 私はゆっくりとセッションをふるいにかけてきました。これは、ニューオーリンズでのTechEd2013の最高の講演に関する継続的なシリーズです。

著名なエンジニアであるJeffreySnoverが、PowerShellの使用を開始する方法の概要を説明します。 Powershellは、特にWindows Azureに深く関わっている場合、Microsoft内でますます重要になっています。 Microsoftは、レガシーの理由により、コマンドプロンプトを大幅に更新しないことを決定しました。

PowerShell4.0の新機能は次のとおりです。

WindowsPowerShellの新機能

  • WindowsPowerShellの望ましい状態の構成 (DSC)は、Windows PowerShell 4.0の新しい管理システムであり、ソフトウェアサービス、およびこれらのサービスが実行される環境の構成データの展開と管理を可能にします。 DSCの詳細については、を参照してください。 WindowsPowerShellの望ましい状態の構成を開始する.
  • 保存-ヘルプ リモートコンピューターにインストールされているモジュールのヘルプを保存できるようになりました。 Save-Helpを使用して、インターネットに接続されたクライアント(ヘルプが必要なすべてのモジュールが必ずしもインストールされているわけではありません)からモジュールヘルプをダウンロードしてから、保存したヘルプをリモート共有フォルダーまたはリモートコンピューターにコピーできます。インターネットにアクセスできません。
  • Windows PowerShellデバッガーが拡張され、Windows PowerShellワークフロー、およびリモートコンピューターで実行されているスクリプトのデバッグが可能になりました。 Windows PowerShellワークフローは、WindowsPowerShellコマンドラインまたはWindowsPowerShellISEのいずれかからスクリプトレベルでデバッグできるようになりました。 スクリプトワークフローを含むWindowsPowerShellスクリプトを、リモートセッションでデバッグできるようになりました。 リモートデバッグセッションは、切断されて後で再接続されるWindowsPowerShellリモートセッションで保持されます。
  • A 今すぐ実行 のパラメータ 登録-ScheduledJob & スケジュールされたジョブの設定 を使用して、ジョブの即時開始日時を設定する必要がなくなります。 トリガー パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
  • RestMethod の呼び出し & 呼び出す-WebRequest ここで、Headersパラメーターを使用してすべてのヘッダーを設定できるようになりました。 このパラメーターは常に存在していましたが、例外またはエラーが発生したWebコマンドレットのいくつかのパラメーターのXNUMXつでした。
  • 取得モジュール 新しいパラメータがあります、 完全修飾名、タイプの ModuleSpecification []を選択します。 名前 Get-Moduleのパラメーターで、モジュールの名前、バージョン、およびGUIDを使用してモジュールを指定できるようになりました。 以前と同様に、名前だけを使用してモジュールを指定することもできます。
  • Windows Server2012R2プレビューのデフォルトの実行ポリシー設定は次のとおりです。 RemoteSigned。 Windows 8.1プレビューでは、デフォルト設定に変更はありません。
  • Windows PowerShell 4.0以降、動的メソッド名を使用したメソッド呼び出しがサポートされています。
  • 非同期ワークフロージョブは、によって指定されたタイムアウト期間が削除されないようになりました。 PSElapsedTimeoutSec ワークフロー共通パラメータが経過しました。
  • 新しいパラメータ、 無期限に繰り返す、に追加されました 新規-JobTrigger & セット ジョブ トリガー コマンドレット。 これにより、を指定する必要がなくなります。 TimeSpan.MaxValue の値 繰り返し期間 スケジュールされたジョブを無期限に繰り返し実行するためのパラメーター。
  • A パススルー パラメータがに追加されました ジョブトリガーを有効にする & 無効にする-JobTrigger コマンドレット。 Passthruパラメーターは、コマンドによって作成または変更されたオブジェクトを表示します。
  • でワークグループを指定するためのパラメータ名 コンピュータの追加 & 削除-コンピューター コマンドレットに一貫性があります。 両方のコマンドレットがパラメーターを使用するようになりました ワークグループ名.
  • 新しい共通パラメータ、 パイプライン変数、 追加されました。 PipelineVariableを使用すると、パイプされたコマンド(またはパイプされたコマンドの一部)の結果を、パイプラインの残りの部分に渡すことができる変数として保存できます。
  • Windows PowerShellで、新しいキーワードを追加できるようになりました。
  • メソッド構文を使用したコレクションフィルタリングがサポートされるようになりました。
  •   取得プロセス コマンドレットに新しいスイッチパラメータがあります。 インクルードユーザー名.
  • 新しいコマンドレット、 Get-FileHashファイルハッシュに関する情報を取得する、が追加されました。
  • Windows PowerShell 4.0では、モジュールが デフォルトコマンドプレフィックス マニフェストにキーを入力するか、ユーザーがモジュールをインポートする場合 接頭辞 パラメータ、 エクスポートされたコマンド モジュールのプロパティには、モジュール内のコマンドに接頭辞が付いたものが表示されます。 モジュール修飾構文ModuleNameCommandNameを使用してコマンドを実行する場合、コマンド名にはプレフィックスを含める必要があります。
  • の値 $ PSVersionTable.PSVersion 4.0に更新されました。

Windows PowerShell統合スクリプト環境(ISE)の新機能

  • Windows PowerShell ISEは、WindowsPowerShellワークフローのデバッグとリモートスクリプトのデバッグの両方をサポートしています。
  • IntelliSenseのサポートが、WindowsPowerShellの望ましい状態の構成プロバイダーと構成に追加されました。

WindowsPowerShellワークフローの新機能

  • 新しいサポートが追加されました パイプライン変数 System Center Orchestratorで使用されるものなど、反復パイプラインのコンテキストでの共通パラメーター。 つまり、ストリーミングを使用して散在的に実行するのではなく、コマンドを単純に左から右に実行するパイプラインです。
  • パラメータバインディングが大幅に強化され、現在の実行スペースに存在しないコマンドなど、タブ補完シナリオの外部で機能するようになりました。
  • カスタムコンテナアクティビティのサポートがWindowsPowerShellワークフローに追加されました。 アクティビティパラメータがタイプの場合 アクティビティXNUMX, アクティビティ[]-またはアクティビティの一般的なコレクション-ユーザーが引数としてスクリプトブロックを指定すると、Windows PowerShellワークフローは、通常のWindows PowerShellスクリプトからワークフローへのコンパイルと同様に、スクリプトブロックをXAMLに変換します。
  • クラッシュ後、WindowsPowerShellワークフローは自動的に管理対象ノードに再接続します。
  • スロットルできるようになりました Foreach-Parallel を使用したアクティビティステートメント スロットルリミット プロパティ。
  •   エラーアクション 共通パラメータに新しい有効な値があります。 サスペンド、それはワークフロー専用です。
  • アクティブなセッション、進行中のジョブ、および保留中のジョブがない場合、ワークフローエンドポイントが自動的に閉じるようになりました。 この機能は、自動閉鎖条件が満たされたときに、ワークフローサーバーとして機能しているコンピューター上のリソースを節約します。

WindowsPowerShellWebサービスの新機能

  • コマンドレットの実行中にWindowsPowerShellWebサービス(PSWS、管理OData IIS拡張機能とも呼ばれる)でエラーが発生すると、より詳細なエラーメッセージが呼び出し元に返されます。 さらに、エラーコードが続きます Windows AzureRESTAPIエラーコードのガイドライン.
  • エンドポイントは、APIバージョンを定義できるだけでなく、特定のAPIバージョンの使用を強制できるようになりました。 クライアントとサーバー間でバージョンの不一致が発生すると、クライアントとサーバーの両方にエラーが表示されます。
  • スキーマ内の欠落しているフィールドの値を自動的に生成することにより、ディスパッチスキーマの管理が簡素化されました。 ディスパッチスキーマが存在しない場合でも、有用な開始点として生成が行われます。
  • PSWSでの型の処理が改善され、デフォルトのコンストラクターとは異なるコンストラクターを使用する型がサポートされるようになりました。 PSタイプコンバータ WindowsPowerShellで。 これにより、PSWSで複合型を使用できます。
  • PSWSでは、クエリの実行中に関連するインスタンスを拡張できるようになりました。 より大きなバイナリコンテンツ(画像、オーディオ、ビデオなど)の場合、転送コストはかなり高く、エンコードせずにバイナリデータを転送することをお勧めします。 PSWSは、エンコードせずに転送するために名前付きリソースストリームを使用します。 名前付きリソースストリームは、 Edm.ストリーム タイプ。 名前付きリソースストリームごとに、GETまたはUPDATE操作用の個別のURIがあります。
  • ODataアクションは、リソースで非CRUD(作成、読み取り、更新、および削除)メソッドを呼び出すためのメカニズムを提供するようになりました。 アクションに定義されているURIにHTTPPOSTリクエストを送信することで、アクションを呼び出すことができます。 アクションのパラメーターは、POSTリクエストの本文で定義されています。
  • Windows Azureガイドラインとの整合性を保つために、すべてのURLを簡略化する必要があります。 に含まれる変更 セグメントとしてのキー 単一のキーをセグメントとして表すことができます。 以前と同様に、複数のキー値を使用する参照には、括弧で囲まれた値をコンマで区切る必要があることに注意してください。
  • PSWSのこのリリース以前は、作成、更新、または削除操作を実行する唯一の方法は、最上位のリソースでPost、Put、またはDeleteを呼び出すことでした。 PSWSのこのリリースの新機能であるContainedResource操作により、ユーザーは同じリソースに直接到達することなく、これらのリソースが含まれているかのようにアプローチして、同じ結果を得ることができます。

WindowsPowerShellWebアクセスの新機能

  • WebベースのWindowsPowerShellWebアクセスコンソールで、既存のセッションから切断して再接続できます。 A Save Webベースのコンソールのボタンを使用すると、セッションを削除せずにセッションから切断し、別のときにセッションに再接続できます。
  • サインインページにデフォルトのパラメータを表示できます。 デフォルトのパラメータを表示するには、に表示されるすべての設定の値を構成します オプションの接続設定 名前の付いたファイルのサインインページの領域 web.config。 あなたが使用することができます web.config XNUMX番目または代替のクレデンシャルセットを除くすべてのオプションの接続設定を構成するファイル。
  • Windows Server 2012 R2プレビューでは、Windows PowerShellWebAccessの承認ルールをリモートで管理できます。 The 追加-PswaAuthorizationRule & テスト-PswaAuthorizationRule コマンドレットに、管理者がリモートコンピューターから、またはWindows PowerShellWebAccessセッションで承認ルールを管理できるようにするCredentialパラメーターが含まれるようになりました。
  • セッションごとに新しいブラウザータブを使用することにより、XNUMXつのブラウザーセッションで複数のWindows PowerShellWebAccessセッションを使用できるようになりました。 WebベースのWindowsPowerShellコンソールで新しいセッションに接続するために、新しいブラウザーセッションを開く必要がなくなりました。

WindowsPowerShell4.0の注目すべきバグ修正

  • ゲットカウンター フランス語版のWindowsで、アポストロフィ文字を含むカウンターを返すことができるようになりました。
  • これで、 GetType デシリアライズされたオブジェクトのメソッド。
  • #必要 ステートメントにより、ユーザーは必要に応じて管理者アクセス権を要求できるようになりました。
  •   インポート-Csv コマンドレットは空白行を無視するようになりました。
  • 実行中にWindowsPowerShellISEが大量のメモリを使用する問題 呼び出す-WebRequest コマンドが修正されました。
  • 取得モジュール モジュールのバージョンを コラム。
  • Remove-Item –Recurseは、期待どおりにサブフォルダーからアイテムを削除するようになりました。
  • A ユーザー名 プロパティが追加されました 取得プロセス 出力オブジェクト。
  •   RestMethod の呼び出し コマンドレットは、利用可能なすべての結果を返すようになりました。
  • 追加メンバー ハッシュテーブルがまだアクセスされていない場合でも、ハッシュテーブルで有効になるようになりました。
  • Select-Object –展開 プロパティの値がnullまたは空の場合に失敗したり、例外を生成したりすることはなくなりました。
  • 取得プロセス パイプラインで、を取得する他のコマンドとともに使用できるようになりました コンピュータネーム オブジェクトからのプロパティ。
  • Json に変換 & ConvertFrom-Json 二重引用符で囲まれた用語を受け入れることができるようになり、そのエラーメッセージがローカライズ可能になりました。
  • ゲットジョブ 新しいセッションでも、完了したスケジュール済みジョブを返すようになりました。
  • を使用したVHDのマウントとアンマウントに関する問題 ファイルシステム WindowsPowerShell4.0のプロバイダーが修正されました。 Windows PowerShellは、同じセッションにマウントされたときに新しいドライブを検出できるようになりました。
  • 明示的にロードする必要がなくなりました スケジュールされたジョブ or ワークフロー それらのジョブタイプで動作するモジュール。
  • ネストされたワークフローを定義するワークフローをインポートするプロセスのパフォーマンスが向上しました。 このプロセスは現在より高速です。

情報源: TechNetの

トピックの詳細: PowerShellの

コメントを残す

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *