无法通过 xp_cmdshell 连接到远程共享路径
Unable to connect to remote shared path through xp_cmdshell
我正在尝试使用 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'
这是我得到的错误:
The system cannot find the file specified.
我尝试了以下方法,但似乎还没有任何效果:
找到 xp_cmdshell 使用的用户凭据并尝试通过 windows UI 手动连接到共享路径,它似乎有效。因此我得出结论,没有权限问题。EXEC xp_cmdshell 'whoami.exe'
运行 普通用户和管理员的查询。两者都产生了相同的输出。
这是我的问题:
- 我是不是漏掉了一些步骤?
- 为什么第一次连接后连接不可用?
- 如何删除连接?即当我 运行
exec xp_cmdshell 'net use * /delete'
它询问
Do you want to continue this operation? (Y/N) [N]:
I am not sure how to say 'Y' using management studio query.
提前感谢您的帮助! :)
How to delete connection?
删除连接使用:
exec xp_cmdshell 'net use * /delete /y'
(yes) 会默默通过
至于其他问题:您在评论中提到您的路径中的文件夹有空格,因此您可以:
- 重命名文件夹
- 用
""
换行
我正在尝试使用 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'
这是我得到的错误:
The system cannot find the file specified.
我尝试了以下方法,但似乎还没有任何效果:
找到 xp_cmdshell 使用的用户凭据并尝试通过 windows UI 手动连接到共享路径,它似乎有效。因此我得出结论,没有权限问题。
EXEC xp_cmdshell 'whoami.exe'
运行 普通用户和管理员的查询。两者都产生了相同的输出。
这是我的问题:
- 我是不是漏掉了一些步骤?
- 为什么第一次连接后连接不可用?
- 如何删除连接?即当我 运行
exec xp_cmdshell 'net use * /delete'
它询问
Do you want to continue this operation? (Y/N) [N]: I am not sure how to say 'Y' using management studio query.
提前感谢您的帮助! :)
How to delete connection?
删除连接使用:
exec xp_cmdshell 'net use * /delete /y'
(yes) 会默默通过
至于其他问题:您在评论中提到您的路径中的文件夹有空格,因此您可以:
- 重命名文件夹
- 用
""
换行