gpt4 book ai didi

powershell - 在WMI中,是否可以使用联接(或类似方式)获取给定服务器名称和部署位置的站点的IisWebServer对象

转载 作者:行者123 更新时间:2023-12-02 23:49:12 25 4
gpt4 key购买 nike

给定服务器名称和物理路径,我希望能够找到IISWebServer对象和ApplicationPool。网站网址也是可接受的输入。

我们的技术是IIS 6 ,WMI,并可以通过C#或Powershell 2访问。我敢肯定,使用IIS 7 its managed API会更容易。我们还没有。

这是我可以做的:

IISWebVirtualDirSetting获取IIS虚拟目录的列表,并为匹配的物理路径筛选(脱机)。

$theVirtualDir = gwmi -Namespace "root/MicrosoftIISv2" `
-ComputerName $servername -authentication PacketPrivacy `
-class "IISWebVirtualDirSetting" `
| where-object {$_.Path -like $deployLocation}

从虚拟目录对象中,我可以得到一个名称(例如W3SVC / 40565456 / root)。有了这个名称,我就可以使用其他商品,例如 IIS web server object
gwmi -Namespace "root/MicrosoftIISv2" `
-ComputerName $servername `
-authentication PacketPrivacy `
-Query "SELECT * FROM IisWebServer WHERE Name='W3SVC/40589473'"

问题,已重述:

1)这是一种查询语言。我可以加入或子查询,以便1个WMI查询语句获取基于IISWebVirtualDir.Path的Web服务器吗?怎么样?

2)在求解1中,您将必须说明如何在Path属性上进行查询。为什么这是无效查询? "SELECT * FROM IISWebVirtualDirSetting WHERE Path='D:\sites\globaldominator'"

最佳答案

在WQL中,没有JOIN运算符。为此,您需要将两个查询都保存到一个变量中并进行一些后期处理。但是,对于第二个问题,您需要转义反斜杠。这将是

"SELECT * FROM IISWebVirtualDirSetting WHERE Path='D:\\sites\\globaldominator'"

关于powershell - 在WMI中,是否可以使用联接(或类似方式)获取给定服务器名称和部署位置的站点的IisWebServer对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2226266/

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