我正在尝试从特定实例获取所有ODBC连接。问题是某些ODBC连接设置为“。\ foo”,而另一些设置为“ localhost \ foo”。以我的理解,这应该是相同的,但我想事实并非如此。 在示例代码中,我无法定义将“。\ foo”和“ localhost \ foo”处理为相同的选项。
是否有一种方法可以获取全部信息,而不管是“。\ foo”还是“ localhost \ foo”?
Get-OdbcDsn -DsnType System -DriverName "SQL Server" | ? {
($_.Attribute["Server"] -eq "§\SQLServer2012")
}
§
代表.
或localhost
。
答案 0 :(得分:1)
使用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$'
}