1

注意:我知道Wdac 模块,但它目前不适用于 PowerShell 7。解决这个问题导致了这个问题。


MSFT_OdbcDsnTask 类的Add 方法有一个必需的参数“DriverName”,其描述如下:

司机姓名 [in]

新 ODBC DSN 的 ODBC 驱动程序的名称。您不能使用通配符。

我计算机上的大多数 ODBC 驱动程序的名称都包含*我认为在这种情况下被解释为通配符的名称。以下是一些示例:

  • Microsoft Excel 驱动程序 (*.xls)
  • Microsoft Access 驱动程序 (*.mdb)
  • Microsoft Access 文本驱动程序(*.txt、*.csv)

通过调用 PowerShell 命令调用 Add 方法以创建 DSN

Invoke-CimMethod -ClassName MSFT_OdbcDsnTask `
                 -Namespace ROOT\Microsoft\Windows\Wdac `
                 -MethodName 'Add' `
                 -Arguments @{
                     Name       = 'test'
                     DsnType    = 'User'
                     Platform   = '32-bit'
                     DriverName = 'Microsoft Excel Driver (*.xls)'
                     # DriverName = 'SQL Server' }

导致错误The requested object could not be found.。更改注释行,以便DriverName = 'SQL Server'成功创建 DSN,而不是包含通配符的 excel 驱动程序。

  1. 如何使用 CIM/WMI 为名称包含通配符的驱动程序创建 DSN?
  2. *有没有办法以允许该Add方法找到该驱动程序的方式引用其名称包含的驱动程序?

更新1:

根据此评论产生的错误让我想知道这是否真的归结为通配符。我运行这个脚本来测试我电脑上提到的所有驱动程序。结果如下。请注意,驱动程序Microsoft ODBC for Oracle因错误而失败The driver {ODBC for Oracle} is not installed.

Result  Name
------  ----
Failure Driver do Microsoft Access (*.mdb)
Failure Microsoft Paradox Driver (*.db )
Failure Microsoft Access Driver (*.mdb)
Failure Microsoft Text-Treiber (*.txt; *.csv)
Failure Microsoft Excel-Treiber (*.xls)
Failure Microsoft Access Text Driver (*.txt, *.csv)
Failure Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)
Failure Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
Failure Microsoft dBase Driver (*.dbf)
Failure Microsoft Access Driver (*.mdb, *.accdb)
Failure Microsoft ODBC for Oracle
Failure Microsoft Text Driver (*.txt; *.csv)
Failure Driver da Microsoft para arquivos texto (*.txt; *.csv)
Failure Driver do Microsoft Excel(*.xls)
Failure Microsoft Access-Treiber (*.mdb)
Failure Driver do Microsoft Paradox (*.db )
Failure Microsoft Excel Driver (*.xls)
Failure Driver do Microsoft dBase (*.dbf)
Failure Microsoft Paradox-Treiber (*.db )
Failure Microsoft dBase-Treiber (*.dbf)
Success SQL Server Native Client 11.0
Success SQL Server
Success SQL Server
Success SQL Server Native Client 11.0
4

0 回答 0