【发布时间】:2016-09-01 13:02:10
【问题描述】:
我一直在尝试开发一个 powershell 脚本来查询 AD 中的特定 OU,然后获取每个服务上的服务,包括名称、状态、启动模式、启动名称、描述。我已经非常接近但没有得到我期望的结果。有人可以帮忙吗?
问题是如果我专门为一台服务器运行命令,我会得到我想要的结果。如果我为 OU 中的所有服务器运行,它不会找到任何唯一的起始名称(只有本地帐户)。我首先想要一个带有服务器名称的 CSV
单机脚本(得到我们想要的结果):
$ServerName = “server01”
Get-WmiObject win32_service -ComputerName $servername | Select @{N="ServerName";E={$ServerName}}, Name, Status, StartMode, StartName, description | Export-Csv "server_Services.csv" -NoTypeInformation
查询OU的脚本(只返回本地账户的服务):
$ServerOU = 'OU=Servers,DC=some,DC=domain'
$ServerList = Get-QADComputer -SearchRoot $ServerOU -SearchScope Subtree
$ServerList | ForEach {
$ServerNameTemp = $_.Name
Get-WMIObject Win32_Service |
Select @{N="ServerName";E={$ServerNameTemp}}, StartName, Name, StartMode, Status, description
} | Export-Csv -NoTypeInformation $ExportFile
【问题讨论】:
标签: powershell service export-to-csv