Автоскрипты WinPE

Я только что установил загрузочный UFD с WinPE 3.0, и мне нужно, чтобы он автоматически запускал пару сценариев при загрузке.

Мне было интересно, есть ли у кого-нибудь совет по настройке автоматических сценариев для вывода списка разделов на локальном диске, отображения даты системы, отображения текущего IP-адреса и захвата образа локального диска.

Если кто-то может помочь, это было бы здорово! Спасибо.


person user1438615    schedule 06.06.2012    source источник


Ответы (2)


Создавайте сценарии самостоятельно и проверяйте их функциональность, прежде чем помещать их в WinPE. Затем смонтируйте WinPE, чтобы вы могли редактировать его и поместить все свои скрипты в WinPE.

Команда монтирования:

DISM /Mount-WIM /WimFile:C:..[каталог, где находится ваше вино]\ISO\sources\boot.wim /index:1 /MountDir:mount

Затем поместите свои сценарии в папку внутри папки монтирования (в которой теперь должны быть вещи). После этого вы можете легко вызвать их, изменив файл ..\Windows\System32\startnet.cmd.

ПРИМЕЧАНИЕ: НЕ УДАЛЯЙТЕ первую строку wpeinit. Просто добавьте после него: start <scriptname.bat or .vbs>

Сохрани и закрой.

Имейте в виду: если вы выполняете сценарии внутри WinPE, которые обрабатывают что-либо с сетевой картой, вам нужно будет вставить сетевые драйверы в вашу WinPE. Как только ваш winpe загружается, он сначала автоматически вызывает startnet.cmd.

Некоторые обучающие материалы для этого можно найти здесь.

person Zero    schedule 16.07.2012

Я добавил пакетный файл в загрузочный образ WinPE, который выполняет многие из этих задач. Сначала он проверяет, действительно ли вы используете WinPE (а не запускаете пакетный файл из другой ОС).

set pVersion=WinPE not found
for /F "usebackq tokens=3" %%A IN (`reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinPE" /v "Version" 2^>nul ^| find "Version"`) do (
set pVersion=%%A
)
echo WinPE Version: %pVersion%
IF /I "%pVersion%"=="3.0" GOTO ContinueProc
IF /I "%pVersion%"=="4.0" GOTO ContinueProc
echo *************************************************************************
echo **  ERROR: This restore batch file can only be used in WinPE version   **
echo **  3.0 and 4.0                                                        **
echo *************************************************************************
GOTO ExitInstall

Затем я перечисляю информацию о диске, томе и разделе для диска 0 пользователю через...

diskpart /s list.txt

...где list.txt содержит...

list disk
list volume
select disk 0
list partition
exit

Затем мой пакетный файл очистит диск 0, отформатирует диск и применит образ диска. Я использую imagex для захвата и применения изображений. В вашем случае вы заявили, что хотите захватить образ диска, который вы можете сделать на сетевом диске, другом жестком диске, жестком диске USB или UFD.

Eg.

imagex /capture c: y:\mydiskimage.wim "My system disk"

Чтобы просмотреть IP-адрес, вы можете просто запустить ipconfig.

Если вы хотите, чтобы ваш пакетный файл автоматически запускался при загрузке, вы можете попробовать отредактировать/создать winpeshl.ini, который, если он будет добавлен в папку Windows\System32, запустит пользовательские процессы.

Я убеждаюсь, что у меня есть startnet.cmd, затем перечисляю, что я хочу запустить. Я добавил setlw.exe (поиск в Интернете), чтобы убедиться, что мой UFD всегда имеет букву диска Y. Затем вы можете запустить свой пакетный файл в качестве последнего элемента. В этом примере я также добавил cmd, чтобы пользователь получил командную строку, когда все будет завершено.

[LaunchApps]
%SYSTEMDRIVE%\Windows\system32\startnet.cmd
%SYSTEMDRIVE%\Windows\system32\setlw.exe
Y:\sources\mybatchfile.cmd
%SYSTEMDRIVE%\Windows\system32\cmd.exe

Примечание: одна из первых команд, запускаемых моим командным файлом:

chdir /D %~dp0

... чтобы изменить каталог на расположение командного файла.

person clsturgeon    schedule 28.11.2013