Skip to content

Instantly share code, notes, and snippets.

@beeyev
Created April 10, 2015 12:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beeyev/dec2fd77b45bee577452 to your computer and use it in GitHub Desktop.
Save beeyev/dec2fd77b45bee577452 to your computer and use it in GitHub Desktop.
Change pc name according to its MAC
SET NAME_PREFIX=PC
chcp 1251
@echo off
setlocal
Reg.exe query "HKU\S-1-5-19\Environment"
If Not %ERRORLEVEL% EQU 0 (
Cls & Echo Необходимо запустить файл с правами администратора!
Pause & Exit
)
cls
FOR /F %%A IN ('getmac') DO SET MAC=%%A
REM Remove dashes
set MAC=%MAC:-=%
REM Remove first 4 chars
set MAC=%MAC:~4%
REM conver to decimial
SET /A NUM_NAME = 0x%MAC%
REM keep only last 5 digits
set NUM_NAME=%NUM_NAME:~-5%
set COMP_NAME=%NAME_PREFIX%-%NUM_NAME%
:SETMACNAME_ASK
echo Текущее имя компьютера %COMPUTERNAME%, установить новое имя %COMP_NAME%?
CHOICE /C:12 /M "1 - Да, 2 - Нет"%1
IF ERRORLEVEL 2 GOTO CHANGELABELS_ASK
IF ERRORLEVEL 1 GOTO SETMACNAME
:SETMACNAME
wmic computersystem where name='%COMPUTERNAME%' call rename name='%COMP_NAME%'
CLS
ECHO.
ECHO Установлено новое имя компьютера: %COMP_NAME%
:CHANGELABELS_ASK
ECHO.
echo Сменить имена логических дисков С: - SYSTEM, D: - DATA?
echo Внимание, убедитесь что логическому диску D назначена соответсвующая буква!
CHOICE /C:12 /M "1 - Да, 2 - Нет"%1
IF ERRORLEVEL 2 GOTO RELOCATEPROFILES_ASK
IF ERRORLEVEL 1 GOTO CHANGELABELS
:CHANGELABELS
label C: SYSTEM
label D: DATA
ECHO.
echo Имена логических дисков изменены
:RELOCATEPROFILES_ASK
ECHO.
echo Преместить каталог профилей пользователей на диск D?
echo Внимание, убедитесь что логическому диску D назначена соответсвующая буква!
CHOICE /C:12 /M "1 - Да, 2 - Нет"%1
IF ERRORLEVEL 2 GOTO END
IF ERRORLEVEL 1 GOTO RELOCATEPROFILES
:RELOCATEPROFILES
if not exist D: (
echo.
echo Диск D: отсутствует! Назначьте диску D соответсвующую букву и нажмите повтор.
CHOICE /C:12 /M "1 - Повтор, 2 - Отмена"%1
IF ERRORLEVEL 2 GOTO END
IF ERRORLEVEL 1 GOTO RELOCATEPROFILES
)
if not exist D:\Users (
mkdir D:\Users
echo Создан каталог D:\Users
) else (
echo Каталог D:\Users уже существует
)
Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v "ProfilesDirectory" /t REG_EXPAND_SZ /d "D:\Users" /f
echo Новые профили пользователей будут создаваться на диске D:
:FINISH_ASK
echo.
echo Все задачи выполнены, перезагрузить компьютер?
CHOICE /C:12 /M "1 - Да, 2 - Нет"%1
IF ERRORLEVEL 2 GOTO END
IF ERRORLEVEL 1 GOTO FINISH
:FINISH
shutdown -t 0 -r -f
:END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment