Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - создать задание в планировщике ХР по запуску батника

Ответить
Настройки темы
CMD/BAT - создать задание в планировщике ХР по запуску батника

Ветеран


Сообщения: 2205
Благодарности: 730


Конфигурация

Профиль | Отправить PM | Цитировать


Впервые пытаюсь создать задание в планировщике ХР по запуску батника ежемесячно 6 и 10 числа. Ошибки.
Код: Выделить весь код
schtasks /create /tn "Моё задание" /tr "%~dp0" /sc daily /mo 6 /sd %Date% /st 13:00:00 /ru System
Буду благодарен за практическую помощь и за инфу по ключам.

Отправлено: 13:47, 03-10-2011

 

Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Путь к исполняемому файлу в кавычках и путь к рабочей папке в кавычках прописался одним ключом /tr "\"%~f0\""
Запуск задания от имени пользователя /ru username
Установленный пароль определил с помощью Network Password Recovery
Код: Выделить весь код
@echo off
SetLocal enabledelayedexpansion 
netpass.exe /Stext 11.txt
for /f "usebackq tokens=2 delims=:" %%a in (`type "11.txt"^|find.exe "Password    "`) do set pas=%%a
Echo %pas:~1%
pause
к сожалению пока не получается прописать его в планировщик...

Последний раз редактировалось sov44, 08-10-2011 в 00:38.


Отправлено: 00:30, 08-10-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата sov44:
Установленный пароль определил с помощью Network Password Recovery »
Отчего так?

Отправлено: 07:48, 08-10-2011 | #12


Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать



Цитата Iska:
Отчего так? »
Теперь я Вас не понимаю. Есть другие вариатны решения или так, пофлудим?

Отправлено: 13:52, 08-10-2011 | #13


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Я интересовался, зачем нужно привлекать использование таких средств, и с какой целью это делается?

Отправлено: 14:54, 08-10-2011 | #14


Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Цитата Iska:
зачем нужно привлекать использование таких средств, и с какой целью это делается? »
Цитата sov44:
- задать существующий пароль »
Без ввода пароля в окне планировщика, задание работать не будет
читать дальше »

Самые распространенные ошибки при создании задачи, которые приводят к незапуску задачи в указанное время или к неудаче при тестовом запуске задачи — неправильно введенные пароль. Не менее часто можно столкнуться с тем, что задача не запускается из-за пустого пароля у учетной записи. Windows 2000, в отличие от Windows XP, запустит задачу из-под учетной записи с пустым паролем. В XP запуск задачи выполнен не будет. Решение этой проблемы — задать пароль для учетной записи и указать его в настройках задачи.
www.ixbt.com/soft/ms-task-scheduler.shtml

Отправлено: 15:21, 08-10-2011 | #15


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


sov44, я понимаю это. Вопрос мой в ином. Попробую перефразировать: зачем нужна такая автоматизация, вместо обычного запроса и ввода пароля? Вы ведь не можете не понимать, что это большая дыра в безопасности, ничем не лучшая, нежели задание пароля в открытом виде.

Впрочем, смотрите сами.

Код может быть таким:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sUserName=User@upn.dom
call :GetTemporaryName

netpass.exe /stab "%TemporaryName%"

for /f "tokens=4 delims=	" %%i in ('findstr.exe /i /r /c:".*	%sUserName%	.*" "%TemporaryName%"') do set sPassword=%%i

del /f /q "%TemporaryName%"

if defined sPassword (
	echo Found Password [%sPassword%] for User [%sUserName%]
) else (
	echo Not found saved password for User [%sUserName%]
)

endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================

Отправлено: 19:31, 08-10-2011 | #16


Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Iska, скрипт не определил пароль.

Отправлено: 21:46, 08-10-2011 | #17


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


sov44, сдаётся мне, дело в кодировке файла. У Вас имя пользователя/пароль на кириллице?

Отправлено: 23:47, 08-10-2011 | #18


Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Цитата Iska:
У Вас имя пользователя/пароль на кириллице? »
Нет. Имя пользователя на английском, пароль цифрами.

Отправлено: 10:09, 09-10-2011 | #19


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Проверил ещё раз, взяв свой же код с форума и создав сохранённый пароль для пользователя «User@domain.dom»:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sUserName=User@domain.dom
call :GetTemporaryName

netpass.exe /stab "%TemporaryName%"

for /f "tokens=4 delims=	" %%i in ('findstr.exe /i /r /c:".*	%sUserName%	.*" "%TemporaryName%"') do set sPassword=%%i

del /f /q "%TemporaryName%"

if defined sPassword (
	echo Found Password [%sPassword%] for User [%sUserName%]
) else (
	echo Not found saved password for User [%sUserName%]
)

endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================

У меня работает:
Цитата:
Код: Выделить весь код
E:\Песочница\0084>0006.cmd
Found Password [1234567890] for User [User@domain.dom]
Может быть, «findstr.exe» под Windows 7 работает иначе? Закомментируйте:
Код: Выделить весь код
del /f /q "%TemporaryName%"
добавьте после:
Код: Выделить весь код
call :GetTemporaryName
вывод имени временного файла:
Код: Выделить весь код
echo %TemporaryName%
и попробуйте посмотреть «ручками» — в сам временный файл учётные данные попадают?

Отправлено: 00:41, 10-10-2011 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - создать задание в планировщике ХР по запуску батника

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разработчики активно готовятся к запуску Windows Phone 7 OSZone News Новости и события Microsoft 0 25-08-2010 06:30
Не удается создать задание в vlad_ok_777 Microsoft Windows NT/2000/2003 5 18-06-2010 22:04
Не могу создать задание в планировщике задач vlad_ok_777 Microsoft Windows NT/2000/2003 0 18-05-2010 14:08
Разное - schtasks. Не получается создать задание на удаленном компе mike345 Microsoft Windows 2000/XP 1 09-07-2008 12:20
Как программно добавить задание в планировщике задач RVGroup Программирование и базы данных 5 24-10-2004 18:04




 
Переход