Uncategorized

PowerShell V2 と IIS PowerShell スナップインによるリモート管理

環境 : Windows Server 2008 R2 (RC)

こんにちは。

つぎの尻切れトンボデモは、さいごにデモした PowerShell V2 と IIS PS スナップイン (Snap-In) です。デモで失敗して禁断のファイアウォールフルオープンでごまかした設定は、なぜかホテル戻ってから環境もどして実施したところ、ちゃんと動きました。。。(そんなもんですね、世の中は。。。)

以前、実は こちらのブログ で IIS マネージャの UI を使ったリモート管理について記載していますが、この続きとして本投稿を記載しておきます。(無論、従来通り、appcmd でもできますが、新しい PS Snap-In は、意味的にも非常にわかりやすいです !)

  1. ちょっと UI 編
  2. 完全にコマンド編

接続される側のマシン (サーバーコア) 側の設定 

まず、接続される側のマシンでは、「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

Tagged as:

3 replies»

  1. デモ崎さんこんにちは。
    いくつかご参考まで
    ・リモート接続を受け付ける設定は Set-WSManQuickConfig が早くて便利です。
    ・dism | findstr の出力が文字化けするのは、Shift JIS か何かで出力されているためのようです。明示的に Unicode での出力を指定すると大丈夫でした。
    cmd /U /C "dism … | findstr /i iis"
    ・役割の追加は ServerManager のコマンドレットも用意されています。
    Import-Module ServerManager
    場合によってはこちらの方が短くてすむかもです。

    Like

  2. お疲れ様です。デモ崎です。
    田辺さん、上記フォローありがとうございます。
    Server Manager や AD のコマンドレットも、いずれ時間をとって説明したいですね。。。(開発者が見ても、かなり魅力的です)
    東京の方は、もしかしたら、05/30 に実施予定(中止)であった「スクリプトを使用した Windows Server 管理の自動化」のセミナー (講師 : 奥主、安納、田辺) がまたいつか実施される "かも" しれませんので、TF セミナーを Watch しておくと良いかもしれません。。。(超人気セミナーの2回目です。前回はインフルエンザで中止となりました。)
    http://www.microsoft.com/japan/powerpro/TF/seminar.mspx

    Like

Leave a reply to tsmatsuz Cancel reply