TechFielders セミナー 東京 PowerShell 3.0 / Windows Server 2012 管理の自動化

2012.06.12 [10:00-11:30] Tech Fielders セミナー 東京 「 開催 最新 Windows PowerShell 3.0 による Windows Server 2012 管理の自動化~リモート サーバー管理編」 会場 : MSKK品川 31 階 セミナールーム B 続きを読む
0
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

テンポラリPSセッションの作成と利用はシンプル。 例えば、SecureShell のように使うには Enter-PSSession-ComputerName などが用意されている。 // SystemCenter 俺管理パック作成できるかも? #techfielders

2012-06-12 10:27:44
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

// PowerShell インテリセンスで -ComputerName が用意されていないのは実装漏れ?  #techfielders

2012-06-12 10:29:04
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Invoke-Command であれば、 -ComputerName オファー(インテリセンス)は実装されてるんだ。 // 追加実装とか、その関係?  #techfielders

2012-06-12 10:30:09
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

例。 Invoke-Command -ComputerName hoge {Start-Service wuauserv} で Windows Update サービスを起動できると。 // -Credential を使用することも可能。  #techfielders

2012-06-12 10:32:01
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

$cred 変数名へ Get-Credential を代入。 → $cred = Get-Credential // new とか不要。そのままで直ちに反映されるよ。  #techfielders

2012-06-12 10:33:01
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

クレデンシャルが必要(特殊な管理アカウント=ドメイン管理者とは別)な状況では $cred を使用することもアリアリ。  #techfielders

2012-06-12 10:34:14
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Invoke-Command の特徴:① -ComputerName パラメタを持つ、②-Credential のサポート、③スクリプトを指定可能(スクリプトはローカルに存在してること、コマンドレットは必要)、④複数のコンピュータを指定可能。  #techfielders

2012-06-12 10:35:44
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Invoke-Command は、セミコロンで命令を継続処理可能。(パイプではなく)なので、do while をそのまま記述もできてしまう。 #techfielders

2012-06-12 10:37:37
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Enter-PSSession の特徴:①テンポラリ接続により対話型セッションを開設する、②複数のコマンドを実行可能、③接続が生きている間はセッションも生き続ける。 PS> Enter-PSSession -CompterName 鯖名 #techfielders

2012-06-12 10:39:11
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

複数にセッションは張れないので、コンピュータ名は1つ。ただし、インボークコマンドは同時に複数命令を指定できるのでコンピュータ名は複数定義できる。// その際、カンマ区切り?安納さんの宿題。   #techfielders

2012-06-12 10:41:15
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Inovoke-Command は、CSVファイルから複数コンピュータを入力可能。その CSV ファイルは見出し行(ラベル行)を付加しても大丈夫。 // 作業視認性が向上していいね!  #techfielders

2012-06-12 10:44:51
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Invoke-Command セッションそのものが死活しているかの確認は、コマンド単位で行うことでもいいが、より適切なセッション概念を提供しているとな。 本日資料 P.111 から  #techfielders

2012-06-12 10:48:17
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

リユーザブルな PSセッションを使用するには、 New-PSSession のっように、New を付加する。 // やっぱ New だよな。 New するほうがコーダーとしては自然だ。  #techfielders

2012-06-12 10:49:05
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

セッションの作成:New-PSSession、セッションの削除:Remove-PSSession、セッション一覧:Get-PSSession、セッションへの再接続:Enter-PSSession #techfielders

2012-06-12 10:49:53
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

PSSession の State と Availability を解説した資料 P.118 残念なことに逆。→正: State (Opened, Disconnected), Availability (None, Busy, Available) #techfielders

2012-06-12 10:51:55
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

自分は接続していなくても、誰かがサーバに接続しているセッションがあれば「それを知ることができる」 // これは面白! 【電話か、リモートで相手のセッションを叩き落して奪取とかwww】 安納さんワイルド発言w #techfielders

2012-06-12 10:53:54
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

どこからでもディスコネクトになった状態のアイドルタイムアウトの規定時間は 2h 。変更も出来るよ→ -TransportOption , -Session Option パラメタで。  #techfielders

2012-06-12 10:55:15
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

リモートセッションを落としたい時に、いきなり永続化したままセッションを落としてはダメ。必ずクライアント側からセッションを落とすこと。方法は2つ。①クライアントPC の電源を切ることw(正しいお作法とかw)  #techfielders

2012-06-12 11:00:01
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Availability が Busy から None に変わるまで2分。(クライアント側がハングアップしたときのサーバ側のセッション挙動)ネットワーク落としたりネットワーク切る以外では、②Disconnect-PSSession 実行する。  #techfielders

2012-06-12 11:01:22
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Invoke-Command-Session で -AsJob パラメタをつけるとバッググラウンドジョブの一覧をストアする。 本日の資料 P.124 参照のこと。  #techfielders

2012-06-12 11:09:32
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

ループバック PS セッション LocalHost に対してリユーザブルなPSセッションを作成すれば、別のコンソールセッションからの再接続が可能とな。管理者モードで実行する必要がある。 // Receive-PSSession でどこからでも入手。  #techfielders

2012-06-12 11:14:08
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

PSセッションの有効期間 → PSセッションのターゲットの再起動、シャットダウン。Remote-PSSession を実行するまで。セッションがアイドルタイムアウトするまで。 //サーバのワークフローについては来週ご説明くださいます。  #techfielders

2012-06-12 11:15:17
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

構成ファイルを変更すると全体に影響する。セッションオプションを変更するとこのセッションのみ。 // こまめにするなら、最短60秒であることを留意。  #techfielders

2012-06-12 11:16:04
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

出力バッファモード。 PowerShell 空間が持つバッファ容量は不明(安納さん宿題)であるが、管理者がバッファクリアするまで機能を一時的にサスペンドするコマンドが用意されている。→ Block、コマンド継続するが古い出力結果から捨てる→Drop #techfielders

2012-06-12 11:17:23
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

// FIFO 概念に近いね、 NEW-PSSessionOption -OutputBufferingMode Drop とか。  #techfielders

2012-06-12 11:18:07