Geek
         

リモートでPowershellの実行ができるようになったらいよいよViewを操作するコマンドを実行する。 今回、ざっくりと作成したのは以下の機能



  • ゲストOSでWindows Updateを反映させる
  • スナップショットを作成して再構築。


ゲストOSでのWindowUpdateを反映させるのは、山市良のえぬなんとかわーるどさんで公開されていた Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.ps1 ) の記事のスクリプトを利用させてもらった。

 
 

これを何とかして、Viewサーバから実行させようと思う。 WindowsUpdateを実行する仮想マシンでも当然、リモートでのPowershellの実行を許可しておく必要がある。

  • リモートでPowershellを許可しておき
  • Invoke-VMScript -VM vmname -ScriptText path -GuestUser administrator account -GuestPassword administrator password -WarningAction SilentlyContinue -RunAsync

を実行すると良い。 詳しくはPowerCLIリファレンスを確認してもらいたいが、

上記、Invoke-VMScript コマンドレットでやっていることは以下。 なお、このコマンドレットは、ViewPowerCLIではなく、ただのPowerCLIである。 (つまり、どのWindowsマシンからも実行ができる)



Invoke-VMScript コマンドレット
VM vSphere上の仮想マシン名
ScriptText 上記VMの中にあるスクリプトのパス
GuestUser 上記VMでPowershellをリモート実行できるユーザ(管理者が良い?)
GuestPassword 上記GuestUserのパスワード
WarningAction SilentlyContinue にしておくと、警告が出力されない
RunAsync 処理の完了をまたずプロンプトを返す。Nohup


なお、RunAsyncを利用して非同期処理としてしまうと、 Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.ps1 ) で、何時WindowsUpdateが終了したかわからなくなるため、終了時の処理にSend-Mailmessageコマンドレットを利用して、メール通知しようとしたのだが、これがまた結構ハマったので次回!。

スポンサーサイト

関連キーワード(ユーザータグ):
VMware
仮想化
PowerCLI

トラックバック用URL ;http://gatolynx.blog100.fc2.com/tb.php/334-a89dd6ab

コメントの投稿

非公開コメント