У меня была та же проблема, когда заданию группового копирования (BCP) на SQL Server требовалось записать файл на другой сервер, управляемый другой группой в организации.
Хитрость заключается в том, чтобы подключить диск как пользователь, который использует задание BCP.
Вы сопоставляете диск как выделенную учетную запись активного каталога, у которой есть разрешения для нужного места назначения, которое некоторые называют служебной учетной записью. Я должен был работать с моими людьми AD, чтобы получить одну установку.
Чтобы узнать, какая учетная запись пользователя используется BCP, запустите эту команду из окна SQL Server Query:
EXEC xp_cmdshell 'ECHO %USERDOMAIN%\%USERNAME%
При подключении диска используйте whoami
в командной строке.
В моем случае мне не удалось войти на SQL Server как учетная запись SYSTEM, поэтому я создал пакетное задание, которое затем могло быть выполнено планировщиком задач, но запустило AS системную учетную запись.
Я поместил команды в пакетное задание, чтобы записать результаты в текстовый файл, так как я не смог бы его увидеть.
** Пакетная работа ниже **
ECHO ON
ECHO This will map the drive, but is being run by task scheduler AS the user SYSTEM
ECHO which should make it accessible to the user SYSTEM
ECHO List the existing drives first.
net use >> c:\Test\SystemNetUseOutput.txt
net use R: \\MyRemoteServer\MyDirectory\ /P:Yes /u:MyDomain\MyUsername pa$$word
ECHO the /P switch makes the drive remain after reboot
ECHO List the existing drives with the new mapping
net use >> c:\Test\SystemNetUseOutput.txt
ECHO See what user this batch job ran under
whoami >> c:\Test\SystemNetUseOutput.txt
ECHO need to exit to allow the job to finish
EXIT
** Надеюсь, это поможет кому-то еще **