Базы данных, которые имеют «.» вместо localhost не отображаются - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь получить все соединения ODBC из определенного экземпляра.Проблема в том, что некоторые ODBC-соединения устанавливаются с ". \ Foo", а некоторые с "localhost \ foo".В моем понимании это должно быть то же самое, но я думаю, что это не так.В примере кода я не могу определить параметр для обработки ". \ Foo" и "localhost \ foo" как один и тот же.

Есть ли способ получить все, независимо от того, ". \ Foo" или"localhost \ foo"?

Get-OdbcDsn -DsnType System -DriverName "SQL Server" | ? {
    ($_.Attribute["Server"] -eq "§\SQLServer2012")
}

§ представляет либо ., либо localhost.

1 Ответ

1 голос
/ 27 марта 2019

Используйте 2 сравнения:

Get-OdbcDsn -DsnType System -DriverName 'SQL Server' | ? {
    $_.Attribute['Server'] -eq '.\SQLServer2012' -or
    $_.Attribute['Server'] -eq 'localhost\SQLServer2012'
}

или используйте совпадение регулярного выражения, чтобы охватить оба:

Get-OdbcDsn -DsnType System -DriverName 'SQL Server' | ? {
    $_.Attribute['Server'] -match '^(\.|localhost)\\SQLServer2012$'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...