я обнаружил, что он передает имя базы данных в Базы данных []. таким образом, я попробовал это в моем коде, я не получил никаких ошибок, и при этом это не возвратило строку соединения. Затем я попытался передать в Database8, и он вернул строку подключения. Я так расстроен, почему он хорошо печатает только для Database8 (независимо от того, передается ли он как имя или индекс 0), но не работает ни для одной из других баз данных .....

аюсь получить строку подключения источника данных базы данных с помощью следующего сценария:

   $Analysis_Server = New-Object Microsoft.AnalysisServices.Server  
   $Analysis_Server.connect("$server") 

   $database = $Analysis_Server.Databases[7]
   $c = $database.DataSources[0].ConnectionString
   $c

ничего не выводится.

Я попытался отладки так:

$Analysis_Server.Databases

это распечатывает все базы данных на сервере

если я его индексирую$Analysis_Server.Databases[], он печатает любую базу данных, которая проиндексирована (в моем случае, 7, печатает базу данных8)

ясно, что свойство базы данных работает.

-------------ОБНОВИТЬ: --------------

вот как базы данных выглядят на сервере

Вот что делает каждая из следующих строк:

   $Analysis_Server.Databases

это распечатывает

Одна вещь, которую можно заметить, это то, что по какой-то причине они распечатываются не в том порядке, в каком они находятся на сервере анализа, как на рисунке ... Я не знаю, почему это так

вот что выводит эта команда:

Analysis_Server.Databases[0]

Теперь, когда индекс 0 работал, мы должны иметь возможность индексировать[1], [2], и т.д...

так что следующее

Analysis_Server.Databases[1] 
Analysis_Server.Databases[2]

печатает:

Теперь к строке подключения:

$Analysis_Server.Databases[0].DataSources[0].ConnectionString

это распечатывает:

Тайм-аут соединения = 60; Идентификатор пользователя = someID; Источник данных = 10.10.10.10; Постоянная информация о безопасности = True

кажется, это строка подключения для базы данных8

круто, так что тогда мы должны быть в состоянии сделать это также:

$Analysis_Server.Databases[1].DataSources[0].ConnectionString

Тем не менее, ничего не печатает! единственный индекс, который, кажется, печатать сDatabases[0]

Это что$Analysis_Server.Databases[0].DataSources[0] печатает:

мы должны быть в состоянии сделать то же самое для всех баз данных

$Analysis_Server.Databases[1].DataSources[0]

$Analysis_Server.Databases[2].DataSources[0] и т.д..

но ничего не печатается!