无法通过xp_cmdshell连接到远程共享路径

时间:2017-08-02 08:16:35

标签: sql sql-server xp-cmdshell net-use

我正在尝试使用SQL管理工作室中的xp_cmdshell将文件从远程路径复制到本地计算机。

以下是我使用的步骤:

1。建立连接

exec xp_cmdshell 'net use L: \\remoteServer\folder /user:domain\username ImPWD'

2。重新连接

当我执行exec xp_cmdshell 'net use'时,L的状态不可用。 所以我跑了exec xp_cmdshell 'net use L:' 无论如何,这无济于事。它仍然无法使用!

第3。复制文件

EXEC xp_cmdshell 'COPY L:\Fol1\SubFol2\File.xlsx C:\work\file.xlsx'

这是我得到的错误:

  

系统找不到指定的文件。

我尝试了以下但似乎没有任何工作:

  • 找到xp_cmdshell使用的用户凭据,并尝试通过Windows UI手动连接到共享路径,它似乎有效。因此,我得出结论,没有许可问题。EXEC xp_cmdshell 'whoami.exe'

  • 以普通用户和管理员身份查询查询。两者都产生了相同的输出。

以下是我的问题:

  1. 我错过了一步吗?
  2. 为什么第一次连接后连接不可用?
  3. 如何删除连接?即当我运行exec xp_cmdshell 'net use * /delete'时,它会问
  4.   

    您想继续此操作吗? (是/否)[N]:   我不知道如何使用管理工作室查询说'Y'。

    提前感谢您的帮助! :)

1 个答案:

答案 0 :(得分:1)

  

如何删除连接?

删除连接使用:

exec xp_cmdshell 'net use * /delete /y'

(是)将默默通过

至于其他问题:你在评论中提到你的路径中的文件夹有空格,所以你可以:

  • 重命名文件夹
  • ""
  • 换行