我有一个简单的脚本,它将连接到域中的所有服务器,并为每台服务器上运行的所有服务构建一个表。但是,当我尝试自动化脚本以获取 foreach 循环中的所有服务器时,我收到一个 RPC 错误。如果 $name 变量被替换为服务器 DNS 名称,一切都会按预期工作。我检查了我的系统 (win7) 和服务器 (2000 - 2008R2) 上的防火墙和 DCOM 服务,这些都已正确启用或禁用。所以,我在想剧本中的某些东西坏了。我仍在学习 powershell,所以任何提示都值得赞赏。
这是到目前为止的脚本。$servernames = get-adobject -Filter 'ObjectClass -eq "Computer" ' -Searchbase "OU=Servers,DC=E,DC=BENEFIS,DC=ORG"
foreach ($name in $servernames) {
Get-WMIObject win32_service -computername $name -Property SystemName,Name,StartName,StartMode |
Format-table SystemName, Name, Startname >c:\serverservices.txt }