如何使用 appcmd.exe 显示 Web 应用程序的物理路径?

How to display the physical path of a web application using appcmd.exe?

请注意:

PS C:\Dayforce\DayforceRTQA0520_747\SharpTop> $a
C:\Program Files\IIS Express\appcmd.exe
PS C:\Dayforce\DayforceRTQA0520_747\SharpTop> &$a list app "MyDayforce/" /text:*
APP
  path:"/"
  APP.NAME:"MyDayforce/"
  APPPOOL.NAME:"Clr4IntegratedAppPool"
  SITE.NAME:"MyDayforce"
  [application]
    path:"/"
    applicationPool:"Clr4IntegratedAppPool"
    enabledProtocols:"http"
    serviceAutoStartEnabled:"false"
    serviceAutoStartProvider:""
    preloadEnabled:"false"
    [virtualDirectoryDefaults]
      path:""
      physicalPath:""
      userName:""
      password:""
      logonMethod:"ClearText"
      allowSubDirConfig:"true"
    [virtualDirectory]
      path:"/"
      physicalPath:"C:\Dayforce\SharpTop\UI\MyWORKBits"
      userName:""
      password:""
      logonMethod:"ClearText"
      allowSubDirConfig:"true"
PS C:\Dayforce\DayforceRTQA0520_747\SharpTop> &$a list app "MyDayforce/" /text:applicationPool
Clr4IntegratedAppPool
PS C:\Dayforce\DayforceRTQA0520_747\SharpTop> &$a list app "MyDayforce/" /text:enabledProtocols
http
PS C:\Dayforce\DayforceRTQA0520_747\SharpTop>

我不知道如何显示 physicalPath 的值。尝试了各种变体 - 没有任何效果。

那么,如何从应用程序对象中获取 physicalPath

P.S.

我从 vdir 对象知道怎么做:

PS C:\Dayforce\DayforceRTQA0520_747\SharpTop> &$a list vdir /app.name:"MyDayforce/" /text:physicalPath
C:\Dayforce\SharpTop\UI\MyWORKBits
PS C:\Dayforce\DayforceRTQA0520_747\SharpTop>

但我对 app 对象特别感兴趣,以便了解是否可以使用 /text 标志获取嵌套属性。

马克下午好!

要仅使用 app 对象显示物理路径,您可以使用 [path='string'] 语法引用它。使用它,您可以引用嵌套 VirtualDirectory 对象的所有属性。

因此,对于您的示例,您将使用以下命令: &$a list app "MyDayforce/" /text:[path='/'].physicalPath

或者更普遍的默认 IIS 安装

C:\Windows\system32\inetsrv\appcmd.exe list app "Default Web Site/" /text:[path='/'].physicalPath