Windows Home Server 2011でPowerShellを通じてWHSネイティブ機能を操作する

Small Business Server MVPの澤田さんのブログで、Small Business Server 2011 Essentials独自のPowerShellコマンドレットの紹介がされています。

同じColoradoプロダクトである、Windows Home Server 2011やWindows Storage Server 2008 R2 Essentials でも同様に独自のPowerShell コマンドレットが用意されており、ダッシュボードの操作をPowerShellを通じて実行することが出来ます。

たとえば、以前紹介した[FAQ:WHS2011]メディアライブラリへの変更が反映されない場合の操作を全てバッチファイルで実行したい場合、ダッシュボードでメディアサーバーを無効にする/有効にするといった操作が必要になりますが、PowerShellのコマンドレットを利用すると、以下のような手順でバッチファイル化できます。

メディアライブラリへの変更を即時適用するバッチ

今回、例として以下のようなバッチファイルを作成してみました。予めコマンドレットをインストールして、PowerShellのスクリプトとして書くなど、たぶんもっときれいな書き方があるのだと思いますが、そのあたりはまだ勉強不足ですので、ご容赦下さい。

cd c:\program files\windows server\bin
wsspowershell.exe set-wssmediaserverenabled "-enable 0"
net stop WMPNetworkSvc
del "C:\Users\MediaStreamingAdmin\AppData\Local\Microsoft\Media Player\CurrentDatabase_372.wmdb"
net start WMPNetworkSvc
cd c:\program files\windows server\bin
wsspowershell.exe set-wssmediaserverenabled "-enable 1"

このバッチファイルのうち、PowerShellのコマンドレットを利用しているのは、2行目と7行目です。

set-wssmediaserverenabled -enable コマンドにパラメーターを指定することで、メディアサーバー機能をON/OFFすることが出来ます。

WHS2011に動画のエンコードをさせている方は、たとえばエンコード完了後に上記のバッチを実行すると、即座にライブラリに反映出来るのではないかと思います。このバッチはあくまで参考ですので、利用される際には自己責任でお願いします。

WHS2011で利用できるPowerShellのコマンドレット

WHS2011独自コマンドレットを含む、WHS2011で利用できるコマンドレットをtxtファイルに書き出してみました。以下のリンクは、左側はWHS2011で利用できる全てのコマンドレット、右側はそのうち-WSS の文字が含まれるWHS2011独自のコマンドレットになります。WHS2011独自のコマンドレットは全部で117個あります。眺めているだけで、いろんなことが出来そうで楽しくなってきます。

パワーユーザーの方は、PowerSellを使ってサーバーの管理を是非自動化してみてください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする