none
環境変数の展開方法を教えてください RRS feed

  • 質問

  • Windows 7 で PowerShell 2.0 を使用しています。

    IIS の "Default Web Site" の物理フォルダのパスを取得したいと思い、

    Import-Module WebAdministration したあとに、

    (Get-WebSite -Name "Default Web Site").PhysicalPath を実行しました。

    結果として、%SystemDrive%\inetpub\wwwroot が返ってきているのですが

    この、%SystemDrive% の環境変数部分を展開した形で取得したいと考えています。

    …といいますのは、このフォルダを起点として、物理フォルダや仮想フォルダを作成する

    スクリプトを作りたいからです。

    サーバ環境によって、Default Web Site の物理フォルダが異なることも考慮して

    もし可能であれば、%SystemDrive% にとらわれない形で、いかなる環境変数が使われて

    いようとも、環境変数が展開された形で物理パスを取得できなかな…と考えています。

    お知恵をお貸し願えないでしょうか?

     

    2010年8月9日 15:32

回答

  • [Environ]::ExpandEnvironmentVariables("%SystemDrive%\inetpub\wwwroot");

    > このフォルダを起点として、物理フォルダや仮想フォルダを作成する

    この用途であれば、IIS に新規作成する仮想フォルダの物理パスは %SYSTEMDRIVE% のままがいいですね。(物理フォルダを作成するときだけ展開する等は必要かもしれませんが)

    2010年8月9日 23:34

すべての返信

  • [Environ]::ExpandEnvironmentVariables("%SystemDrive%\inetpub\wwwroot");

    > このフォルダを起点として、物理フォルダや仮想フォルダを作成する

    この用途であれば、IIS に新規作成する仮想フォルダの物理パスは %SYSTEMDRIVE% のままがいいですね。(物理フォルダを作成するときだけ展開する等は必要かもしれませんが)

    2010年8月9日 23:34
  • K.Takaoka さん、コメントありがとうございます。

    基本的には、IIS の物理パスは %SYSTEMDRIVE%\Inetpub\wwwroot にしておいて

    アプリケーションのルートパスを仮想フォルダにすればいい…という解釈でよろしかったでしょうか?

    もちろん、そうできればいいのですけれども、PowerShell を使ってお客様のサーバ環境に合わせて

    アプリケーションをインストールすることを考えていましたので、質問をさせていただきました。

    まだ、PowerShell を使い始めて日が浅いため、的を射た質問ができず、コメントが難しいと

    感じた方もいらっしゃったかもしれませんが、この件につきましては、適切な回答をいただけたと

    いうことで、クローズさせていただいます。

    ありがとうございました。



    2010年8月10日 0:05