मैंने पाया कि (मेरे लिए कम से कम) उपरोक्त में से किसी ने भी मेरा SQL एक्सप्रेस उदाहरण वापस नहीं किया। मेरे पास 5 नामित उदाहरण हैं, 4 पूर्ण वसा वाले SQL सर्वर, 1 SQL एक्सप्रेस। उपरोक्त उत्तरों में 4 पूर्ण वसा शामिल हैं, SQL एक्सप्रेस नहीं है। इसलिए, मैंने इंटरनेट पर थोड़ी खोजबीन की और पाया कि यह लेख जेम्स केहर द्वारा, जो एक मशीन पर सभी SQL सर्वर इंस्टेंस के बारे में जानकारी सूचीबद्ध करता है। मैंने नीचे दिए गए फ़ंक्शन को लिखने के लिए आधार के रूप में इस कोड का उपयोग किया है।
# get all sql instances, defaults to local machine, '.'
Function Get-SqlInstances {
Param($ServerName = '.')
$localInstances = @()
[array]$captions = gwmi win32_service -computerName $ServerName | ?{$_.Name -match "mssql*" -and $_.PathName -match "sqlservr.exe"} | %{$_.Caption}
foreach ($caption in $captions) {
if ($caption -eq "MSSQLSERVER") {
$localInstances += "MSSQLSERVER"
} else {
$temp = $caption | %{$_.split(" ")[-1]} | %{$_.trimStart("(")} | %{$_.trimEnd(")")}
$localInstances += "$ServerName\$temp"
}
}
$localInstances
}