Итак, у меня есть следующий скрипт, который возвращает строку подключения баз данных на сервере
Import-Module SqlServer
#SSAS 1103
$oldAS = New-Object Microsoft.AnalysisServices.Server
$oldAS.connect("server1")
foreach ($db in $oldAS.Databases){
#$dbName = $db.Name
Write-Host $db.Name -Fore green
$db.DataSources | ForEach-Object{$_.ConnectionString}
}
#SSAS 1200-1400
$AS = new-Object Microsoft.AnalysisServices.Tabular.Server
$AS.Connect("server1")
foreach ($dbt in $AS.Databases){
$dbName = $dbt.Name
$dbName
$dbt.model.datasources[0].ConnectionString
}
первое соединение / пространство имен используется для уровней совместимости 1103, второе соединение / пространство имен Microsoft.AnalysisServices.Tabular.Server
используется для 1200 дБ-1400
однако недавно мы получили базы данных, которые имеют 1400, но имеют совершенно другой формат строки подключения.соединение выглядит в JSON, даже если смотреть на него из свойств, по сравнению с традиционной длинной строкой соединения
т.е.
User Id=;Data Source=;Persist Security Info=True
VS
любые базы данных с источником данных этого формата на рисунке не отображаются обратно
Я думаю, что это не отображается, потому что строка имеет формат JSON, как на рисунке, а необычный формат строки, подобный этому:
User Id=;Data Source=;Persist Security Info=True
есть ли способ преобразовать вывод в JSON?может быть, таким образом он сможет отображать?
![gm](https://i.stack.imgur.com/YyI9w.png)