У меня есть пакет служб SSIS, в котором есть задача сценария. При этом используется C # для выполнения сценария powershell для удаления (если он существует) и создания сопоставленного диска в защищенную папку с определенными учетными данными.
Буква диска будет меняться каждый раз; оно сохраняется (новая буква диска) и затем отправляется обратно в пакет в переменной, которую я позже использую для создания связанного сервера с файлом доступа Microsoft, к которому я пытаюсь получить доступ.
Я в основном запускаю приведенный ниже код в конце задачи скрипта
var netUse = Ltr + " \\\\" + server + "\\" + folder + " " + "/user:" + domain + "\\" + user + " " + pass + " /persistent:yes";
Process.Start("cmd.exe", "/C net use " + netUse);
Когда я вошел в систему и запустил пакет, все это прекрасно работает. Если я автоматизирую запуск пакета от агента, то произойдет сбой, поскольку он не сможет найти подключенный диск. Если я проверяю состояние диска в «net use» в powershell, он показывает его как состояние: недоступно.
Может показаться, что экземпляр или сеанс теряются при переходе от задачи сценария к другим процессам в пакете.
Есть ли способ сохранить это открытым? Я попытался запустить это под учетной записью прокси в качестве теста, но все равно без разницы.
Полагаю, это сработало бы, если бы я использовал полный путь UNC, однако есть причина, по которой мы не можем этого сделать.