Как я могу получить свойство Physical Path сайта - PullRequest
0 голосов
/ 25 сентября 2018

Когда я просто перечисляю сайты с форматированием по умолчанию, он показывает физический путь.

PS C:\Windows\system32> $sm = Get-IISServerManager

PS C:\Windows\system32> $sm.Sites

Name             ID   State      Physical Path                  Bindings                                                                                                                                                                                                 
----             --   -----      -------------                  --------                                                                                                                                                                                                 
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:                                                                                                                                                                                               
Test             2    Started    C:\inetpub\wwwroot_Test       http *:5007:                                                                                                                                                                                             



PS C:\Windows\system32> 

Но я не могу найти соответствующее свойство для объекта.

$sm.Sites[0] | Format-List *



ApplicationDefaults        : Microsoft.Web.Administration.ApplicationDefaults
Applications               : {Default Web Site/, ...}
Bindings                   : {http *:80:}
Id                         : 1
Limits                     : Microsoft.Web.Administration.SiteLimits
LogFile                    : Microsoft.Web.Administration.SiteLogFile
Name                       : Default Web Site
ServerAutoStart            : True
State                      : Started
TraceFailedRequestsLogging : Microsoft.Web.Administration.SiteTraceFailedRequestsLogging
VirtualDirectoryDefaults   : Microsoft.Web.Administration.VirtualDirectoryDefaults
Attributes                 : {name, id, serverAutoStart, state}
ChildElements              : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName             : site
IsLocallyStored            : True
Methods                    : {Start, Stop}
RawAttributes              : {[name, Default Web Site], [id, 1], [serverAutoStart, True], [state, 1]}
Schema                     : Microsoft.Web.Administration.ConfigurationElementSchema

Прямой вопрос: Как узнать физический путь сайта?

Косвенный вопрос: Есть ли способ узнать, как объект отформатирован по умолчанию?Тогда я смогу найти Физический Путь оттуда.

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Я использовал

Import-Module Webadministration

gci "IIS:\Sites\{target site name}"                                `
                    | Where-Object {$_.NodeType -eq 'application'} `
                    | Sort-Object -Property PhysicalPath, name 
0 голосов
/ 25 сентября 2018

После декомпиляции и отладки в течение нескольких часов я обнаружил, что выражение powershell использует внутренне:

$_.Applications["/"].VirtualDirectories["/"].PhysicalPath

Не представляю, как вы должны это выяснить без декомпилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...