Sql-Server

PowerShell 獲取所有安裝了 SQL Server 或 Oracle 的伺服器

  • May 10, 2019

概述:

試圖讓所有伺服器都安裝了 SQL Server 或 Oracle。

故障排除:

get-service -computername ""單獨執行時工作正常。

但是在 Foreach 語句的腳本塊中使用時會導致此錯誤:

獲取服務:無法在電腦“@{Name=}”上打開服務控制管理器。此操作可能需要其他權限。

使用的程式碼:

CLS
Import-Module ActiveDirectory

$servers = Get-ADComputer -Filter {OperatingSystem -like "*Server*"} -Property Name | Select Name 

Foreach ($server in $servers)
{
   get-service -computername $server |where{$_.name -like "OracleService*" -or $_.name -like "*SQL*"}| select @{N='Sever';E={$_.name}}, Name, DisplayName | Format-Table -A
}

該怎麼辦?

這是使用 dbatools 模組查找 SQL Server 的簡便方法。

Install-Module dbatools    
Find-DbaInstance -DiscoveryType All

參考: https ://docs.dbatools.io/#Find-DbaInstance

您是否嘗試過 Microsoft 的評估和規劃工具包 (MAP)

引用自:https://dba.stackexchange.com/questions/195434