TechFielders セミナー 東京 PowerShell 3.0 / Windows Server 2012 管理の自動化
- yukio_saitoh
- 3693
- 0
- 2
- 1
テンポラリPSセッションの作成と利用はシンプル。 例えば、SecureShell のように使うには Enter-PSSession-ComputerName などが用意されている。 // SystemCenter 俺管理パック作成できるかも? #techfielders
2012-06-12 10:27:44// PowerShell インテリセンスで -ComputerName が用意されていないのは実装漏れ? #techfielders
2012-06-12 10:29:04Invoke-Command であれば、 -ComputerName オファー(インテリセンス)は実装されてるんだ。 // 追加実装とか、その関係? #techfielders
2012-06-12 10:30:09例。 Invoke-Command -ComputerName hoge {Start-Service wuauserv} で Windows Update サービスを起動できると。 // -Credential を使用することも可能。 #techfielders
2012-06-12 10:32:01$cred 変数名へ Get-Credential を代入。 → $cred = Get-Credential // new とか不要。そのままで直ちに反映されるよ。 #techfielders
2012-06-12 10:33:01クレデンシャルが必要(特殊な管理アカウント=ドメイン管理者とは別)な状況では $cred を使用することもアリアリ。 #techfielders
2012-06-12 10:34:14Invoke-Command の特徴:① -ComputerName パラメタを持つ、②-Credential のサポート、③スクリプトを指定可能(スクリプトはローカルに存在してること、コマンドレットは必要)、④複数のコンピュータを指定可能。 #techfielders
2012-06-12 10:35:44Invoke-Command は、セミコロンで命令を継続処理可能。(パイプではなく)なので、do while をそのまま記述もできてしまう。 #techfielders
2012-06-12 10:37:37Enter-PSSession の特徴:①テンポラリ接続により対話型セッションを開設する、②複数のコマンドを実行可能、③接続が生きている間はセッションも生き続ける。 PS> Enter-PSSession -CompterName 鯖名 #techfielders
2012-06-12 10:39:11複数にセッションは張れないので、コンピュータ名は1つ。ただし、インボークコマンドは同時に複数命令を指定できるのでコンピュータ名は複数定義できる。// その際、カンマ区切り?安納さんの宿題。 #techfielders
2012-06-12 10:41:15Inovoke-Command は、CSVファイルから複数コンピュータを入力可能。その CSV ファイルは見出し行(ラベル行)を付加しても大丈夫。 // 作業視認性が向上していいね! #techfielders
2012-06-12 10:44:51Invoke-Command セッションそのものが死活しているかの確認は、コマンド単位で行うことでもいいが、より適切なセッション概念を提供しているとな。 本日資料 P.111 から #techfielders
2012-06-12 10:48:17リユーザブルな PSセッションを使用するには、 New-PSSession のっように、New を付加する。 // やっぱ New だよな。 New するほうがコーダーとしては自然だ。 #techfielders
2012-06-12 10:49:05セッションの作成:New-PSSession、セッションの削除:Remove-PSSession、セッション一覧:Get-PSSession、セッションへの再接続:Enter-PSSession #techfielders
2012-06-12 10:49:53PSSession の State と Availability を解説した資料 P.118 残念なことに逆。→正: State (Opened, Disconnected), Availability (None, Busy, Available) #techfielders
2012-06-12 10:51:55自分は接続していなくても、誰かがサーバに接続しているセッションがあれば「それを知ることができる」 // これは面白! 【電話か、リモートで相手のセッションを叩き落して奪取とかwww】 安納さんワイルド発言w #techfielders
2012-06-12 10:53:54どこからでもディスコネクトになった状態のアイドルタイムアウトの規定時間は 2h 。変更も出来るよ→ -TransportOption , -Session Option パラメタで。 #techfielders
2012-06-12 10:55:15リモートセッションを落としたい時に、いきなり永続化したままセッションを落としてはダメ。必ずクライアント側からセッションを落とすこと。方法は2つ。①クライアントPC の電源を切ることw(正しいお作法とかw) #techfielders
2012-06-12 11:00:01Availability が Busy から None に変わるまで2分。(クライアント側がハングアップしたときのサーバ側のセッション挙動)ネットワーク落としたりネットワーク切る以外では、②Disconnect-PSSession 実行する。 #techfielders
2012-06-12 11:01:22Invoke-Command-Session で -AsJob パラメタをつけるとバッググラウンドジョブの一覧をストアする。 本日の資料 P.124 参照のこと。 #techfielders
2012-06-12 11:09:32ループバック PS セッション LocalHost に対してリユーザブルなPSセッションを作成すれば、別のコンソールセッションからの再接続が可能とな。管理者モードで実行する必要がある。 // Receive-PSSession でどこからでも入手。 #techfielders
2012-06-12 11:14:08PSセッションの有効期間 → PSセッションのターゲットの再起動、シャットダウン。Remote-PSSession を実行するまで。セッションがアイドルタイムアウトするまで。 //サーバのワークフローについては来週ご説明くださいます。 #techfielders
2012-06-12 11:15:17構成ファイルを変更すると全体に影響する。セッションオプションを変更するとこのセッションのみ。 // こまめにするなら、最短60秒であることを留意。 #techfielders
2012-06-12 11:16:04出力バッファモード。 PowerShell 空間が持つバッファ容量は不明(安納さん宿題)であるが、管理者がバッファクリアするまで機能を一時的にサスペンドするコマンドが用意されている。→ Block、コマンド継続するが古い出力結果から捨てる→Drop #techfielders
2012-06-12 11:17:23// FIFO 概念に近いね、 NEW-PSSessionOption -OutputBufferingMode Drop とか。 #techfielders
2012-06-12 11:18:07