通过powershell在iis上查找物理路径



我想找到并存储一个IIS站点到变量的物理路径,但是显示的结果有很多行,是否可以只存储"C: \inetpub\wwwroot"在下面几行的$Directory这样的变量中?

我的命令

$Site = Get-IISSite "Default Web Site"
$Site

###结果

Name             ID   State      Physical Path                  Bindings                                                                                                                      
----             --   -----      -------------                  --------                                                                                                                      
Default Web Site 1    Started    **C:inetpubwwwroot**             http *:80:                                                                                                                    
http 192.168.97.7:80:                                                                                                         
net.tcp 808:*                                                                                                                 
net.msmq localhost                                                                                                            
msmq.formatname localhost                                                                                                     
net.pipe *

感谢

要使Pba中的代码更短,您可以使用;点表示法";扩展你想要的属性:

$Directory = 
Get-IISSite "Default Web Site" | 
Foreach-Object {$_.Applications.VirtualDirectories.PhysicalPath}
$Directory

通过这种方式,可以更容易地实际查看属性的关系。

这给了我预期的结果

书面版本:

$Directory = Get-IISSite "Default Web Site" | Foreach-Object {$_.Applications} | Foreach-Object {$_.VirtualDirectories} | Foreach-Object {$_.PhysicalPath}

略短代码的别名版本(可读性较差,因此不推荐(

$Directory = Get-IISSite "Default Web Site" | % {$_.Applications} | % {$_.VirtualDirectories} | % {$_.PhysicalPath}

这将在IIS中循环并返回工作目录。请注意,当你开始使用应用程序或虚拟目录时,你会得到更多的结果,所以在这种情况下,你需要稍微处理一下foreach循环。

最新更新