반응형

안녕하세요 유똥입니다.

오늘은 윈도우 기본 설정 자동 스크립트에 대하여 포스팅 진행하겠습니다.

 

예를 들어서, 여러 대의 컴퓨터를 사용하시거나 혹은 서버를 운영하시는 호스팅 업체라면 윈도우 기본 설정들을 GUI에서 설정하려면 시간이 소유될 수 있습니다. 그래서, 해당 설정에 대해 시간을 단축하고자 해당 스크립트 설정을 만들어 보았습니다. 

 

아래의 스크립트 설정 시 적용되는 항목들은 아래의 참고해주시길 바랍니다.

네트워크 설정, 패스워드 변경, 호스트 이름 변경, 시간 동기화, 윈도우 업데이트 확인 및 설치, 디스크 초기화 및 생성, NetBIOS 사용 안 함 설정, Microsoft 네트워크용 파일 및 프린터 공유 체크 해제, Qos 패킷 스케줄러 체크 해제, 인터넷 프로토콜 버전 6 체크 해제 

 

 사용 방법

 

필요한 항목에 대하여 번호 선택

 


 1. Administrator 패스워드 설정

 

저의 경우 패스워드 비밀번호는 qwe123로 설정하였습니다.

 


 

 2. 호스트 네임 설정

 

 

저의 경우 호스트 네임 설정은 yu로 설정하였습니다.

 


 

 3. 네트워크 설정

저의 경우, 이더넷은 Intel Ethernet i210 #1 설정하였으며,

IP는 192.168.0.58

NETMASK 255.255.255.0

GATEWAY 192.168.0.1

DNS 설정은 210.220.163.82 하였습니다.

 

IP 설정이 완료되면, 자동으로 NetBIOS 사용 안 함 설정, Microsoft 네트워크용 파일 및 프린터 공유 체크 해제, Qos 패킷 스케줄러 체크 해제, 인터넷 프로토콜 버전 6 체크 해제 설정이 완료됩니다.

 


 

 

 4. 디스크 파티션, 시간 동기화, 윈도우 업데이트 설정

디스크가 한 개일 경우 1
디스크가 두 개일 경우 2를 선택해주시면 됩니다.

윈도우 업데이트의 경우 자동 설치가 진행됩니다.


 윈도우 자동 설정 스크립트

@echo off
color 0a
title windows default setting
 
:menu
cls
echo 1. Administrator 패스워드 설정
echo 2. 호스트 네임 설정
echo 3. 네트워크 설정
echo 4. 디스크 파티션, 시간동기화, 윈도우 업데이트 설정 
echo.
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do     rem"') do (
  set "DEL=%%a"
)
call :colorEcho 5e "Welcome Windows default settings bat file"
echo.
echo.
pause
exit
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
echo.
set /p menu= 번호를 선택해주세요 :
if "%menu%"=="1" goto pw
if "%menu%"=="2" goto host
if "%menu%"=="3" goto net
if "%menu%"=="4" goto disk
goto menu
 
 
:pw
set pw=
cls
echo 1. Administrator 패스워드 설정
set /p pw=패스워드 입력 :
net user Administrator %pw%
if "%pw%" == "" goto pw
powershell.exe -command write-host -fore Cyan [Administrator 패스워드 설정] 완료 되었습니다.
pause
goto menu
 
:host
set host=
cls
echo 2. 호스트 네임 설정
set /p ren=호스트 네임 입력 :
wmic ComputerSystem Where Name="%COMPUTERNAME%" Call Rename Name="%ren%"
if "%ren%" == "" goto host
powershell.exe -command write-host -fore Cyan [호스트 네임 설정] 완료 되었습니다.
pause
goto menu
 
:net
set net=
cls
echo 3. 네트워크 설정
echo 1) IP Adress Setting
echo ====================
powershell.exe -command "get-netadapter -Name Intel* | Format-Table -property Name, MacAddress"
echo =====================
set /p Ethernet=이더넷명 입력 :
set /p IP=INPUT IP 입력 :
set /p MASK=INPUT NETMASK 입력 :
set /p GW=INPUT GATEWAY 입력 :
netsh interface ipv4 set address "%Ethernet%" static "%IP%" "%MASK%" "%GW%"
powershell.exe -command write-host -fore Cyan [ IP 설정 ] 완료 되었습니다.
echo.
echo 2) DNS Setting
set /p Ethernet=INPUT Ethernet :
set /p DNS=DNS ADDRESS:
netsh interface ipv4 set dns "%Ethernet%" static %DNS%
powershell.exe -command write-host -fore Cyan [ DNS 설정 ] 완료 되었습니다.
echo.
ipconfig | findstr -i "ipv4"
ipconfig | findstr -i "서브넷"
ipconfig | findstr -i "게이트웨이"
netsh interface ipv4 show dnsservers | findstr /i "정적으로"
pause
cls
 
echo 3) Network Option Setting
powershell.exe -Command set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces\tcpip* -Name NetbiosOptions -Value 2
powershell.exe -command write-host -fore Cyan [ NetBIOS Disable ] 완료 되었습니다.
powershell.exe -Command Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6
powershell.exe -command write-host -fore Cyan [ IPv6 Disable ] 완료 되었습니다.
powershell.exe -Command Disable-NetAdapterBinding -Name "*" -ComponentID ms_server
powershell.exe -command write-host -fore Cyan [ File and Printer Sharing for Microsoft Networks Disable ] 완료 되었습니다.
powershell.exe -Command Disable-NetAdapterBinding -Name "*" -ComponentID ms_pacer
powershell.exe -command write-host -fore Cyan [ QoS Packet Scheduler Disable ] 완료 되었습니다.
pause
goto menu
cls
 
:disk
cls
echo 4. 디스크 파티션, 시간동기화, 윈도우 업데이트 설정
set /p Input= INPUT Server Spec (1/2) :
) 

if %Input% ==  1   (
echo 1
cd C:\
echo Disk Partition setting
echo > con DISKPART.txt
echo select disk 1 >> DISKPART.txt
echo delete partition override >> DISKPART.txt
echo clean >> DISKPART.txt
echo create partition primary >> DISKPART.txt
echo select partition 1 >> DISKPART.txt
echo format fs=ntfs quick >> DISKPART.txt
echo active >> DISKPART.txt
echo assign >> DISKPART.txt
diskpart < DISKPART.txt
powershell.exe -command write-host -fore Cyan [ DISK 설정 ] 완료 되었습니다.
wmic logicaldisk get name,size
pause
cls
net stop w32time
net start w32time
w32tm /config /syncfromflags:manual /manualpeerlist:time.bora.net /update
w32tm /config /update
net stop w32time
net start w32time
w32tm /resync
powershell.exe -command write-host -fore Cyan [ 시간 동기화 ] 완료 되었습니다.
pause
C:\Windows\System32\wuauclt.exe /ShowWUAutoScan
start ms-settings:windowsupdate-action
del C:\test.bat
exit
   
) 

if %Input% == 2 (
echo 2
cd C:\
echo Disk Partition setting
echo > con diskpart.txt
echo select disk 1 >> diskpart.txt
echo delete partition override >> diskpart.txt
echo clean >> diskpart.txt
echo create partition primary >> diskpart.txt
echo select partition 1 >> diskpart.txt
echo format fs=ntfs quick >> diskpart.txt
echo ASSIGN letter =E >> diskpart.txt
echo active >> diskpart.txt
echo select disk 2 >> diskpart.txt
echo delete partition override >> diskpart.txt
echo clean >> diskpart.txt
echo create partition primary >> diskpart.txt
echo select partition 1 >> diskpart.txt
echo format fs=ntfs quick >> diskpart.txt
echo ASSIGN letter =D >> diskpart.txt
echo active >> diskpart.txt
echo exit >> diskpart.txt
echo DISKPART / s diskpart.txt >> diskpart.txt
diskpart < diskpart.txt
powershell.exe -command write-host -fore Cyan [ DISK 설정 ] 완료 되었습니다.
wmic logicaldisk get name,size
pause
cls
net stop w32time
net start w32time
w32tm /config /syncfromflags:manual /manualpeerlist:time.bora.net /update
net stop w32time
net start w32time
w32tm /resync
powershell.exe -command write-host -fore Cyan [ 시간 동기화 ] 완료 되었습니다.
pause
C:\Windows\System32\wuauclt.exe /ShowWUAutoScan
start ms-settings:windowsupdate-action
del C:\test.bat
exit
)

여기까지 완료하면, 윈도우 기본 설정 자동 스크립트 대하여 알아보았습니다.

모두 고생하셨습니다.

 

도움이 되셨다면 구독 좋아요

궁금한 내용이 있으시면 댓글 부탁드리겠습니다!!

 

모두 고생하셨습니다.

 

test.bat
0.01MB

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
});