Windows 10 IoT Enterprise 2019 - ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ

์†Œ๊ฐœ

์œˆ๋„์šฐ 10 IoT ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ 2019 ์€ Windows 10์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๋งˆ์ผ€ํŒ… ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์˜ ๋ฆด๋ฆฌ์Šค๋Š” ๊ฐ๊ฐ 2018๋…„ 1809์›”์— ๋ฐœํ‘œ๋˜์—ˆ์œผ๋ฉฐ ๋ฒ„์ „์€ 18์ด๋ฉฐ, 09์€ ์—ฐ๋„, 10๋Š” ์›”์ž…๋‹ˆ๋‹ค. Windows 1809 XNUMX์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ๋งŽ์€ ๊ธฐ์‚ฌ๊ฐ€ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ ๊ฐ€์ •์—์„œ ์š”๊ตฌ๋˜๋Š” ๋‹ค์–‘ํ•œ "ํ™œ", "๋ฏธ์ธ" ๋ฐ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๊ณ ์ • ๋ชฉ์  ์žฅ์น˜ ์ œ์กฐ์—…์ฒด์—์„œ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, "ํ‚ค์˜ค์Šคํฌ" ๋ชจ๋“œ์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ถ€๋ฌธ์˜ Windows ๋ฒ„์ „์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์ฒด๊ณ„ ์ด๋ฆ„ ๋ณ€๊ฒฝ ์ฃผ์ œ๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

์ƒˆ ์ด๋ฆ„์˜ ์ด์ „ ์„œ๋น„์Šค ์ฒด๊ณ„

๊ฐ„๋‹จํ•œ ์„ค๋ช…๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Windows ๋ฒ„์ „์˜ ๊ธฐ์—… ๋ถ€๋ฌธ์—๋Š” Windows๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€ ์„œ๋น„์Šค ์ฒด๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์—๋Š” ๋ฌธ์ž ์ง€์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์„œ๋น„์Šค ๋ถ„๊ธฐ๋Š” LTSC ๋ฐ SAC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

LTSC๋Š” ๋‹ค์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์žฅ๊ธฐ ์„œ๋น„์Šค ์ฑ„๋„ (์žฅ๊ธฐ ์œ ์ง€ ๊ด€๋ฆฌ ํฌํ•จ). ์ด์ „์—๋Š” ์ด๋Ÿฌํ•œ ์ฑ„๋„์„ LTSB(Long Term Servicing Branch)๋ผ๊ณ  ํ–ˆ์ง€๋งŒ Microsoft์—์„œ๋Š” ์„œ๋น„์Šค ์ฑ„๋„์˜ ์ด๋ฆ„๋งŒ ๋ณ€๊ฒฝํ–ˆ์„ ๋ฟ ์„œ๋น„์Šค ์ž์ฒด๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Microsoft๋Š” ๋˜ํ•œ ์„œ๋น„์Šค ๋ถ„๊ธฐ CBB(๋น„์ฆˆ๋‹ˆ์Šค์šฉ ํ˜„์žฌ ๋ถ„๊ธฐ)์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ–ˆ์œผ๋ฉฐ ์ด์ œ ์ด ์„œ๋น„์Šค ๋ถ„๊ธฐ๋Š” SAC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๊ธฐ ๋ณ„ ์ฑ„๋„. ์ด๋ฒˆ์—๋„ ์ด๋ฆ„๋งŒ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ LTSC ๋ฐ SAC ์„œ๋น„์Šค ๋ถ„๊ธฐ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ Windows ๋ฐฐํฌํŒ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

SAC์˜ ์ƒˆ๋กœ์šด ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…

์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด LTSC์™€ SAC๋Š” ๋ฐฐํฌํŒ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. LTSC์—๋Š” ํ‘œ์ค€ ๋ฒ”์šฉ ์•ฑ์ด๋‚˜ ์•ฑ ์Šคํ† ์–ด๊ฐ€ ์—†์ง€๋งŒ SAC์—๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ LTSC์—๋Š” Edge ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—†์ง€๋งŒ SAC์—๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์˜ค์Šคํฌ๋ฅผ ์„ค์ •ํ•  ๋•Œ Edge ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์„ ํƒํ•˜๋ฉด ์ด์ œ ๋‘ ๊ฐ€์ง€ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋””์ง€ํ„ธ ์‚ฌ์ธ ๋˜๋Š” ๋Œ€ํ™”ํ˜• ๋””์Šคํ”Œ๋ ˆ์ด๋กœ
  2. ๊ณต๊ฐœ ๋ธŒ๋ผ์šฐ์ €์ฒ˜๋Ÿผ

์ด ๋ชจ๋“œ ์„ค์ •์— ๋Œ€ํ•ด์„œ๋Š” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด... ์„ค์ •์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋ฉฐ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›์ด ์•„๋‹Œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  EDGE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•œ ํ›„ ์ด๋Ÿฌํ•œ ๋ชจ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ–์ถ˜ ํ‚ค์˜ค์Šคํฌ

์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ ํ—ˆ๊ฐ€๋œ ์‚ฌ์šฉ์ด Windows 10 IoT ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ด๋Š” ์žฅ์น˜์—์„œ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žฅ์น˜๋Š” ๋‹จ์ผ ๋น„์ฆˆ๋‹ˆ์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๋Š” ๋ฐ์Šคํฌํ†ฑ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Microsoft ์ž์ฒด์—์„œ ๋งŽ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋ฅผ "๋ฉ€ํ‹ฐ ์•ฑ ํ‚ค์˜ค์Šคํฌ"๋ผ๊ณ  ํ•˜๋ฉฐ, ์ดํ•˜์—์„œ๋Š” ๊ฐ„๋žตํ•˜๊ฒŒ "๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ"๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์™€ ์ด ๋ชจ๋“œ์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ์— ๋Œ€ํ•ด ์กฐ๊ธˆ

๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ๊ฐ€ ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ํƒœ๋ธ”๋ฆฟ ๋ชจ๋“œ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ๋ฉ”๋‰ด๊ฐ€ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ™•์žฅ๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํƒ€์ผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ • ๋ฐ ๋ชจ๋“œ ๊ธฐ๋Šฅ ๋ชฉ๋ก:

  1. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์„ค์ •
  2. ๊ฐ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ๊ฐœ๋ณ„ ์„ค์ •์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ฒ”์šฉ ๋ฐ ํด๋ž˜์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ
  4. ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ
  5. ํ—ˆ์šฉ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  6. ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋”์— ์•ก์„ธ์Šค

ํฌ์ธํŠธ 5์— ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์Šคํ…œ ์ž‘๋™์— ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์ž‘๋™์ด ํ—ˆ์šฉ๋˜๋ฉฐ, ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ—ˆ์šฉ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ์ด์ œ AppLocker๋ฅผ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ AppLocker ์„ค์ •๊ณผ์˜ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ค‘ ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ์—์„œ๋Š” ๊ตฌ์„ฑ๋œ ๋ชจ๋“  AppLocker ๊ทœ์น™์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํฌ์ธํŠธ 6์€ ์ข‹์€ ์˜ต์…˜์„ ๋‚˜ํƒ€๋‚ด์ง€๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” "๋‹ค์šด๋กœ๋“œ" ํด๋”์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒ”์šฉ ๋ฐ ํด๋ž˜์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ชจ๋“œ ์„ค์ •์€ XML ํŒŒ์ผ์— ์ง€์ •๋˜๋ฉฐ, ๋‹จ์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ‚ค์˜ค์Šคํฌ์— ๋Œ€ํ•œ ์„ค์ •๋„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋ชจ๋“  ๊ฒƒ์„ ์„ค์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์ด ํ•„์š”ํ•œ๊ฐ€...

  1. ์šฐ์„  ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์‹œ์Šคํ…œ ์ž์ฒด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ฐ๋ชจ ๋ฒ„์ „
  2. ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ์„ค์ • ์ง€์นจ
  3. ๋ชจ๋“  XML ํŽธ์ง‘๊ธฐ
  4. ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ์„ค์ •์„ ์ ์šฉํ•˜๋ ค๋ฉด:
    1. ๋ฐฉ๋ฒ• 1๋ฒˆ - ADK์˜ ์ผ๋ถ€์ธ ICD. ADK๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค
    2. ๋ฐฉ๋ฒ• 2๋ฒˆ - PsExec ์œ ํ‹ธ๋ฆฌํ‹ฐ. ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค

๊ทธ๋Š” ๋งํ–ˆ๋‹ค - "๊ฐ€์ž!"

๋ชจ๋“  ์‹คํ—˜์€ ๋ฐ๋ชจ๋ฒ„์ „์ด ์•„๋‹Œ Windows 10 IoT Enterprise 1809 LTSC x32 ์ƒ์šฉ๋ฒ„์ „์—์„œ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๊ฐ€ ๋ถ€์กฑํ•ด๋„ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐ„์„ ๋œ ์ฐจ์ง€ํ•˜๊ณ  ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ์ž‘์—…์ด ๋” ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— 32๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

1๋‹จ๊ณ„ - ์„ค์น˜

Win 10 IoT Enterprise๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ Win 10 Enterprise๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š์œผ๋ฏ€๋กœ ์ „์ฒด ์„ค์น˜ ๊ณผ์ •์„ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ณ  ๋ช‡ ๊ฐ€์ง€ ๋‰˜์•™์Šค๋งŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ˜น์‹œ๋ผ๋„ ์„ค์น˜๋œ ์‹œ์Šคํ…œ ์œ„์— ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์Šคํ…œ ์„ค์น˜ ์œ„์น˜๋ฅผ ๋ฌป๋Š” ๊ฒฝ์šฐ ํ–ฅํ›„ ์‹œ์Šคํ…œ ๋””์Šคํฌ์˜ ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์„ ์‚ญ์ œํ•˜๊ณ  ํŒŒํ‹ฐ์…˜๋˜์ง€ ์•Š์€ ๋””์Šคํฌ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์ด ๋ถˆํ•„์š”ํ•œ ๊ฒƒ์„ ๊ฐ€์ ธ ์˜ค์ง€ ์•Š๋„๋ก ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์—†์ด ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ์‹œ์Šคํ…œ์˜ ๋ฐฑ์—… ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ์œ„ํ•ด ๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ ๋ด‰์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ค์น˜ ํ›„ ์ฆ‰์‹œ ๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ ์‹œ์Šคํ…œ์„ ๋กœ๋“œํ•˜์—ฌ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ์—์„œ ์ง€์—ญ์„ ์„ ํƒํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด โ€œ์ง€์—ญ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ?" ๊ทธ๋ƒฅ "Ctrl+Shift+F3"์„ ๋ˆ„๋ฅด์„ธ์š”.

2๋‹จ๊ณ„ - ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ๋งŒ๋“ค๊ธฐ

์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ์‹œ์Šคํ…œ์„ ๋ชจ์˜ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์ƒˆ๋กœ์šด ์„ค์ •์„ ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ญ”๊ฐ€ ์ž˜๋ชป๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฉฐ ์‹œ์Šคํ…œ์„ ์›๋ž˜ ์ƒํƒœ๋กœ ๋˜๋Œ๋ ค์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋น ๋ฅด๊ฒŒ ์›๋ž˜ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๋ ค๋ฉด ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•  ์œ ์ผํ•œ ์ผ์€ "์‹ ์‚ฌ ํ‚คํŠธ"(์Šคํฌ๋ฆฝํŠธ์™€ ์‘๋‹ต ํŒŒ์ผ)๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ๋ชจ๋“  ํŒŒ์ผ์€ ์‹œ์Šคํ…œ ๋””์Šคํฌ ๋ฃจํŠธ์— ๋ณต์‚ฌํ•œ "Sysprep" ํด๋”์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์—ฐํžˆ ์ด "์‹ ์‚ฌ ์„ธํŠธ"๋ฅผ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ณต์œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Sysprep.bat โ€“ ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•ฉ๋‹ˆ๋‹ค.

@echo off
chcp 1251>nul

net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)

tasklist /fi "ImageName eq sysprep.exe" | find /i "sysprep.exe"
if %errorlevel% lss 1 (taskkill /im sysprep.exe)

set AdminName=Admin
net user %AdminName%>nul 2>nul
if %errorLevel% neq 0 (call :AddAdmin "%AdminName%")
if %errorLevel% neq 0 (call :ShowMessage "โ€กโ€กโ€กะžัˆะธะฑะบะฐ ัะพะทะดะฐะฝะธั ะฝะพะฒะพะน ัƒั‡ะตั‚ะฝะพะน ะทะฐะฟะธัะธ ะฐะดะผะธะฝะธัั‚ั€ะฐั‚ะพั€ะฐ "%AdminName%"โ€กโ€กะะฐะถะผะธั‚ะต ะปัŽะฑัƒัŽ ะบะปะฐะฒะธัˆัƒ ะดะปั ะทะฐะฒะตั€ัˆะตะฝะธั ั€ะฐะฑะพั‚ั‹ ัะบั€ะธะฟั‚ะฐ"&pause>nul&exit)

pushd "%~dp0"

cls
call :ShowMessage โ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€ก
echo  1 - ะ—ะฐะฟะตั‡ะฐั‚ะฐั‚ัŒ ัะธัั‚ะตะผัƒ ะฒ ั€ะตะถะธะผะต ะฐัƒะดะธั‚ะฐ
echo  2 - ะ—ะฐะฟะตั‡ะฐั‚ะฐั‚ัŒ ัะธัั‚ะตะผัƒ ะฒ ั€ะตะถะธะผะต ะฟั€ะธะฒะตั‚ัั‚ะฒะธั
:Select
set /p Choice="ะ’ะฒะตะดะธั‚ะต ะฝะพะผะตั€ ะฟัƒะฝะบั‚ะฐ ะผะตะฝัŽ: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo ะ’ั‹ะฑั€ะฐะฝะพ ะฝะตะดะพะฟัƒัั‚ะธะผะพะต ะทะฝะฐั‡ะตะฝะธะต.&goto Select

exit

:Audit
    call :ShowMessage "โ€กโ€กโ€กโ€กโ€กะ—ะฐะฟะตั‡ะฐั‚ั‹ะฒะฐะฝะธะต ัะธัั‚ะตะผั‹ ะฒ ั€ะตะถะธะผะต ะฐัƒะดะธั‚ะฐ"
    reg add HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /t REG_SZ /d "taskkill /im sysprep.exe" /f
    %SYSTEMROOT%System32Sysprepsysprep.exe /audit /generalize /shutdown /quiet
goto :eof

