Сетевые диски, и в действительности все буквы дисков, в этом отношении, «сопоставлены» с томами для данного сеанса входа.Когда вы создаете запланированное задание для запуска, оно создает новый сеанс входа в систему (даже если вы в данный момент вошли в систему) и запускает запланированное задание в этом контексте.Таким образом, хотя вы можете войти в систему и подключить диск Q - во втором сеансе, где выполняется задача, совершенно другая среда, Windows достаточно хороша для автоматического сопоставления C: (и других физических дисков) для всех сеансов.
Вам не нужно отображать карту диска при использовании PowerShell, кроме как для удобства.В отличие от предшественника cmd.exe, PowerShell совершенно рад изменить текущий каталог на путь в стиле UNC:
cd \\server\share\directory
Возможно ли выполнить то, что вам нужно, вообще не подключая диск?Вы упомянули о копировании файлов - если задача выполняется с вашими учетными данными и предполагается, что у вас есть права доступа к диску Q: (скажем, \ server \ share), то ваш сценарий должен иметь возможность что-то вроде:
copy c:\logs\*.log \\server\share\logs
И отлично работает, не подключая диск.
Вот полная информация о команде для моего теста, который сработал.Если ваша среда отличается, пожалуйста, обратите внимание, как.Задача настроена для запуска от имени моей учетной записи домена, только когда я вошел в систему, наивысшие привилегии и настроен для Windows 7 / Server 2008 R2.
Действие заключается в запуске программы:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Аргументы
-command copy c:\logs\*.log \\server\share\logs