1

Есть ПК с Windows 7 с запланированным заданием. Единственное, что он делает, это запускает файл VBS, расположенный на подключенном диске, который указывает на сетевой ресурс:

M:\Folder\Script.vbs

где M: подключенный диск.

Задача установлена на Run whether user is logged in or not , и она сохранила учетные данные для пользователя, имеющего доступ к этой папке.

Теперь, если я выберу это в раскрывающемся списке:

тогда задача работает. Однако, если я выберу это:

затем происходит сбой с кодом 8007010B (который, как я понимаю, является "Имя каталога недействительно"). Он не может ли кто - то не вошел в систему , и независимо от того, что вызвало задание (график или пользователя, Run его вручную). Он также не работает, если я войти в систему в качестве пользователя , под которым задача предполагается запустить и Run его вручную.

Когда я вошел в систему как пользователь, под которым запускается задача, я имею доступ к подключенному диску и могу без проблем запустить сценарий с Проводником.

По-видимому, есть какая-то совместимая прокладка, но какая? И что мне сделать, чтобы он работал, когда «настроен для Windows 7», который должен быть основным режимом для компьютера?

Я бы просто оставил все как есть, но если кто-то по ошибке «обновляет» задачу до режима Windows 7, пути назад нет: вариант Windows XP удаляется из меню для этой задачи. Чтобы получить его обратно, нужно экспортировать задачу в формате XML, удалить ее и повторно импортировать.

3 ответа3

2

Когда задача выполняется, карта диска M: не существует в контексте пользователя / сеанса, от имени которого выполняется задача.

Либо обратитесь к сетевому расположению с помощью UNC, либо измените сценарий задачи, чтобы сопоставить M: с путем перед выполнением остальной части его работы.

1

@ Ƭᴇcʜιᴇ007 правильно. Запуск сценария с использованием « Выполнить независимо от того, вошел пользователь в систему или нет » использует системный сеанс и не может видеть диски физического сеанса пользователя.

Другое решение состоит в том, чтобы создать другую задачу, которая использует ту же учетную запись пользователя и использует тот же выбор « Запускать, вошел ли пользователь в систему или нет ». Эта задача будет использоваться исключительно для сопоставления желаемых дисков, на которые полагаются другие запланированные задачи. Диски останутся подключенными в системном сеансе и позволят вашим другим задачам видеть те же подключенные диски. Я запускаю эту задачу, которая запускает пакетный файл для сопоставления дисков для системного пользователя каждые 5 минут.

Пример Powershell Mapping

if (-not (test-path E:)) {Log -Letter "E:"; Net Use E: \\server\share 'password' /user:user /persistent:yes /y}

Простое пакетное /Powershell Mapping

Net Use E: \\server\share 'password' /user:user /persistent:yes /y

0

Согласно этой теме, вам нужно добавить тот же путь в поле "начать с". Добавьте M:\Folder\ в начало в окне, и оно должно работать нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .