Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 10

Автор: gammaray
Дата сообщения: 09.02.2011 09:52
res2001
Accessor
В том-то и проблема, что не хочу я ставить батник в автозагрузку и делать паузы на пинг. Тем более не вариант вручную через GUI править эти учетные записи. Задача следующая: создать универсальный бат-файл, который потом запустить на конечных компах так, чтобы пользователи этих компов не видели никакой информации о подключении к серверу. Поэтому и хочется все прописать в бат-файлах.

Цитата:
net use z: \\server\folder /user:login2 /persistent:yes

Так у меня так и прописано. Просто команду persistent я вынес вначало, чтобы сохранялись все диски после перезагрузки.
Может кто подскажет, как с помощью только одного бат-файла решить проблему с этими сохраненными ключами учетных записей? Есть какая-то консольная команда для работы с этими записями? Ключ savecred может толком кто-нить объяснить, как работает и для чего нужен?
Автор: lizun
Дата сообщения: 09.02.2011 10:01
Подскажите, как можно реализовать такую хотелку:
Есть лог-файл, туда пишется результат работы батника.
В Батнике надо сделать настройку, позволяющую отключать вывод в лог-файл.
Чтобы не менять кучу кода, хочется что-то похожее на перенаправление не в лог-файл, а в nil:


Код: @echo off
set EnableLog=Yes
set logfile="C:\log.txt"

if not "%EnableLog%"=="Yes" set %logfile%=nil

echo test Log>%logfile%

pause
Автор: Accessor
Дата сообщения: 09.02.2011 10:16
gammaray
Цитата:
создать универсальный бат-файл, который потом запустить на конечных компах так, чтобы пользователи этих компов не видели никакой информации о подключении к серверу.

Честно сказать, идеология подхода у вас неверная. Зачем делать подключение нескольких пользователей под одним и тем же логином, да ещё чтобы они его не знали? Обеспечьте правами к этой шаре каждому нуждающемуся пользователю и всё...
параметр savecred, как я понимаю, как раз и призван сохранять учётные данные. К сожалению, нигде нет подробной документации
Автор: gammaray
Дата сообщения: 09.02.2011 10:31
Accessor
В том-то и дело, что пользователей этих туча и логинов у них моря. К тому же в сети есть повторяющиеся логины аля admin, при этом с этими логинами одновременно сидят пользователи которым надо давать доступ и которым наоборот ни в коем случае его давать нельзя. Поэтому и возникла идея с 1 общим логинов для всех нужных пользователей. Ага, про savecred толком ничего непонятно. Пример их не работает. В таком виде:

Код: net use z: \\server\folder /u:login2 /savecred
Автор: res2001
Дата сообщения: 09.02.2011 11:53
gammaray

Цитата:
В том-то и дело, что пользователей этих туча и логинов у них моря.

Дык может уже подумать об АД? И проблема твоя автоматически рассосется.
Автор: gammaray
Дата сообщения: 09.02.2011 12:02
res2001
Была бы моя воля - давно бы сделал. Но не разрешают. Хотят минимум изменений и максимум безопасности... Вот так...( Поэтому и приходится в батниках разбираться...
Автор: res2001
Дата сообщения: 09.02.2011 12:12
gammaray
У пользователя login2 пароля нет?

Цитата:
Батник выполнился успешно, диски подключились, НО к ним теперь нет доступа!

Посмотри на сервере под каким юзером прошло подключение.

Кстати, а какая винда у тебя в качестве сервера?
Автор: gammaray
Дата сообщения: 09.02.2011 12:51
res2001
Пароля у пользователя login2 нет. Сделано это пока что временно ввиду того, что у меня в памяти засело, что win xp не сохраняет пароли при подключении сетевого диска (сохраняется только имя). Каждый раз при обращении к сетевому диску этот пароль приходится вводить снова. А большинство конечных компов функционирует как раз на win xp. Надо настроить так, чтобы один раз этот сетевой диск подрубить и больше пользователи ни о чем не заморачивались и всегда могли на него зайти.
На сервере стоит Windows Server 2003 R2 x64.
Посмотрел на серваке в Управлении файловым сервером, что подключения по login2 нет. Может где-то в логах осталось, что была попытка подключения? Как посмотреть?
Автор: wolf0425
Дата сообщения: 09.02.2011 13:07

Цитата:
Может где-то в логах осталось, что была попытка подключения? Как посмотреть?
в лог безопастности посмотри
Автор: res2001
Дата сообщения: 09.02.2011 13:14
gammaray
Значит есть подключение от пользователя залогиненного на рабочей станции?
А юзер login2 на сервере заведен? и ему даны права на нужную шару?

Цитата:
Как посмотреть?

Я обычно смотрю в "управлении компьютером".

Добавлено:

Цитата:
Надо настроить так, чтобы один раз этот сетевой диск подрубить и больше пользователи ни о чем не заморачивались и всегда могли на него зайти.

Если мне память не изменяет, то винда имеет привычку сбрасывать пароли время от времени.
Автор: gammaray
Дата сообщения: 09.02.2011 13:26
res2001
Ну конечно создал! Когда я в ручную создаю ключ на пользователя login2 (win+r, control userpasswords2, Дополнительно, Управление паролями - как раз упомянутый выше механизм Сохранения имен пользователей и паролей), то все работает. Диски подключаются и соединение с ними нормально восстанавливается после перезагрузки компа. Но хочется как-то обойти использование GUI, чтобы только запустить батник и все сразу нормально заработало.
В логах безопасности никакой инфы о подключения не нашел. Через Управление компьютером можно смотреть (так же как и через управление ролью Файловые сервер) текущие сеансы. Но там, как я понимаю, именно отображаются текущие установленные сеансы. А попытки подключения сетевого диска там не отображаются. Как-то далеко мы уже от темы с бат-файлами ушли. Вообщем проблема такова: как с помощью командной строки добавить ключ с записью login2???
Ответ фактически прописан здесь: http://support.microsoft.com/kb/287536
Там прямо так и написано: "По умолчанию, механизм "Сохранение имен пользователей и паролей" создает "ключ" для любого подключения в интерфейсе GUI, требующего использования различных учетных данных. При создании подключения из командной строки с использованием команды "net use" и при вводе учетной информации данный ключ не создается."
И приводится пример для ключа /savecred. Только он не работает у меня (см. посты выше). Кто-нибудь знает, как им точно пользоваться?

Добавлено:
Нашел вот здесь: http://forum.ixbt.com/topic.cgi?id=22:62104#15
Но что это за папка такая IPC$? Это какая-то системная шара. На серваке у меня она тоже есть. После выполнения команды:

Код: net use \\server\IPC$ /user:login2
Автор: res2001
Дата сообщения: 09.02.2011 14:33
gammaray
Ну тогда посмотри сюда: net help use

Затем задай пароль для login2 и этот пароль задавай сразу в net use и указывай ключи /savecred и /persistent:yes
Может получится.

Надеюсь у тебя рабочка не на WinXP Home?


Цитата:
И что означает маппинг net use без указания сетевого диска?

Ты же можешь обращаться к ресурсу и по UNC типа \\server\share\document.doc и вовсе не обязательно назначать букву шаре. Команда net use без указания сетевого диска скажет винде, что надо использовать указанное имя пользователя и пароль для доступа к указанной шаре.

Добавлено:

Цитата:
приводит к ошибке "Используется команда с конфликтующими ключам"

Может имеется ввиду, что конфликтует с уже сохраненной конфигурацией.
Автор: gammaray
Дата сообщения: 09.02.2011 14:50
res2001
Смотри, ситуация такая. Я заранее удалил все сохраненные ключи. Про хелпы я уже перечитал кучу инфы! Я щас вообще тестирую на клиенте Windows 7 Ultinate. Конечные компы на Win XP Pro, так что механизм сохранения паролей там есть (в курсе, что его нет на Home). Так вот. Пароля у login2 нет. Как в net use кстати это указать (что пароль пустой). Да и до пароля даже дело не доходит.

Код: net use z: \\server\folder /u:login2 /savecred
Автор: res2001
Дата сообщения: 09.02.2011 15:03
gammaray
Задай юзеру пароль!
Если с /savecred не прокатит, посмотри, может достаточно будет /persistent:yes.

Добавлено:
да, в net help use про savecred написано, что этот параметр игнорируется, если пароль не запрашивается.
Автор: gammaray
Дата сообщения: 09.02.2011 15:23
res2001
Не могу я пароль поставить. Идеология такая, что у нас паролей быть не должно. Только один для входа на сервер и все. Это уже не мои замуты... Да и дело не в пустом пароле. Так

Код: net use z: \\server\folder "" /user:login2
Автор: res2001
Дата сообщения: 09.02.2011 15:39
gammaray
Я тебе уже выше написал про это, вот цитата из хелпа:

Цитата:
/SAVECRED Указывает, что имя пользователя и пароль следует
сохранить. Этот параметр игнорируется, если команда не
запрашивает имя пользователя и пароль.


Похоже способа сделать то что ты хочешь и так как ты хочешь нет.
Выбирай другие варианты.
Автор: gammaray
Дата сообщения: 09.02.2011 15:40
Бред полный. Вот нашел, что нельзя юзать одновеременно /user: и /savecred...
http://technet.microsoft.com/ru-ru/library/cc756153(WS.10).aspx
Видно более свежая инфа, чем здесь http://support.microsoft.com/kb/287536
Да и в последней там про Win XP, может уже переделали на 7-ке... Хотя конечно вряд ли. Но все таки по последней ссылке упоминается ключ /u: (вместо /user, но он тоже не работает. Или это ничего не меняет, а там только имеется ввиду, что нельзя с помощью * принудительно заставлять вводить пароль?
Млин, ну неужели никак тупо через консоль нельзя этот логин ввести, чтобы его пользователь не видел??? Я уже щас вскроюсь... 2 день над этим сижу...

Добавлено:
res2001
А какие другие варианты-то есть? Каким-то образом можно этот ключ добавить с помощью другой команды (не net use /savacred)?
Автор: res2001
Дата сообщения: 09.02.2011 15:51
gammaray

Цитата:
А какие другие варианты-то есть?

1.есть утилита sanur - для автоматического ввода пароля в runas, может она же прокатит и с net use, Сам не пробовал ее с net use, но в с runas она отрабатывала.

2.Завести всех юзеров на сервере.
3.Вставить батник в автозагрузку.

пока все
Автор: gammaray
Дата сообщения: 09.02.2011 15:57
res2001
2 и 3 пункт я уже писал выше, что не подходят... Что-то я этот sanur нигде найти не могу... Не поделишься ссылкой?

Добавлено:
Lsrunas http://www.moernaut.com/default.aspx?item=lsrunas вот это по ходу она? Название видать поменяли... Только вот как искать замену для net use? Да и вообще она не покатит. Стороннее ПО - это уже большое усложнение. Проще уже тогда ручками через GUI Управление паролями поправить...
Автор: Road Runner J
Дата сообщения: 09.02.2011 19:12
Помогите создать ещё один простенький скрипт:

поиск запущенного процесса PROGRAM.EXE
если существует ВЫХОД
если не существует ЗАПУСК C:\Program Files\PROGRAM.EXE
ВЫХОД


вот так замутил, но окно cmd остаётся.

Код: cls
@echo off
tasklist | find /i /c "client.exe" | find /v "1" >nul&& "C:\Program Files (x86)\MightyKey\v2.3.0.33\client.exe"
exit
Автор: Misha1989
Дата сообщения: 09.02.2011 19:15
karinas
Цитата:
нужен reg файл или батничек который бы создавал в HKEY_CLASSES_ROOT\Wow6432Node\MediaType\Extensions раздел .wmv а в нем строку Source Filter со значением {D8980E15-E1F6-4916-A10F-D7EB4E9E10B8}

Для запуска в 64-битном режиме:
reg add "HKEY_CLASSES_ROOT\Wow6432Node\MediaType\Extensions\.wmv" /v "Source Filter" /d "{D8980E15-E1F6-4916-A10F-D7EB4E9E10B8}" /f

Этот ключ реестра использует 32-битное приложение.
Автор: 01MDM
Дата сообщения: 09.02.2011 19:47
Road Runner J

Код:
@echo off

tasklist | findstr "client.exe" || start "" "C:\Program Files (x86)\MightyKey\v2.3.0.33\client.exe"
Автор: dudrill
Дата сообщения: 10.02.2011 09:49
Подскажите пожалуйста решение, есть программа установленная по пути c:\share\listtv\, в ней создана папка obnov, в папке следующий батник.

@echo off
del /q inter-tv.zip
del /q inter-tv.txt
wget http://www.teleguide.info/download/new3/inter-tv.zip
unzip inter-tv.zip
copy inter-tv.txt c:\share\listtv

страшненький конечно, но работает и будет работать если не изменить путь к программе, вот и вопрос возник как путь сделать относительным, чтоб из вложенной папки obnov, файл копировался в папку с программой. Самостоятельно не дошел, возможно есть вариант с получение пути через "%~dp0", но у меня так выходит скопировать в вышестоящую папку типа "%~dp0\papka", наоборот не знаю как. Положить батник в корень программы не получится, т.к. программа пытается обновиться с любых файлов находящихся в ее корне. Надеюсь понятно изложил. Спасибо.
Автор: res2001
Дата сообщения: 10.02.2011 09:58
dudrill
copy inter-tv.txt ..\
Автор: king_stiven
Дата сообщения: 10.02.2011 09:59
dudrill

Код: @echo off
del /q inter-tv.zip
del /q inter-tv.txt
wget http://www.teleguide.info/download/new3/inter-tv.zip
unzip inter-tv.zip
cd ..
copy inter-tv.txt "%cd%"
Автор: dudrill
Дата сообщения: 10.02.2011 10:51
Спасибо за ответы.
res2001 - краткость сестра таланта, как просто, а я даже найти этого не смог.
king_stiven - так тоже работает, только строчку пришлось поменять на эту copy "%cd%\obnov\inter-tv.txt" "%cd%" иначе он не видит где текстовый файл.
Еще раз спасибо, домой приду, натравлю наконец батничек на программу.
Автор: Kilyan
Дата сообщения: 11.02.2011 12:17
Доброго дня!
Помогите с задачей! плиз...
Есть файл содержимое:

Код: #define COMPANY_NAME "CompanyName"
#define FILE_DESCRIPTION "FileDescription"
#define FILE_VERSION "FileVersion"
#define INTERNAL_NAME "InternalName"
#define LEGAL_COPYRIGHT "LegalCopyright"
#define ORIGINAL_FILENAME "OriginalFilename"
#define PRODUCT_NAME "ProductName"
#define PRODUCT_VERSION "ProductVersion"
Автор: king_stiven
Дата сообщения: 11.02.2011 13:28
Kilyan
утилиты?
Автор: Kilyan
Дата сообщения: 11.02.2011 13:49
king_stiven без разницы, но хотелось бы родными средствами ОС. Весь геморой с этими кавычками и пробелами... Экранировать не получается
Автор: Misha1989
Дата сообщения: 11.02.2011 14:45
Kilyan
Утилита gsar элементарно это делает, мгновенно, можно прямо этот файл подправить. Если батником - надо построчно создавать новый файл, это очень медленно работает.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: зависает установка Windows XP: 39 минут


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.