2

我正在尝试使用 SqlPowershell/SqlPS ( Import-Module sqlps) 连接到本地网络上的服务器。我按照此处的说明创建了一个函数,该函数预定义了服务器/数据库和登录名,并且每次都提示输入密码:

function sqldrive
{
    param( [string]$name, [string]$login = "<myLogin>", [string]$root = "SQLSERVER:\SQL\<serverName>\<databaseName>" )
    $pwd = read-host -AsSecureString -Prompt "Password"
    $cred = new-object System.Management.Automation.PSCredential -argumentlist $login,$pwd
    New-PSDrive $name -PSProvider SqlServer -Root $root -Credential $cred -Scope 1
}

但是,在运行sqldrive <someName>并输入我的密码后,它无法连接,并给出两条消息:

WARNING: Could not obtain SQL Server Service information. An attempt to connect to WMI on '<serverName>' failed with
the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

New-PSDrive : SQL Server PowerShell provider error: Path SQLSERVER:\SQL\<serverName>\<databaseName> does not exist. Please
specify a valid path.
At line:6 char:5
+     New-PSDrive $name -PSProvider SqlServer -Root $root -Credential $ ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (SQLSERVER:\SQL\<serverName>\<databaseName>:String) [New-PSDrive], GenericProviderException
    + FullyQualifiedErrorId : PathDoesNotExist,Microsoft.PowerShell.Commands.NewPSDriveCommand

谁能发现我哪里出错了?我可以通过 SSMS 使用这些凭据很好地使用同一台服务器。

4

0 回答 0