powershell - 如何在 Format-Table 中获取服务器名称?
问题描述
这可能是版本问题,但我只需要将服务器名称输入Format-Table
PowerShell 命令即可。
$compArray = Get-Content C:\Users\Me\Documents\ServerList_All.txt
$Proc = foreach ($strComputer in $compArray) {
Get-WMIObject Win32_Service | Where-Object {
$_.Name -like 'SQL*' -or
$_.Name -like 'MSSQL*' -or
$_.Name -like 'OLAP*' -or
$_.Name -like 'MSDTS*' -or
$_.Name -like 'MSOLAP*' -or
$_.Name -like 'ReportServer*'
} | Sort-Object -Property Name | Format-Table $strComputer, Name, State
}
$Proc | Out-File C:\Users\ME\Documents\ServerStatus_All.txt
这适用于 PS v2:
| Sort-Object -Property Name | Format-Table Name, State
这不是,但在 PS v3 中有效:
| Sort-Object -Property Name | Format-Table $strComputer, Name, State
错误:
格式表:无法将 System.Management.Automation.PSObject 转换为以下类型之一 {System.String, System.Management.Automation.ScriptBlock}。
唯一的区别是$strComputer
变量。我正在阅读文本文件,v3+ 中的一切都很漂亮。
不,遗憾的是,我无法在运行它的服务器上升级到更新的 PS 版本。
解决方案
这应该适用于你...
$compArray = (Get-ADComputer -Filter *).Name
$Proc = foreach ($strComputer in $compArray) {
Get-WMIObject -Class Win32_Service -ComputerName $strComputer |
Where-Object {
$_.Name -like 'SQL*' -or
$_.Name -like 'MSSQL*' -or
$_.Name -like 'OLAP*' -or
$_.Name -like 'MSDTS*' -or
$_.Name -like 'MSOLAP*' -or
$_.Name -like 'ReportServer*'
} |
Select-Object -Property @{Name = 'Computer';Expression={$strComputer}}, Name, State |
Sort-Object -Property Name |
Format-Table -AutoSize
}
$Proc
# Results
Computer Name State
-------- ---- -----
LABSQL01 MSSQLFDLauncher Running
LABSQL01 MSSQLSERVER Running
LABSQL01 SQLBrowser Stopped
LABSQL01 SQLSERVERAGENT Running
LABSQL01 SQLTELEMETRY Running
LABSQL01 SQLWriter Running
Computer Name State
-------- ---- -----
LABWSM01 MSSQL$MICROSOFT##WID Stopped
推荐阅读
- vhdl - VIVADO 测试台输出错误说顶部是黑盒
- tensorflow - Tensorflow 子类化问题
- node.js - libreoffice-convert 在 nodejs 中不起作用
- python - 熊猫阅读颜色
- kubectl - 打印 Kubernetes 中当前上下文的命名空间
- html - 如何摆脱单击 div 后出现的黑色默认边框?
- email - django rest-auth 注册返回“已发送验证电子邮件”,但没有发送电子邮件,也没有发送/返回密钥
- php - “除以零”PHP
- javascript - 将带有嵌套引号的命令字符串解析为参数和标志
- datetime - 如何在 LogicApp 中更改英国日期格式