:OOBE
    call :ShowMessage "โ€กโ€กโ€กโ€กโ€กะ—ะฐะฟะตั‡ะฐั‚ั‹ะฒะฐะฝะธะต ัะธัั‚ะตะผั‹ ะฒ ั€ะตะถะธะผะต ะฟั€ะธะฒะตั‚ัั‚ะฒะธั"
    reg delete HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /f
    powershell -command "(Get-Content -path 'Unattend.xml' -Raw).Trim() -replace 'Architecture=""".+?"""','Architecture="""%PROCESSOR_ARCHITECTURE%"""' | Set-Content -path 'Unattend.xml'"
    %SYSTEMROOT%System32Sysprepsysprep.exe /oobe /generalize /shutdown /quiet /unattend:Unattend.xml
goto :eof

:AddAdmin
    setlocal
    set UserName=%~1
    if not defined UserName (echo ะะต ัƒะบะฐะทะฐะฝะพ ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั&endlocal&exit /b 1)

    call :GetGroupName "S-1-5-32-544" AdminGroup
    if not defined AdminGroup (endlocal&exit /b 2)

    call :GetGroupName "S-1-5-32-545" UserGroup
    if not defined UserGroup (endlocal&exit /b 3)

    net user %UserName% /add
    wmic useraccount where "Name='%UserName%'" set PasswordExpires=False>nul
    net localgroup %AdminGroup% %UserName% /add
    net localgroup %UserGroup% %UserName% /delete
    endlocal&exit /b 0
goto :eof

:GetGroupName
    if "%~1"=="" (echo ะะต ัƒะบะฐะทะฐะฝ SID ะณั€ัƒะฟะฟั‹&goto :eof)
    set %2=
    for /f "tokens=2 delims= " %%i in ('whoami /groups /fo table^|find "%~1"') do set %2=%%i
    if not defined %2 (echo ะžัˆะธะฑะบะฐ ะพะฟั€ะตะดะตะปะตะฝะธั ะธะผะตะฝะธ ะณั€ัƒะฟะฟั‹ ะฟะพ SID'ัƒ "%~1")
goto :eof

:ShowMessage
    setlocal enabledelayedexpansion
    set String=%~1
    if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
    set /a ConCols=120 & set /a Num=1
    set "String[!Num!].str=%String:โ€ก=" & set /a Num+=1 & set "String[!Num!].str=%"
    for /l %%a in (1,1,%Num%) do (
        for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
        if not defined String[%%a].str (set String[%%a].str= )
        if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
        if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
    setlocal disabledelayedexpansion
goto :eof

์‹คํ–‰๋˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋Š” "๊ด€๋ฆฌ์ž" ๊ณ„์ •์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ๊ณ„์ •์ด ์—†์œผ๋ฉด ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ •์ด ๊ด€๋ฆฌ์ž ๊ทธ๋ฃน์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

Unattend.xml โ€“ sysprep์— ๋Œ€ํ•œ ์‘๋‹ต ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
                    <Order>1</Order>
                    <Description>Dont show key page</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                    <Order>2</Order>
                    <Description>Dont make account</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>cmd.exe /c rd %systemdrive%Sysprep /s /q</Path>
                    <Order>3</Order>
                    <Description>Del Folder</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <AutoLogon>
                <Enabled>true</Enabled>
                <Username>Admin</Username>
            </AutoLogon>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>en-US; ru-RU</InputLocale>
            <SystemLocale>ru-RU</SystemLocale>
            <UILanguage>ru-RU</UILanguage>
            <UILanguageFallback></UILanguageFallback>
            <UserLocale>ru-RU</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>1</ProtectYourPC>
            </OOBE>
        </component>
    </settings>
</unattend>

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ ๋ด‰์ธํ•  ๋•Œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ sysprep ์ฐฝ์„ ๋‹ซ์ง€ ์•Š๋„๋ก "sysprep.exe" ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์„ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Hello ๋ชจ๋“œ๋กœ ๋ด‰์ธ๋˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ฐฝ์„ ๋‹ซ๋Š” ๋ช…๋ น์„ ์ œ๊ฑฐํ•˜๊ณ  ์‘๋‹ต ํŒŒ์ผ์˜ ์•„ํ‚คํ…์ฒ˜ ๊ฐ’์„ ํ˜„์žฌ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ํŒŒ์ผ์—๋Š” ์‚ฌ์šฉ์ž ๊ฐœ์ž… ์—†์ด ์‹œ์Šคํ…œ์„ ๋ถ€ํŒ…ํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ ์‹œ์Šคํ…œ ๋“œ๋ผ์ด๋ธŒ ๋ฃจํŠธ์— ์žˆ๋Š” "Sysprep" ํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ โ€œSysprep.batโ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•˜๊ณ  ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. DISM์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ์ด๋ฏธ์ง€ํ™”ํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ณผ๋ฅจ๋งŒ ์ด๋ฏธ์ง€ํ™”ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ์‹œ์Šคํ…œ ๋ณผ๋ฅจ๋งŒ ์ด๋ฏธ์ง€ํ™”ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์„ ๋ฐฐํฌํ•œ ํ›„ "WindowsSystem32Recovery" ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋‚ด์šฉ์„ ์ฒซ ๋ฒˆ์งธ ๋ณผ๋ฅจ์˜ "RecoveryWindowsRE" ํด๋”์— ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด ์ž‘์—…์€ OS๋ฅผ ๋กœ๋“œํ•˜๊ธฐ ์ „์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. OS๋ฅผ ๋กœ๋“œํ•œ ํ›„ "WindowsSystem32Recovery" ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์ด๋ฏธ ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

3๋‹จ๊ณ„ โ€“ ์‹œ์Šคํ…œ์˜ ๋Ÿฌ์‹œ์•„ํ™”

์ด ํŒฉ์ด ์žˆ์œผ๋ฉด ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด ์–ธ์–ด ํŒฉ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„ค์ •์—์„œ ์–ธ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์‹œ์Šคํ…œ ์ž์ฒด๊ฐ€ ์ธํ„ฐ๋„ท์—์„œ ํ•ด๋‹น ์–ธ์–ด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ OS์—์„œ ์–ธ์–ด ํŒฉ์„ ๊ฐ€์ ธ์˜ฌ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. Windows 10 1809์˜ ๊ฒฝ์šฐ Windows 10 1809 ์ „์šฉ ์–ธ์–ด ํŒฉ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Microsoft๋Š” ํด๋ž˜์‹ ๋ฉ”๋‰ด์—์„œ ์ƒˆ ๋ฉ”๋‰ด๋กœ ์„ค์ •์„ ์ ์ง„์ ์œผ๋กœ ์ „์†กํ•˜๋ ค๋Š” ๊ณ„ํš์„ ๋”ฐ๋ฅด๊ณ  ์žˆ์œผ๋ฏ€๋กœ ํด๋ž˜์‹ ์ œ์–ดํŒ์—์„œ๋Š” ๋” ์ด์ƒ ์–ธ์–ด ๋ณ€๊ฒฝ ๋ฐ ์–ธ์–ด ํŒฉ ์„ค์น˜ ์„ค์ •์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค์ •์€ ์ด์ œ ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜์—๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ๋Š” ์‹œ์ž‘ ๋ฉ”๋‰ด์—์„œ ์‹œ์Šคํ…œ ์„ค์ •์„ ์—ฌ๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์„ค์ •์„ ์—ด๋ ค๋ฉด "ms-settings:" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋ช…๋ น ๋์— ์žˆ๋Š” ์ฝœ๋ก ์— ์ฃผ์˜ํ•˜์„ธ์š”. ์ž‘๋™ํ•˜์ง€. ์ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•œ ๋ฒˆ ์—ฐ ํ›„ ๊ทธ๋ž˜ํ”ฝ ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์ด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ์‹œ์Šคํ…œ ์„ค์ •์—์„œ ์–ธ์–ด ํŒฉ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋กœ์ปฌ ํŒŒ์ผ์—์„œ ์–ธ์–ด ํŒฉ์„ ์„ค์น˜ํ•˜๋„๋ก ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์€ ์—†์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ํ˜„์ง€ํ™” ๊ณผ์ •์€ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด... ํŠนํžˆ ํ˜„์ง€ํ™” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์‚ฌ๊ฐ€ ์ƒ๋‹นํžˆ ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ˜์†”์„ ์ด์šฉํ•˜์—ฌ ์–ธ์–ดํŒฉ์„ ์„ค์น˜ํ•œ ํ›„ ์‹œ์Šคํ…œ ์–ธ์–ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ํŠน์ดํ•œ ์ ์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ด์ „์— ๋งํฌ๋ฅผ ์ œ๊ณตํ•œ ๋™์ผํ•œ Wiki์˜ ํ•˜์œ„ ์„น์…˜์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. "์–ธ์–ด ๋ชฉ๋ก์— ์–ธ์–ด ์ถ”๊ฐ€ํ•˜๊ธฐ".

์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด ์–ธ์–ดํŒฉ์„ ์„ค์น˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ํ˜„์ง€ํ™”๋ฅผ ์™„๋ฃŒํ•œ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”.

4๋‹จ๊ณ„ - ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜

์™œ๋ƒํ•˜๋ฉด LTSB ๋ฐ LTSC ์‹œ์Šคํ…œ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํ† ์–ด๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— Microsoft Store์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋“ฑ์˜ ์–ด๋ ค์›€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด Adguard ํšŒ์‚ฌ๋Š” ๋งค์šฐ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. "์• ๋“œ๊ฐ€๋“œ ์Šคํ† ์–ด"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์ž„์‹œ ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋ ค๋ฉด "Appx" ๋ฐ "AppxBundle" ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ง๊ด€์ ์œผ๋กœ ๊ตฌ๋ณ„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธ€์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€์ง€ ์•Š๊ธฐ ์œ„ํ•ด, ํŠนํžˆ ์„ค์น˜์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ๋Š” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ง€์นจ. ํ•˜์ง€๋งŒ ํ˜„์žฌ ๊ณ„์ •์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค "์•ฑ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ", ๊ทธ๋Ÿฌ๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•˜์ง€๋งŒ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋˜์–ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. "์•ฑ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ".

๊ทธ๋ฆฌ๊ณ  ์ž‘์€ ์•Œ๋ฆผ์€ ํ˜„์žฌ ๊ณ„์ •์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•  ๋•Œ ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์œ„์˜ ์ง€์นจ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ์˜ ์ž‘๋™์„ ํ™•์ธํ•˜๋ ค๋ฉด ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

5๋‹จ๊ณ„ - ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ์šฉ ๊ตฌ์„ฑ ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

์ด์ œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ๋ถ€๋ถ„์ธ ํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ ์„ค์ •์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์‚ดํŽด ๋ณด์ž ์ง€์‹œ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ์„ค์ •์— ๋”ฐ๋ฅด๋ฉด. ์šฐ์„ , XML ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์˜ˆ์ œ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋ฅผ ๋ณด์•„๋ผ.

ํƒ€์ผ โ€‹โ€‹๋ ˆ์ด์•„์›ƒ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. XML ํƒ€์ผ ์‚ฌ์šฉ์ž ์ •์˜ ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ƒํƒœ ๋‚ด๋ณด๋‚ด๊ธฐ.

๋จผ์ € ์‹œ์ž‘ ๋ฉ”๋‰ด์— ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํƒ€์ผ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. "Win+s" ๊ฒ€์ƒ‰์„ ๋ถˆ๋Ÿฌ์™€์„œ ์›ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ฐพ์•„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  "์‹œ์ž‘ ํ™”๋ฉด์— ๊ณ ์ •"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์•ฑ์„ ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฉ”๋ชจ์žฅ
  • ๊ณ„์‚ฐ๊ธฐ
  • ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ
  • ํŽ˜์ธํŠธ
  • ์›Œ๋“œ ํŒจ๋“œ
  • ๋งค๊ฐœ ๋ณ€์ˆ˜
  • ์œˆ๋„์šฐ์ฆˆ

๋งˆ์ง€๋ง‰ ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ณ ์ •๋œ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ LTSC ํŒจํ‚ค์ง€์—๋Š” ๋‹ค๋ฅธ ๋ฒ”์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ”ํƒ•ํ™”๋ฉด ํƒ€์ผ์€ ๋ฐ”๋กœ๊ฐ€๊ธฐ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ์‹œ์ž‘ ๋ฉ”๋‰ด์—์„œ ํƒ€์ผ์„ ์ง์ ‘ ์ด๋™ํ•˜์—ฌ ๊ณ ์ •๋œ ํƒ€์ผ์„ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํƒ€์ผ ๊ทธ๋ฃน์„ ๋งŒ๋“ค๋ ค๋ฉด ํƒ€์ผ์„ ๋‹ค๋ฅธ ํƒ€์ผ๋ณด๋‹ค ํ›จ์”ฌ ๋†’๊ฑฐ๋‚˜ ๋‚ฎ๊ฒŒ ๋“œ๋ž˜๊ทธํ•˜๋ฉด ์ง๊ด€์ ์ธ ๊ตฌ๋ถ„์„ ์ด ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์žฌ๋Ÿ‰์— ๋”ฐ๋ผ ๊ทธ๋ฃน ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๊ทธ๋ฃน ์œ„์— ๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ๋†“๊ณ  "๊ทธ๋ฃน ์ด๋ฆ„ ์ง€์ •"์ด๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๋งˆ์šฐ์Šค ์™ผ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ๊ทธ๋ฃน์„ "์„ค์ •"์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” "์„ค์ •" ๋ฐ "Windows ๋ณด์•ˆ" ํƒ€์ผ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ํƒ€์ผ์„ ํฌํ•จํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ๊ทธ๋ฃน์„ "Office ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ"์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋ฃน ์ด๋ฆ„ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ์ค„๋ฌด๋Šฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์ผ ๊ทธ๋ฃน ์ „์ฒด๋ฅผ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด "Windows ๋ณด์•ˆ" ํƒ€์ผ์˜ ์ด๋ฆ„์ด ์™„์ „ํžˆ ๋งž์ง€ ์•Š์œผ๋ฉด ํฌ๊ธฐ๋ฅผ "์™€์ด๋“œ"๋กœ ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํƒ€์ผ์˜ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ํƒ€์ผ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  "ํฌ๊ธฐ ์กฐ์ •"์„ ์„ ํƒํ•˜์„ธ์š”.

๊ตฌ์„ฑ ํ›„ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  PowerShell ํ™˜๊ฒฝ์—์„œ "Export-StartLayout โ€“ ๊ฒฝ๋กœ C:SysprepStartLayout.xml" ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์„ค์ • ํŒŒ์ผ์„ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์—ฌ๊ธฐ์—์„œ ์˜ˆ์ œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค์„ธ์š” ์„ค์ • - "๋ณต์‚ฌ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ๋‚ด์šฉ์„ ๋ฉ”๋ชจ์žฅ์— ๋ถ™์—ฌ ๋„ฃ์€ ํ›„ "MultiAppKiosk.xml"๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์„ค์ •์„ ์šฐ๋ฆฌ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์ฐฉ๋œ ํƒ€์ผ์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด "StartLayout.xml"์—์„œ "MultiAppKiosk.xml"๋กœ ์ „์ฒด "StartLayoutCollection" ๋ธ”๋ก์„ ๋ณต์‚ฌํ•˜์„ธ์š”. ํ—ˆ์šฉ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋ฒ”์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹๋ณ„์ž๋ฅผ "AllowedApps" ์„น์…˜์— ์‚ฝ์ž…ํ•˜๊ณ  ๋™์ผํ•œ ๋ธ”๋ก์— ํด๋ž˜์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ”๋กœ๊ฐ€๊ธฐ ์†์„ฑ์— ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํƒ€์ผ โ€‹โ€‹์ฐธ์กฐ. ๋ฐ”๋กœ๊ฐ€๊ธฐ๋กœ ๋น ๋ฅด๊ฒŒ ์ด๋™ํ•˜๋ ค๋ฉด ๊ณ ์ •๋œ ํƒ€์ผ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  ๋”๋ณด๊ธฐ > ํŒŒ์ผ ์œ„์น˜๋กœ ์ด๋™์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”. "AppUserModelId" ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์œ ๋‹ˆ๋ฒ„์„ค ์•ฑ ID๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๊ณ , "DesktopAppPath" ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๊ฐ€์ง€ ๋” ์ž‘์€ ์ฐจ์ด๋Š” x64 ์‹œ์Šคํ…œ์—์„œ IE๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ—ˆ์šฉ๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ชฉ๋ก์—์„œ "Program FilesInternet Exploreriexplore.exe" ๋ฐ "Program Files (x86)Internet Exploreriexplore.exe" ์‹คํ–‰ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋‘ ๊ฐœ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. exeโ€.

ํด๋”์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ 'FileExplorerNamespaceRestrictions' ์„น์…˜์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—… ํ‘œ์‹œ์ค„์„ ํ‘œ์‹œํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ "์ž‘์—… ํ‘œ์‹œ์ค„" ์„น์…˜์— ์žˆ๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ทธ๋Œ€๋กœ ๋‘ก๋‹ˆ๋‹ค.

์˜ˆ์ œ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ ํ”„๋กœํ•„์ด ์ง€์ •๋˜์–ด ์žˆ์ง€๋งŒ ํ”„๋กœํ•„์€ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฏ€๋กœ ๋‘ ๋ฒˆ์งธ ํ”„๋กœํ•„์ด ์žˆ๋Š” ์„น์…˜์€ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐํ•˜๊ธฐ ์ „์— ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์˜ˆ์— ์ฃผ์˜ํ•˜์„ธ์š”.

'๊ตฌ์„ฑ' ์„น์…˜์—์„œ๋Š” ๊ณ„์ •์ด ํ”„๋กœํ•„์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ณ„์ •์„ ํ•˜๋‚˜์˜ ํ”„๋กœํ•„์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์™œ๋ƒํ•˜๋ฉด ํ•˜๋‚˜์˜ ๊ณ„์ •์—๋งŒ ๊ด€์‹ฌ์ด ์žˆ์œผ๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ ๊ณ„์ •์ธ "๊ตฌ์„ฑ" ๋ธ”๋ก์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฐ”์ธ๋”ฉ์„ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ฐ”์ธ๋”ฉ์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„ "User"๋ฅผ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

MultiAppKiosk.xml

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration 
  xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
  xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
  >
  <Profiles>
      <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
          <AllAppsList>
              <AllowedApps>
                  <App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                  <App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                  <App DesktopAppPath="%windir%system32notepad.exe" />
                  <App DesktopAppPath="C:Program FilesInternet Exploreriexplore.exe" />
                  <App DesktopAppPath="%windir%system32win32calc.exe" />
                  <App DesktopAppPath="%windir%system32mspaint.exe" />
                  <App DesktopAppPath="%ProgramFiles%Windows NTAccessorieswordpad.exe" />
              </AllowedApps>
          </AllAppsList>
          <StartLayout>
              <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
                    <LayoutOptions StartTileGroupCellWidth="6" />
                    <DefaultLayoutOverride>
                      <StartLayoutCollection>
                        <defaultlayout:StartLayout GroupCellWidth="6">
                          <start:Group Name="ะะฐัั‚ั€ะพะนะบะธ">
                            <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                            <start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                          </start:Group>
                          <start:Group Name="ะžั„ะธัะฝั‹ะต ะฟั€ะธะปะพะถะตะฝะธั">
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesWordpad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesNotepad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesCalculator.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesPaint.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesInternet Explorer.lnk" />
                          </start:Group>
                        </defaultlayout:StartLayout>
                      </StartLayoutCollection>
                    </DefaultLayoutOverride>
                  </LayoutModificationTemplate>
              ]]>
          </StartLayout>
          <Taskbar ShowTaskbar="true"/>
      </Profile>
  </Profiles>
  <Configs>
      <Config>
          <Account>User</Account>
          <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
      </Config>
  </Configs>
</AssignedAccessConfiguration>

XML ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ ๊ฐ ํ”„๋กœํ•„์—๋Š” ํ•˜๋‚˜์˜ XML ํŒŒ์ผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜ OS ๋‚ด์—์„œ ๊ณ ์œ ํ•œ ID๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ €๊ฒƒ๋“ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ํ˜ผ๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋งค๋ฒˆ ์ƒˆ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” PowerShell ํ™˜๊ฒฝ์—์„œ "[guid]::NewGuid()" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ์„ "UTF-8" ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์ด "ANSI" ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅ๋œ ๊ฒฝ์šฐ ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•  ๋•Œ XML ํŒŒ์ผ์— ํ‚ค๋ฆด ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

6๋‹จ๊ณ„ - ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ์„ค์ • ์ ์šฉ

๊ตฌ์„ฑ ํŒŒ์ผ์— ์„ค๋ช…๋œ ์„ค์ •์„ ์ ์šฉํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ICD์—์„œ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•˜๋Š” ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ์•„๋งˆ๋„ ์ด ๋ฐฉ๋ฒ•์ด ๋” ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” "MDM Bridge WMI Provider"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ ์ด ๋ฐฉ๋ฒ•์ด ๋” ํŽธ๋ฆฌํ•ด ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• # 1

ICD๊ฐ€ ์—†๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ์ž…๋‹ˆ๊นŒ? ADK ๋‹ค์šด๋กœ๋“œ ๊ทธ๋ฆฌ๊ณ  ์„ค์น˜ํ•˜์„ธ์š”. ADK ์„ค์น˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋ฉฐ ๊ตฌ์„ฑ ์š”์†Œ ์„ธํŠธ๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ICD๋ฅผ ์‹คํ–‰ํ•˜๊ณ  "๊ณ ๊ธ‰ ์ค€๋น„" ํƒ€์ผ์„ ํด๋ฆญํ•œ ํ›„ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ํด๋”๋ฅผ ์ง€์ •ํ•˜๊ณ  "๋‹ค์Œ"์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฐฝ์—์„œ "Windows ๋ฐ์Šคํฌํ†ฑ์˜ ๋ชจ๋“  ๋ฒ„์ „"์„ ์„ ํƒํ•˜๊ณ  "๋‹ค์Œ"์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ค€๋น„ ํŒจํ‚ค์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "๋งˆ์นจ"์„ ํด๋ฆญํ•˜์„ธ์š”.

"๋Ÿฐํƒ€์ž„ ์„ค์ •" ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ํ™•์žฅํ•œ ๋‹ค์Œ "AssignedAccess" ํ•˜์œ„ ๋ฉ”๋‰ด๋ฅผ ํ™•์žฅํ•˜๊ณ  "MultiAppAssignedAccessSettings"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ICD ์ฐฝ ์ค‘๊ฐ„ ์„น์…˜ ์ƒ๋‹จ์—์„œ "์ฐพ์•„๋ณด๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ์„ค์ •์ด ํฌํ•จ๋œ XML ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ๋ผ๋„ "Ctrl+s"๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ICD ์™ผ์ชฝ ์ƒ๋‹จ์—์„œ "๋‚ด๋ณด๋‚ด๊ธฐ"๋ฅผ ์„ ํƒํ•˜๊ณ  ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ "ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์†Œ์œ ์ž๋กœ์„œ "IT ๊ด€๋ฆฌ์ž"๋ฅผ ์„ ํƒํ•˜๊ณ  "๋‹ค์Œ"์„ ํด๋ฆญํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋“  ์งˆ๋ฌธ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋งˆ์ง€๋ง‰์— "๋นŒ๋“œ" ๋ฐ "๋งˆ์นจ"์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜๋œ ์‹œ์Šคํ…œ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด ์‚ฌ์šฉ์ž๋Š” "๊ด€๋ฆฌ์ž" ๊ทธ๋ฃน์— ์ถ”๊ฐ€๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ ๊ด€๋ฆฌ์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ด์ „์— ์„ค์น˜๋œ ์‹œ์Šคํ…œ์—์„œ ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ค€๋น„ ํŒจํ‚ค์ง€ ์ ์šฉ ํ›„ ์‹œ์ž‘ ๋ฉ”๋‰ด์™€ ๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ ์‹œ์ž‘ ์—ด์—์„œ "๋ฌธ์„œ", "์ด๋ฏธ์ง€", "์˜ต์…˜" ๋ฒ„ํŠผ์ด ์‚ฌ๋ผ์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ๋ฉ”๋‰ด๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„ค์น˜๋œ ํŒจํ‚ค์ง€๋Š” ์„ค์ • > ๊ณ„์ • > ํšŒ์‚ฌ ๋˜๋Š” ํ•™๊ต ๊ณ„์ • ์•ก์„ธ์Šค > ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€ ๋˜๋Š” ์ œ๊ฑฐ ์ฐฝ์„ ์—ด์–ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ ๋ฉ”๋‰ด๊ฐ€ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ์„ค์ •์ด ์‹œ์Šคํ…œ์— ์ ์šฉ๋˜๊ณ  ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• # 2

"MDM Bridge WMI Provider"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ • ์ ์šฉ ์—ฌ๊ธฐ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์˜ ํŽธ๋ฆฌํ•จ์€ ์‚ฌ์šฉ์˜ ์œ ์—ฐ์„ฑ๊ณผ ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งŽ์€ ์ˆ˜๋™ ์ž‘์—…์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ชจ๋“  ์‚ฌ๋žŒ์€ ์ž์‹ ์—๊ฒŒ ํŽธ๋ฆฌํ•œ ๊ฒฐ์ •์„ ์Šค์Šค๋กœ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚˜ ์ž์‹ ์„ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

MiltiKiosk.bat โ€“ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ

@echo off
chcp 1251>nul

if not exist "%~dp0psexec.exe" call :ShowMessage "โ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กโ€กะ”ะปั ั€ะฐะฑะพั‚ั‹ ัะบั€ะธะฟั‚ะฐ ะฝะตะพะฑั…ะพะดะธะผ ั„ะฐะนะป psexec.exeโ€กโ€กะ”ะปั ะทะฐะฒะตั€ัˆะตะฝะธั ั€ะฐะฑะพั‚ั‹ ัะบั€ะธะฟั‚ะฐ ะฝะฐะถะผะธั‚ะต ะปัŽะฑัƒัŽ ะบะปะฐะฒะธัˆัƒ"&pause>nul&exit

net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)

for /f "tokens=2 delims==" %%i in ('wmic useraccount where "Name='%UserName%'" get SID /value^|find "SID"') do set SID=%%i
reg add HKU%SID%SoftwareSysinternalsPsExec /v EulaAccepted /t REG_DWORD /d 1 /f

for /f %%i in ('dir "%~dp0%~n0*.ps1" /b /o:n') do set PSFilePath=%~dp0%%i
if not defined PSFilePath (echo ะะต ะฝะฐะนะดะตะฝะพ PS ั„ะฐะนะปะพะฒ ั ะฝะฐั‡ะฐะปะพะผ ะฝะฐะทะฒะฐะฝะธั - "%~n0"&pause&exit)
set PSFilePath=%PSFilePath: =` %
"%~dp0psexec.exe" -i -s powershell -command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Unrestricted -Command %PSFilePath%'"

exit

:ShowMessage
    setlocal enabledelayedexpansion
    set String=%~1
    if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
    set /a ConCols=120 & set /a Num=1
    set "String[!Num!].str=%String:โ€ก=" & set /a Num+=1 & set "String[!Num!].str=%"
    for /l %%a in (1,1,%Num%) do (
        for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
        if not defined String[%%a].str (set String[%%a].str= )
        if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
        if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
    setlocal disabledelayedexpansion
goto :eof

MiltiKiosk_Ver.12.ps1 โ€“ ๋ฉ”์ธ ์Šคํฌ๋ฆฝํŠธ

Function ConvertEncoding ([string]$From, [string]$To) {
    Begin{$encFrom = [System.Text.Encoding]::GetEncoding($From);$encTo = [System.Text.Encoding]::GetEncoding($To)}
    Process{$bytes = $encTo.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes);$encTo.GetString($bytes) -replace [char]0, ''}
}

Function ShowMessage ($Message='', $Align=0) {
    Try {$Align = [decimal]$Align} Catch {Return 'ะ”ะปั ะฟะฐั€ะฐะผะตั‚ั€ะฐ Align ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ัƒะบะฐะทะฐะฝะพ ั‚ะพะปัŒะบะพ ั‡ะธัะปะพ' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
    if ($Message -is [int]) {for ($i=1; $i -le $Message; $i++) {Write-Host}; Return}
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Message = $Message | ConvertEncoding 'windows-1251' -To 'UTF-16'}
    if ($Message -is [string]) {[array] $Message = $Message}
    foreach ($String in $Message) {
        Try {$String = [int]$String} Catch {}
        if ($String -is [int]) {for ($i=1; $i -le $String; $i++) {Write-Host}; continue}
        if ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
            if ($Align -eq 0) {Write-Host $String
            } else {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Align) - [Math]::Floor($String.Length / $Align)))), $String)}
        } else {Write-Host $String}
    } 
}

$script:NameSpace="rootcimv2mdmdmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
if (-not $MultiAppKiosk) {ShowMessage -Message (3, 'ะžัˆะธะฑะบะฐ ะฟะพะปัƒั‡ะตะฝะธั ะพะฑัŠะตะบั‚ะฐ ะฝะฐัั‚ั€ะพะตะบ', 2, 'ะะฐะถะผะธั‚ะต "Enter" ะดะปั ะทะฐะฒะตั€ัˆะตะฝะธั ั€ะฐะฑั‚ั‹ ัะบั€ะธะฟั‚ะฐ') -Align 2; Read-Host; Exit}

Function MainMenu() {
    ShowMessage (13, ' 0 - ะ’ั‹ั…ะพะด', ' 1 - ะ’ั‹ะฑั€ะฐั‚ัŒ XML-ั„ะฐะนะป ะดะปั ัƒัั‚ะฐะฝะพะฒะบะธ', ' 2 - ะŸะพะบะฐะทะฐั‚ัŒ ั‚ะตะบัƒั‰ัƒัŽ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธัŽ ะผัƒะปัŒั‚ะธะบะธะพัะบะฐ', ' 3 - ะฃะดะฐะปะธั‚ัŒ ะฝะฐัั‚ั€ะพะนะบะธ ะผัƒะปัŒั‚ะธะบะธะพัะบะฐ', 1)
    $local:PromptText = 'ะ’ั‹ะฑะตั€ะธั‚ะต ะดะตะนัั‚ะฒะธะต'
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}

    $local:Selections = 1..2
    While ($true) {
        $Select = Read-Host -Prompt $PromptText
        Switch ($Select) {
            0 {exit}
            1 {XMLSelection}
            2 {ShowMessage -Message (1, 'ะะฐั‡ะฐะปะพ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('ะšะพะฝะตั† ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ', 1, 'ะ”ะปั ะฒะพะทะฒั€ะฐั‚ะฐ ะฒ ะผะตะฝัŽ ะฝะฐะถะผะธั‚ะต "Enter"', 1) -Align 2; Read-Host}
            3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'ะ’ั‹ะฟะพะปะฝะตะฝะฐ ะบะพะผะฐะฝะดะฐ ัƒะดะฐะปะตะฝะธั ะฝะฐัั‚ั€ะพะตะบ', 1) -Align 2}
            DEFAULT {ShowMessage 'ะ’ั‹ะฑั€ะฐะฝะพ ะฝะตะดะพะฟัƒัั‚ะธะผะพะต ะทะฝะฐั‡ะตะฝะธะต'}
        }
        if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - ะ’ั‹ั…ะพะด', ' 1 - ะ’ั‹ะฑั€ะฐั‚ัŒ XML-ั„ะฐะนะป ะดะปั ัƒัั‚ะฐะฝะพะฒะบะธ', ' 2 - ะŸะพะบะฐะทะฐั‚ัŒ ั‚ะตะบัƒั‰ัƒัŽ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธัŽ ะผัƒะปัŒั‚ะธะบะธะพัะบะฐ', ' 3 - ะฃะดะฐะปะธั‚ัŒ ะฝะฐัั‚ั€ะพะนะบะธ ะผัƒะปัŒั‚ะธะบะธะพัะบะฐ', 1)}
    }
}

Function XMLSelection() {
    Clear-Host

    if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'ะะต ะฝะฐะนะดะตะฝ ะบะฐั‚ะฐะปะพะณ', $('"'+$PSScriptRoot+'XML"'), 1, 'ะะฐะถะผะธั‚ะต "Enter" ะดะปั ะฒะพะทะฒั€ะฒั‚ะฐ ะฒ ะฟั€ะตะดั‹ะดัƒั‰ะตะต ะผะตะฝัŽ') -Align 2; Read-Host; Return}

    $local:XMLList = @()
    $XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
    if ($XMLList.Count -eq  0) {ShowMessage -Message (13, 'ะะต ะฝะฐะนะดะตะฝะพ XML-ั„ะฐะนะปะพะฒ ะฒ ะบะฐั‚ะฐะปะพะณะต', $('"'+$PSScriptRoot+'XML"'), 1, 'ะะฐะถะผะธั‚ะต "Enter" ะดะปั ะฒะพะทะฒั€ะฒั‚ะฐ ะฒ ะฟั€ะตะดั‹ะดัƒั‰ะตะต ะผะตะฝัŽ') -Align 2; Read-Host; Return}

    [int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
    ShowMessage ($Indent, ' 0 - ะ’ะตั€ะฝัƒั‚ัŒัั ะฒ ะฟั€ะตะดั‹ะดัƒั‰ะตะต ะผะตะฝัŽ')
    for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
    Write-Host
    $local:PromptText = 'ะ’ั‹ะฑะตั€ะธั‚ะต ั„ะฐะนะป ะดะปั ัƒัั‚ะฐะฝะพะฒะบะธ'
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}

    $local:Selections = 1..$XMLList.Count
    $local:BackToPrevMenu = 0
    While ($BackToPrevMenu -eq 0) {
        $Select = Read-Host -Prompt $PromptText
        Switch ($Select) {
            0 {$BackToPrevMenu = 1}
            {$Selections -contains $Select} {ShowMessage $('ะ”ะฐะฝะฐ ะบะพะผะฐะฝะดะฐ ะฝะฐ ะฟั€ะธะผะตะฝะตะฝะธะต ะฝะฐัั‚ั€ะพะตะบ ะธะท ั„ะฐะนะปะฐ '+$XMLList[$Select-1]);
                $local:Config = (Get-Content -encoding UTF8 -path $($PSScriptRoot+'XML'+$XMLList[$Select-1]) -Raw).Trim()
                $local:GUIDs = [regex]::matches($Config, '{.+?}') | select -ExpandProperty Value | Get-Unique
                foreach ($GUID in $GUIDs) {$Config = $Config -replace $(''+$GUID),$('{'+[guid]::NewGuid()+'}')}
                $Config = $Config -replace '&','&' -replace '<','<' -replace '>','>' -replace "'",''' -replace '"','"'
                $MultiAppKiosk.Configuration = $Config
                Set-CimInstance -CimInstance $MultiAppKiosk
            }
            DEFAULT {ShowMessage ('ะ’ั‹ะฑั€ะฐะฝะพ ะฝะตะดะพะฟัƒัั‚ะธะผะพะต ะทะฝะฐั‡ะตะฝะธะต')} 
        }
    }
}

MainMenu

๋‚ด ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์œ„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์›๋ž˜ ์ด๋ฆ„์œผ๋กœ ํ•œ ํด๋”์— ์ €์žฅํ•˜๊ณ  "PsExec.exe" ํŒŒ์ผ์„ ๊ฐ™์€ ํด๋”์— ๋„ฃ์œผ์„ธ์š”. ๋™์ผํ•œ ํด๋”์— "XML" ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ  XML ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•๊ณผ ๋™์ผํ•œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

MultiAppKiosk.xml

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration 
  xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
  xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
  >
  <Profiles>
      <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
          <AllAppsList>
              <AllowedApps>
                  <App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                  <App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                  <App DesktopAppPath="%windir%system32notepad.exe" />
                  <App DesktopAppPath="C:Program FilesInternet Exploreriexplore.exe" />
                  <App DesktopAppPath="%windir%system32win32calc.exe" />
                  <App DesktopAppPath="%windir%system32mspaint.exe" />
                  <App DesktopAppPath="%ProgramFiles%Windows NTAccessorieswordpad.exe" />
              </AllowedApps>
          </AllAppsList>
          <StartLayout>
              <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
                    <LayoutOptions StartTileGroupCellWidth="6" />
                    <DefaultLayoutOverride>
                      <StartLayoutCollection>
                        <defaultlayout:StartLayout GroupCellWidth="6">
                          <start:Group Name="ะะฐัั‚ั€ะพะนะบะธ">
                            <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                            <start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                          </start:Group>
                          <start:Group Name="ะžั„ะธัะฝั‹ะต ะฟั€ะธะปะพะถะตะฝะธั">
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesWordpad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesNotepad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesCalculator.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesPaint.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesInternet Explorer.lnk" />
                          </start:Group>
                        </defaultlayout:StartLayout>
                      </StartLayoutCollection>
                    </DefaultLayoutOverride>
                  </LayoutModificationTemplate>
              ]]>
          </StartLayout>
          <Taskbar ShowTaskbar="true"/>
      </Profile>
  </Profiles>
  <Configs>
      <Config>
          <Account>User</Account>
          <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
      </Config>
  </Configs>
</AssignedAccessConfiguration>

์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์กฐ๊ธˆ. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” "UTF8" ์ธ์ฝ”๋”ฉ์ด ํฌํ•จ๋œ XML ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "ANSI" ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํŒŒ์ผ ์ฝ๊ธฐ ์˜ต์…˜์—์„œ "encoding UTF8" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”. ๋ฌธ์ž๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  "XML" ํด๋”์— XML ํŒŒ์ผ์„ ๋ฐฐ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๊ฐ€ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์ ์ ˆํ•œ ์ง€์ •์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ํ”„๋กœํ•„์— ์—ฐ๊ฒฐํ•˜๋Š” GUID์—์„œ ํ˜ผ๋™๋˜์ง€ ์•Š๋„๋ก ์‚ฌ์šฉ์ž ๋ฒˆํ˜ธ๋‚˜ ์ด๋ฆ„์„ ์ค‘๊ด„ํ˜ธ ์•ˆ์— ํ‘œ์‹œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ค‘๊ด„ํ˜ธ ์•ˆ์˜ ๋ชจ๋“  ๋‚ด์šฉ์€ GUID๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ตฌ์„ฑ์„ ์ƒˆ ๊ตฌ์„ฑ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ํ˜„์žฌ ๊ตฌ์„ฑ์„ ์‚ญ์ œํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ๋ฎ์–ด์“ฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์— ์ง€์ •๋œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

์ ์šฉ๋œ ๋™์ผํ•œ ์„ธ์…˜์—์„œ ํ˜„์žฌ ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ๊ตฌ์„ฑ์„ ๋ณผ ๋•Œ ํŠน์ˆ˜ ๋ฌธ์ž ๋Œ€์‹  ๋Œ€์ฒด ๋ฌธ์ž์˜ ์กฐํ•ฉ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์„ ๋ณ€๊ฒฝํ•œ ํ›„(์Šคํฌ๋ฆฝํŠธ ๋‹ค์‹œ ์‹œ์ž‘) ๋ชจ๋“  ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ์›๋ž˜ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

7๋‹จ๊ณ„ - ์‹œ์Šคํ…œ ๋ด‰์ธ

๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๋Š” ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ์ „๋ถ€์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค...

๋ชจ๋“  ๊ฒƒ์ด ๊ณ„ํš๋Œ€๋กœ ์ง„ํ–‰๋œ๋‹ค๋ฉด ์•„๋ฌด๊ฒƒ๋„ ๋ˆˆ์น˜ ์ฑ„์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์„ ๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ ์‹œ์ž‘ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. ์ด์ œ ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "Sysprep.bat"๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํฌ์ธํŠธ 2๋ฅผ ์„ ํƒํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ๋ด‰์ธ๋ฉ๋‹ˆ๋‹ค. ์žฅ์น˜๋ฅผ ์ผœ๊ณ  ์‹œ์Šคํ…œ์„ ๋ถ€ํŒ…ํ•˜๊ณ  ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž ๊ณ„์ •์— ๋กœ๊ทธ์ธํ•˜์ง€๋งŒ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. โ€œํ™˜์˜ํ•ฉ๋‹ˆ๋‹คโ€ ๋ฉ”์‹œ์ง€ ๋‹ค์Œ์— โ€œ๋กœ๊ทธ์•„์›ƒโ€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…๋งŒ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช… ๋งŽ์€ ๋…์ž๋“ค์€ '์ด๋ ‡๋‹ค๋ฉด...'์ด๋ผ๋Š” ๋ง‰์—ฐํ•œ ์˜์‹ฌ์— ์‹œ๋‹ฌ๋ฆด ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๊ณ ์ž ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ์„ค๋ช…ํ•˜๋ฉด ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋ฅผ ์ตœ๋Œ€ํ•œ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ—˜์„ "์™„๋ฃŒ ๋ฐ ๊ธฐ๋ก" ํ˜•์‹์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ์„ค๋ช…๋œ ์‹คํ—˜์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹คํ—˜

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ํ–ˆ๋‚˜์š”? ์‹œ์Šคํ…œ์—๋Š” ๋‘ ๊ฐœ์˜ ๊ณ„์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค:

"๊ด€๋ฆฌ์ž" - "๊ด€๋ฆฌ์ž" ๊ทธ๋ฃน์— ์žˆ์Œ
"์‚ฌ์šฉ์ž" โ€“ "์‚ฌ์šฉ์ž" ๊ทธ๋ฃน
๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ๋Š” ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ–ˆ์ง€๋งŒ ๋ด‰์ธ๋˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ 1

์„ค์น˜๋œ ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์‚ญ์ œํ•˜๊ณ  "์‚ฌ์šฉ์ž"๋ผ๋Š” ์ด๋ฆ„์˜ ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ ์šฉํ•œ ๋‹ค์Œ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜์ง€. "Admin"์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ด๋™ํ•˜์—ฌ "Users" ๊ทธ๋ฃน์—์„œ "User" ์‚ฌ์šฉ์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  "Administrators" ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ "User"๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ด๋™ํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "Admin"์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ณ , ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ์—์„œ ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ , "User"๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธํ–ˆ์ง€๋งŒ ๋ฌผ๋ก  ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ ๋ชจ๋“œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ 2

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

OS๊ฐ€ ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "Win+r"์„ ๋ˆ„๋ฅด์„ธ์š”. sysprep ์ฐฝ์ด ์ž๋™์œผ๋กœ ๋‹ซํ˜”์Šต๋‹ˆ๋‹ค. "sysprep" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ์—ด๋ฆฌ๋Š” ์ฐฝ์—์„œ "sysprep"์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ฐฝ์˜ Sysprep ์„ค์ •: "์‹œ์Šคํ…œ ์‹œ์ž‘ ์ฐฝ(OOBE)์œผ๋กœ ์ด๋™", "์‚ฌ์šฉ ์ค€๋น„ ์ค‘", "์žฌ๋ถ€ํŒ…". โ€œํ™•์ธโ€์„ ํด๋ฆญํ•˜๊ณ  OS ์ธ์‚ฌ๋ง์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์ฒ˜์Œ ๋ถ€ํŒ…๋  ๋•Œ "์„ ํƒํ•œ ์–ธ์–ด๋กœ ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•ฉ๋‹ˆ๋‹ค. - "๋Ÿฌ์‹œ์•„์–ด"; ์ง€์—ญ โ€“ ๋Ÿฌ์‹œ์•„; ํ‚ค๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ โ€“ ๋Ÿฌ์‹œ์•„์–ด; ๋‘ ๋ฒˆ์งธ ํ‚ค๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ์ถ”๊ฐ€ - ๊ฑด๋„ˆ๋›ฐ๊ธฐ; โ€œ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹คโ€ โ€“ โ€œ์ง€๊ธˆ์€ ๊ฑด๋„ˆ๋›ฐ๊ธฐโ€; ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ - ์•„๋‹ˆ์˜ค; ๋ผ์ด์„ผ์Šค ๊ณ„์•ฝ - ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. โ€œ์ด ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์‚ฌ๋žŒโ€ โ€“ โ€œํ…Œ์ŠคํŠธโ€; ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ - ํ•„๋“œ๋ฅผ ๋น„์›Œ ๋‘์„ธ์š”. ๋‹ค์–‘ํ•œ ์žฅ์น˜์—์„œ ํŽธ๋ฆฌํ•œ ์ž‘๋™ โ€“ ์•„๋‹ˆ์š”; ๊ฐœ์ธ์ •๋ณด ์„ค์ • - ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. OS๊ฐ€ ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž"๋ผ๋Š” ์ด๋ฆ„์˜ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹คํ—˜ 3

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

OS๊ฐ€ ๋กœ๋“œ๋˜์—ˆ์œผ๋ฉฐ ์‹œ์Šคํ…œ์„ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•˜๊ณ  "gpedit.msc" ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ๋‹ค์Œ "Windows ์—…๋ฐ์ดํŠธ" ์„น์…˜์—์„œ "์ž๋™ ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ๊ถŒ์žฅ ์—…๋ฐ์ดํŠธ ํ™œ์„ฑํ™”" ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋งŒ์•ฝ์„ ๋Œ€๋น„ํ•ด ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ์„ผํ„ฐ์—์„œ โ€œ์—…๋ฐ์ดํŠธ ํ™•์ธโ€์„ ํด๋ฆญํ•˜๊ณ  ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๊ฐ€ ์„ค์น˜๋  ๋•Œ๊นŒ์ง€ ์žฌ๋ถ€ํŒ…ํ•˜์„ธ์š”. ์ธํ„ฐ๋„ท์—์„œ ์‹œ์Šคํ…œ ์—ฐ๊ฒฐ์„ ๋Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ ๋ชจ๋“œ์—์„œ "sysprep"์„ ์‹คํ–‰ํ•˜๊ณ  "sysprep" ์œ ํ‹ธ๋ฆฌํ‹ฐ ์‹คํ–‰๋ถ€ํ„ฐ ์ค€๋น„ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€๊นŒ์ง€ ์ด์ „ ๋‹จ๊ณ„์—์„œ ์„ค๋ช…ํ•œ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹คํ—˜ 4

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ๋Š” ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€(์˜์–ด)๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜ํ”ฝ ๋ชจ๋“œ์—์„œ "sysprep"์„ ์‹คํ–‰ํ•˜๊ณ  ์‹คํ—˜ 2์™€ ๋™์ผํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ OS๋ฅผ ๋ด‰์ธํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์ฒ˜์Œ ๋ถ€ํŒ…๋˜๋ฉด ์ง€์—ญ ๋ฐ ์–ธ์–ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ  ์‹คํ—˜ 2์™€ ๋™์ผํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ์‹œ์•„์–ด๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ "User"๋ผ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ๋ฌธ์ œ๋Š” ํ˜„์ง€ํ™”์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ 5

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

"์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„์ •์—์„œ ๋กœ๊ทธ์•„์›ƒํ•˜๊ณ  "๊ด€๋ฆฌ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜์„ธ์š”. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ PowerShell์„ ์‹œ์ž‘ํ•˜๊ณ  "Dism /online /Get-Intl" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  "๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด: en-US"๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  ๋ฐฐํฌ๋œ OS๋Š” ๋‚ด E ๋“œ๋ผ์ด๋ธŒ์— ์žˆ์Šต๋‹ˆ๋‹ค. "Dism /image:E: /Set-UILang:ru-ru" ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  โ€œDism /image:E: /Get-Intlโ€์„ ์‹คํ–‰ํ•˜์—ฌ โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: ru-RUโ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์„ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์˜ ์›์ธ๊ณผ ๊ฒฐ๊ณผ ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ๊ทœ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜๊ณ  ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋‹ค์‹œ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  ๋ฐฐํฌ๋œ OS๋Š” ๋‚ด E ๋“œ๋ผ์ด๋ธŒ์— ์žˆ์Šต๋‹ˆ๋‹ค. "Dism /image:E: /Set-UILang:en-us" ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  โ€œDism /image:E: /Get-Intlโ€์„ ์‹คํ–‰ํ•˜์—ฌ โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: en-USโ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  ๋ฐฐํฌ๋œ OS๋Š” ๋‚ด E ๋“œ๋ผ์ด๋ธŒ์— ์žˆ์Šต๋‹ˆ๋‹ค. "Dism /image:E: /Set-UILang:ru-ru" ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  โ€œDism /image:E: /Get-Intlโ€์„ ์‹คํ–‰ํ•˜์—ฌ โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: ru-RUโ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์„ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ €๊ฒƒ๋“ค. ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด์— ๋Œ€ํ•œ ํ‚ค์˜ค์Šคํฌ ์„ฑ๋Šฅ์˜ ๋ช…ํ™•ํ•œ ์˜์กด์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋‹ค๋ฅธ ์š”์ธ์ด ์žˆ์„๊นŒ์š”?

์‹คํ—˜ 6

์‹คํ—˜์˜ ์ˆœ์ˆ˜์„ฑ์„ ์œ„ํ•ด ์‹œ์Šคํ…œ์„ ๋‹ค์‹œ ์ฑ„์›๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜ํ”ฝ ๋ชจ๋“œ์—์„œ "sysprep"์„ ์‹คํ–‰ํ•˜๊ณ  ์‹คํ—˜ 2์—์„œ์™€ ๋™์ผํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ OS๋ฅผ ๋ด‰์ธํ•ฉ๋‹ˆ๋‹ค. OS๊ฐ€ ์šฐ๋ฆฌ๋ฅผ ๋งž์ดํ•˜๊ณ  "์„ ํƒํ•œ ์–ธ์–ด๋กœ ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์— ๋‹ตํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. โ€“ โ€œ์˜์–ด(๋ฏธ๊ตญ)โ€; ์ง€์—ญ โ€“ ๋Ÿฌ์‹œ์•„; ํ‚ค๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ โ€“ ๋Ÿฌ์‹œ์•„์–ด. ๋˜ํ•œ ๋ชจ๋“  ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ์‹คํ—˜ 2์™€ ๊ฐ™์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด ์„ค์ •์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. โ€œDism /online /Get-Intlโ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: en-USโ€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ํ‚ค์˜ค์Šคํฌ๋ฅผ ์ค‘๋‹จ์‹œํ‚ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์ฒ˜์Œ ๋ถ€ํŒ…๋  ๋•Œ ์ƒ์„ฑ๋œ "Test" ์‚ฌ์šฉ์ž๋กœ ์ด๋™ํ•˜์—ฌ ์‹œ์Šคํ…œ์ด ๋ฐ”๋กœ "User" ๊ณ„์ •์œผ๋กœ ๋ถ€ํŒ…๋˜์ง€ ์•Š๋„๋ก ์ž๋™ ๋กœ๊ทธ์ธ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. "netplwiz"๋ฅผ ์‹คํ–‰ํ•˜๊ณ  "Test" ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•œ ํ›„ "์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„์š”" ํ™•์ธ๋ž€์„ ์„ ํƒ ์ทจ์†Œํ•˜๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. โ€œDism /image:E: /Set-UILang:ru-ruโ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  โ€œDism /image:E: /Get-Intlโ€์„ ์‹คํ–‰ํ•˜์—ฌ โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: ru-RUโ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ๊ทธ๊ฒƒ์€ ๊นจ์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๊นŒ?

์‹คํ—˜ 7

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

"Sysprep.bat"๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํฌ์ธํŠธ 2๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. โ€œDism /image:E: /Set-UILang:en-usโ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  โ€œDism /image:E: /Get-Intlโ€์„ ์‹คํ–‰ํ•˜์—ฌ โ€œ๊ธฐ๋ณธ ์‹œ์Šคํ…œ UI ์–ธ์–ด: en-USโ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ๊ฐ์‚ฌ ๋ชจ๋“œ์— ์žˆ๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•œ ํ›„ ์ฒ˜์Œ ๋ถ€ํŒ…ํ•  ๋•Œ๋งŒ ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ ์–ธ์–ด๊ฐ€ ์˜์–ด๋กœ ์„ ํƒ๋˜๋Š” ์‘๋‹ต ํŒŒ์ผ๋กœ ์‹œ์Šคํ…œ์„ ๋ด‰์ธํ•œ ๋‹ค์Œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋Ÿฌ์‹œ์•„์–ด๊ฐ€ ๋˜๋„๋ก ์‹œ์Šคํ…œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋กœ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ ์•„๋‹™๋‹ˆ๋‹ค. ์–ธ์–ดํŒฉ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ์–ธ์–ดํŒฉ์„ ์„ค์น˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜๋„ ์žˆ๊ฒ ์ฃ ?

์‹คํ—˜ 8

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ๋Š” ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€(์˜์–ด)๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•˜๊ณ  ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ "์–ธ์–ด" ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ "์–ธ์–ด ์ถ”๊ฐ€"๋ฅผ ์„ ํƒํ•˜๊ณ  "๋Ÿฌ์‹œ์•„์–ด" ์–ธ์–ด๋ฅผ ์„ ํƒํ•œ ํ›„ "๋‹ค์Œ"์„ ํด๋ฆญํ•˜๊ณ  ์„ค์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘๊ณ  ์„ค์น˜ ํ›„ "์„ค์น˜"๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด ํŒฉ์€ ์ด์ œ Russified์—์„œ ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ์‹œ์Šคํ…œ ์—ฐ๊ฒฐ์„ ๋Š๊ณ  "Sysprep.bat"๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ํฌ์ธํŠธ 2๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์„ ๋กœ๋“œํ•œ ํ›„ "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ 9

์„ค์น˜ํ•˜๊ธฐ ์ „์— ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ์‹œ์Šคํ…œ์„ Russifyํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์œ ํ†ต ํ˜„์ง€ํ™”์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ๋„ ์žˆ์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ €๋Š” ๊นจ๋—ํ•œ ์›๋ณธ ๋ฐฐํฌํŒ(X21-96381)์ด ํฌํ•จ๋œ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ธŒ "E"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์šดํŠธํ•˜๊ธฐ ์œ„ํ•ด "c:MountInstall", "c:MountWinre", "c:MountBoot" ํด๋”๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ €๋Š” ํ˜„์ง€ํ™” ํŒจํ‚ค์ง€ ์„ธํŠธ(X21-87814)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  "c:Mount" ํด๋”์— "Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cab", "lp.cab", "WinPE-Setup_ru-ru.cab" ํŒจํ‚ค์ง€๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์ฝ˜์†”์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋ช…๋ น์€ ์„ค๋ช… ์—†์ด ๋ช…ํ™•ํ•ด์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์ง€ํ™” ๋ช…๋ น

cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Installcode
dism /Image:Install /Add-Package /PackagePath:Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cabcode
dism /Image:Installcode /Set-AllIntl:ru-ru
dism /Image:Install /Set-TimeZone:"Russian Standard Time"code

dism /Mount-Wim /WimFile:InstallWindowsSystem32RecoveryWinre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:ru-ru
dism /Image:Winre /Set-TimeZone:"Russian Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode

dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:ru-RUcode
dism /image:Install /Set-SetupUILang:RU-ru /distribution:E:code
dism /Unmount-Image /MountDir:Install /Commitcode

dism /mount-wim /wimfile:e:sourcesboot.wim /index:1 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.inicode
dism /Unmount-Image /MountDir:Boot /Commitcode

dism /mount-wim /wimfile:e:sourcesboot.wim /index:2 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Boot /Add-Package /PackagePath:WinPE-Setup_ru-ru.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /Commit

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ ๋ถ€ํŒ…ํ•˜๊ณ  ๋Ÿฌ์‹œ์•„์–ด๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ๋นˆ ๋””์Šคํฌ์— ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ์ง€์—ญ์„ ์„ ํƒํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด โ€œCtrl+Shift+F3โ€์„ ๋ˆ„๋ฅด์„ธ์š”. "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. โ€œDism /image:E: /Set-UILang:en-usโ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ 10

์ด์ „ ๋‹จ๊ณ„์—์„œ ์ค€๋น„ํ•œ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” "Feat on Demand" ํŒจํ‚ค์ง€(X21-87815)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋ฅผ "c:Mount" ํด๋”์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ยซMicrosoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cabยป, ยซMicrosoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cabยป, ยซMicrosoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~ ~.cabยป, ยซMicrosoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cabยป.

ะ‘ะตั€ะตะผ ะฟะฐะบะตั‚ ยซFeat on Demand RDX Updtยป โ€“ X21-99781. ะ’ ะฟะฐะฟะบัƒ ยซc:Mountยป ะบะพะฟะธั€ัƒัŽ ะธะท ะฝะตะณะพ ะฟะฐะบะตั‚ั‹: ยซMicrosoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cabยป, ยซ Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cabยป.

๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์ฝ˜์†”์„ ์‹œ์ž‘ํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ํŒ€

cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /Commit

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ ๋ถ€ํŒ…ํ•˜๊ณ  ๋Ÿฌ์‹œ์•„์–ด๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ๋นˆ ๋””์Šคํฌ์— ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ์ง€์—ญ์„ ์„ ํƒํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด โ€œCtrl+Shift+F3โ€์„ ๋ˆ„๋ฅด์„ธ์š”. "์ปดํ“จํ„ฐ ๊ด€๋ฆฌ" ์Šค๋ƒ…์ธ์—์„œ "์‚ฌ์šฉ์ž" ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ”„๋กœ๋น„์ €๋‹ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ "์‚ฌ์šฉ์ž" ๊ณ„์ •์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ ๊ฒ€์€์ƒ‰ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚˜์„œ ์‹œ์Šคํ…œ์„ ํ•ซ ๋ถ€ํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  "์‚ฌ์šฉ์ž"๋กœ ๋กœ๊ทธ์ธํ•˜๊ณ  ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  ์ค€๋น„ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์—์„œ WinPE๋กœ ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. โ€œDism /image:E: /Set-UILang:en-usโ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์œผ๋กœ ๋ถ€ํŒ…ํ•˜๊ณ  "์‚ฌ์šฉ์ž" ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜๋ฉด ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

ํ‰๋ฒ”ํ•œ ์˜์›…๋“ค. ๊ทธ๋“ค์€ ํ•ญ์ƒ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค!

๋‹ค์–‘ํ•œ ํ˜„์ง€ํ™” ํŒฉ ์„ค์น˜ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ด‰์ธ ํ›„ ์ฒซ ๋ฒˆ์งธ ๋ถ€ํŒ… ์‹œ "en-us" ์–ธ์–ด๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•˜๊ณ , ์ฒซ ๋ฒˆ์งธ ๋ถ€ํŒ… ํ›„ ์–ธ์–ด ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

"Unattend.xml" ํŒŒ์ผ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์— "en-US"๋ฅผ ์ž…๋ ฅํ•˜๊ณ  "Sysprep.bat"๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ํฌ์ธํŠธ 2๋ฅผ ์„ ํƒํ•˜๊ณ  ์–ป์€ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ™˜์˜ ํ™”๋ฉด์€ ์˜์–ด๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฉ€ํ‹ฐ ํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธ์‚ฌ๋ง ์–ธ์–ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด "Unattend.xml"์— ๋ช…๋ น์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ํ˜„์žฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‹œ์ž‘ ํ™”๋ฉด์— ๋ณต์‚ฌํ•˜๋„๋ก ์ง€์ •ํ•˜๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋‚˜ํƒ€๋‚ด๋Š” "control intl.cpl,, /f:" ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
      <gs:UserList>
        <gs:User UserID="Current" CopySettingsToSystemAcct="true"/> 
    </gs:UserList>
</gs:GlobalizationServices>

์™œ๋ƒํ•˜๋ฉด ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์„ค์ •์„ ๋ณต์‚ฌํ•œ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•œ ํ›„์— ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ "๊ทธ๋Ÿฌ๋‚˜"๊ฐ€ ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ, ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•œ ํ›„์— ์‹คํ–‰์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ช…๋ น์„ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ถ”๊ฐ€ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ํŒŒ์ผ("Unattend.xml")์— ์ „์ฒด ์†”๋ฃจ์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. "cmd" ํ™˜๊ฒฝ์—์„œ "echo" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์˜ˆ์ •์ด์ง€๋งŒ ๊ณก์ ˆ ๋ถ€ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊บพ์‡  ๊ด„ํ˜ธ๋ฅผ ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์–ป์Šต๋‹ˆ๋‹ค.

echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>Config.xml

ํ•˜์ง€๋งŒ ์ด ๋ช…๋ น์€ ํŠน์ˆ˜ ๋ฌธ์ž ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ณ ์œ ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ๋Š” XML์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ˆ˜๋ฌธ์ž
๋Œ€์ฒด ๊ฐ€์น˜

>
&gt;

<
&lt;

&
&amp;

'
&apos;

"
&quot;

๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด "FirstLogonCommands"์— ๋Œ€ํ•ด ๋‹ค์Œ ๋ช…๋ น์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

cmd.exe /c echo ^&lt;gs:GlobalizationServices xmlns:gs=&quot;urn:longhornGlobalizationUnattend&quot;^&gt;^&lt;gs:UserList^&gt;^&lt;gs:User UserID=&quot;Current&quot; CopySettingsToSystemAcct=&quot;true&quot;/^&gt;^&lt;/gs:UserList^&gt;^&lt;/gs:GlobalizationServices^&gt;&gt;&quot;%TMP%Config.xml&quot;

๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

control intl.cpl,,/f:&quot;%TMP%Config.xml&quot;

๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ด์ „์— ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ณ  ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์žฌ๋ถ€ํŒ… ํ›„์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

cmd.exe /c del &quot;%TMP%Config.xml&quot; /q&amp;shutdown /r /f /t 00

๊ฒฐ๊ณผ์ ์œผ๋กœ sysprep์— ๋Œ€ํ•œ ๋‹ค์Œ ์‘๋‹ต ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์ธ.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
                    <Order>1</Order>
                    <Description>Dont show key page</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                    <Order>2</Order>
                    <Description>Dont make account</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>cmd.exe /c rd %systemdrive%Sysprep /s /q</Path>
                    <Order>3</Order>
                    <Description>Del Folder</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <AutoLogon>
                <Enabled>true</Enabled>
                <Username>Admin</Username>
            </AutoLogon>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>en-US; ru-RU</InputLocale>
            <SystemLocale>ru-RU</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback></UILanguageFallback>
            <UserLocale>ru-RU</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>1</ProtectYourPC>
            </OOBE>
            <FirstLogonCommands>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>cmd.exe /c echo ^&lt;gs:GlobalizationServices xmlns:gs=&quot;urn:longhornGlobalizationUnattend&quot;^&gt;^&lt;gs:UserList^&gt;^&lt;gs:User UserID=&quot;Current&quot; CopySettingsToSystemAcct=&quot;true&quot;/^&gt;^&lt;/gs:UserList^&gt;^&lt;/gs:GlobalizationServices^&gt;&gt;&quot;%TMP%Config.xml&quot;</CommandLine>
                    <Description>CreateConfig</Description>
                    <Order>1</Order>
                </SynchronousCommand>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>control intl.cpl,,/f:&quot;%TMP%Config.xml&quot;</CommandLine>
                    <Description>UseConfig</Description>
                    <Order>2</Order>
                </SynchronousCommand>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>cmd.exe /c del &quot;%TMP%Config.xml&quot; /q&amp;shutdown /r /f /t 00</CommandLine>
                    <Description>DelConfig</Description>
                    <Order>3</Order>
                </SynchronousCommand>
            </FirstLogonCommands>
        </component>
    </settings>

์ ๊ฒ€ ํ•ด๋ณด์ž...

๊ฐ์‚ฌ ๋ชจ๋“œ์—์„œ Russified ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

Unattend.xml ํŒŒ์ผ์„ ์ƒˆ ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  "Sysprep.bat"๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ํฌ์ธํŠธ 2๋ฅผ ์„ ํƒํ•˜๊ณ  ์–ป์€ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋ถ€ํŒ…ํ•˜๋ฉด ์‹œ์ž‘ ํ™”๋ฉด์ด ์˜์–ด๋กœ ํ‘œ์‹œ๋˜๊ณ  ์‹œ์Šคํ…œ์ด ์žฌ๋ถ€ํŒ…๋ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ํ™”๋ฉด์€ ๋Ÿฌ์‹œ์•„์–ด๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฉ€ํ‹ฐํ‚ค์˜ค์Šคํฌ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Windows 10 IoT Enterprise ์„ค์ • ๋ฐ ๋ผ์ด์„ ์Šค์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์—ฐ๋ฝ์ฒ˜๋กœ ๋ฌธ์˜ํ•˜์„ธ์š”. [์ด๋ฉ”์ผ ๋ณดํ˜ธ] ์•„๋‹ˆ๋ฉด ์›น์‚ฌ์ดํŠธ๋กœ quarta-embedded.ru.
๋‹ค์Œ์—์„œ ๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์œ„ํ‚ค ๋˜๋Š” ์šฐ๋ฆฌ YouTube ์ฑ„๋„

๊ธฐ์‚ฌ ์ž‘์„ฑ์ž: Vladimir Borisenkov, Quarta Technologies์˜ ๊ธฐ์ˆ  ์ „๋ฌธ๊ฐ€.

์ถœ์ฒ˜ : habr.com