【发布时间】:2020-01-28 07:36:51
【问题描述】:
我编写了一个 PS 脚本,其中会将所有 IIS 站点详细信息导出到 Excel 工作表,但是当我尝试使用 IIS 应用程序池时,它没有给出应用程序池的所有参数和数据的输出显示在站点详细信息之后,但我需要与同一行中的站点数据并行的应用程序池数据,请帮助我解决此问题。
代码
Clear-Host
$computers = Get-Content "C:\TEMP\servers.txt"
Invoke-Command -ComputerName $computers -ScriptBlock {
& {
Get-Website | Select-Object Name,Id,State,PhysicalPath,
@{n="Bindings"; e= { ($_.bindings | select -expa collection) -join ‘;’ }} ,
@{n="attributes"; e={($_.attributes | % { $_.name + "=" + $_.value }) -join ‘;’ }}
Get-IISAppPool | Select-Object Name,Status,CLRVer,PipeLOneMode,StartMode
}
} | Export-Excel -Path C:\users\$env:username\documents\IIS_sites.xlsx```
**Output**
*name :Test
id : 2
state : Started
physicalPath : C:\Chadrakanth
Bindings : http 123.com
attributes : name=2696Test;id=2;serverAutoStart=False;state=1
PSComputerName : AAA
RunspaceId : 8ec7998e-03e0-47c7-b96a-ffae96260922
Name : DefaultAppPool
Status :
CLRVer :
PipeLOneMode :
StartMode : OnDemand
PSComputerName : AAA
RunspaceId : 8ec7998e-03e0-47c7-b96a-ffae96260922*
【问题讨论】:
-
Get-IISAppPool cmdlet 的文档说输出的类型为 ApplicationPool,它似乎没有
Status、CLRVer或PipeLOneMode。您是否在寻找State、ManagedRuntimeVersion、ManagedPipelineMode属性? -
感谢您的回复,我还有一个疑问,当我将 IIS 站点和应用程序池详细信息导出到 Excel 时,如何在同一行中获取它,截至目前,应用程序池详细信息在 IIS 站点详细信息之后导出
-
您可以将
Get-Website和Get-IISAppPool保存到变量中,然后使用[pscustomobject]或New-Object构建您想要的对象。例如$Website = Get-Website; [pscustomobject]@{id = $Website.id} -
如果可能的话,请您帮我编写脚本
标签: powershell