gpt4 book ai didi

Powershell : How to create IIS 6 Virtual Directory/Web application under a Subfolder

转载 作者:行者123 更新时间:2023-12-04 01:14:14 26 4
gpt4 key购买 nike

我正在尝试使用 Powershell 在 IIS 6 网站的特定子文件夹下创建一个 Web 应用程序/虚拟目录,如下所示:

IIS 网站结构 <<<>>> 物理目录结构

Test (website) ---------------->   c:\InetPub
SubDirectory ------------------> ..\Subdirectory
gadgets (Web App) -----------------> ..\Gadgets

脚本
$WebSiteName = “Test”
$virtualDirName = “subdirectory\gadgets”
$appPoolName = “DefaultAppPool”
$VirtalDirHomePath = "c:\InetPub\Subdirectory\Gadgets"

$iisWebSite = Get-WmiObject "IISWebServerSetting" `
-Namespace "root\MicrosoftIISv2" `
-filter "ServerComment like '%$WebSiteName%'"
$virtualDirSettings = [wmiclass] "root\MicrosoftIISv2:IIsWebVirtualDirSetting"
$newVDir = $virtualDirSettings.CreateInstance()
$newVDir.Name = ($iisWebSite.Name + '/ROOT/' + $virtualDirName)
$newVDir.Path = $VirtalDirHomePath
$newVDir.Put();

$nvdir = $iisWebSite.Name + '/ROOT/' + $virtualDirName

$nvdir = $nvdir.Replace("\", "/")

$v = Get-WmiObject -Class IIsWebVirtualDir -Namespace root\microsoftiisv2 `
-filter "Name='$nvdir'"

#Create WebAppliction
$v.AppCreate3(2, $appPoolName, 1)

如果我指定 $virtualDirName带正斜杠路径分隔符 ( subdirectory/gadgets ) , $newVDir.Put()调用抛出以下异常

Exception calling "Put" with "0" argument(s): "Win32: The system cannot find the path specified.



如果我更改 $virtualDirName带反斜杠路径分隔符(子目录\小工具) $newVDir.Put()调用成功返回。

我不确定这是否是正确的方法。

有没有更好的方法在特定子文件夹下创建 Web Application/VirtualDirectory 以及如何列出在子文件夹下创建的 VirtualDirectory/WebApplication。

最佳答案

create a virtual directory in IIS 6.0 through scripting 的替代解决方案,不涉及 PowerShell,是使用 iisvdir.vbs 脚本:

SET webSiteName=Test
SET virtualDirName=subdirectory/gadgets
SET virtualDirHomePath=C:\InetPub\Subdirectory\Gadgets

cscript %SystemRoot%\system32\iisvdir.vbs /create %webSiteName% %virtualDirName% %virtualDirHomePath%

注意 virtualDirName中的虚拟目录路径使用 指定正斜杠 .

您也可以 list the virtual directories in a specific path使用相同的 iisvdir.vbs 脚本:
cscript %SystemRoot%\system32\iisvdir.vbs /query %webSiteName%/%virtualDirName%

关于Powershell : How to create IIS 6 Virtual Directory/Web application under a Subfolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com