无法通过xp_cmdshell连接到远程共享路径
问题描述:
我想从SQL管理工作室中使用xp_cmdshell将文件从远程路径复制到本地计算机。无法通过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'
以普通用户和管理员身份运行查询。两者都产生相同的输出。
这里是我的问题:
- 我错过了一些步骤?
- 为什么第一次连接后连接不可用?
- 如何删除连接?即当我运行
exec xp_cmdshell 'net use * /delete'
它要求
是否要继续此操作? (是/否)[N]: 我不知道如何使用管理工作室查询来说'Y'。
感谢您的帮助提前! :)
答
如何删除连接?
要删除连接使用:
exec xp_cmdshell 'net use * /delete /y'
(是)进行默默地顺利通过
至于其他问题:你在评论中提到,你在路径文件夹中有空格,所以你可以:
- 重命名文件夹
- 包装
""
对于第三个问题:'exec xp_cmdshell'net use */delete/y''它会选择是的默默 – lad2025
@ lad2025谢谢!完美的作品!当我再次删除并添加连接时,连接状态变成'OK',此前'不可用'。现在剩下的唯一问题是,它仍然没有复制。获取相同的错误。 – Linda
猜猜两天疯狂调试后我找到了答案!大声笑!这只是文件夹名称问题。文件夹名称与空格!如果我用双引号包装路径,它就像一个魅力! – Linda