環境 : Windows Server 2008 R2 (RC)
こんにちは。
つぎの尻切れトンボデモは、さいごにデモした PowerShell V2 と IIS PS スナップイン (Snap-In) です。デモで失敗して禁断のファイアウォールフルオープンでごまかした設定は、なぜかホテル戻ってから環境もどして実施したところ、ちゃんと動きました。。。(そんなもんですね、世の中は。。。)
以前、実は こちらのブログ で IIS マネージャの UI を使ったリモート管理について記載していますが、この続きとして本投稿を記載しておきます。(無論、従来通り、appcmd でもできますが、新しい PS Snap-In は、意味的にも非常にわかりやすいです !)
- ちょっと UI 編
- 完全にコマンド編
接続される側のマシン (サーバーコア) 側の設定
まず、接続される側のマシンでは、「Windows Remote Management」のポートを空け、PowerShell のリモート接続を許可しておきます。(PowerShell を起動して、以下を実行します。)
# Windows ファイアウォールのポートを空けるnetsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes# PowerShell のリモーティングを有効にするenable-psremoting
接続するクライアント側からの操作
ということで、あとは、リモートから接続して管理します。コード/実行モジュールの配置やデバッグなどは、上記リンクに記載している方法と同様に、リモートデバッグなどを使用してください。
# リモートマシンのセッションを作成して、このセッションに入ります !enter-pssession demomachine1 -credential exampleAdministrator# パスワード入力のダイアログが表示されるので、入力してください . . . (省略)# 下記で、どの役割 / 機能が 無効 / 有効 か確認します# (なぜなんでしょうね . . . dism のパイプ処理がなぜか文字化けするため、/english にしておましょう)dism /online /get-features /format:table /english | findstr /i iis# IIS の Web サーバーロールを有効にしますdism /online /enable-feature /featurename:IIS-WebServerRole# では、いよいよ、IIS の PS プロバイダーを設定します !set-executionpolicy -executionpolicy unrestrictedimport-module WebAdministration# デモでご紹介したとおり、以下の通り入力すると、IIS のプロバイダーが入っているのが確認できますget-psprovider# 上記のプロバイダーのおかげで、IIS はドライブのように扱えます !cd IIS:dir[出力結果]Name----AppPoolsSitesSslBindingsdir IIS:sitesName ID State . . . . .---- -- -----Default Web Site 1 Started . . . . .# 準備として、デモ用のディレクトリと HTML ファイルを作ってみましょうmkdir c:\democd c:\demoecho test > test.htm############ 下記の通り、非常に "意味的に" IISへの操作ができるんです ! (一部紹介)############ 仮想ディレクトリ作成 !new-webvirtualdirectory -site "Default Web Site" -name demoweb -physicalpath c:\demo# 上記の仮想ディレクトリを「Webアプリケーション」として設定 !convertto-webapplication -applicationpool "DefaultAppPool" "IIS:sitesDefault Web Sitedemoweb"# リモートマシンのセッションを抜けますexit-pssession
Categories: Uncategorized
デモ崎さんこんにちは。
いくつかご参考まで
・リモート接続を受け付ける設定は Set-WSManQuickConfig が早くて便利です。
・dism | findstr の出力が文字化けするのは、Shift JIS か何かで出力されているためのようです。明示的に Unicode での出力を指定すると大丈夫でした。
cmd /U /C "dism … | findstr /i iis"
・役割の追加は ServerManager のコマンドレットも用意されています。
Import-Module ServerManager
場合によってはこちらの方が短くてすむかもです。
LikeLike
お疲れ様です。デモ崎です。
田辺さん、上記フォローありがとうございます。
Server Manager や AD のコマンドレットも、いずれ時間をとって説明したいですね。。。(開発者が見ても、かなり魅力的です)
東京の方は、もしかしたら、05/30 に実施予定(中止)であった「スクリプトを使用した Windows Server 管理の自動化」のセミナー (講師 : 奥主、安納、田辺) がまたいつか実施される "かも" しれませんので、TF セミナーを Watch しておくと良いかもしれません。。。(超人気セミナーの2回目です。前回はインフルエンザで中止となりました。)
http://www.microsoft.com/japan/powerpro/TF/seminar.mspx
LikeLike