매일 밤 Windows 도메인의 모든 컴퓨터를 재부팅하는 좋은 방법


9

Windows 도메인에서 Windows 컴퓨터 목록을 재부팅하는 좋은 방법은 무엇입니까? Windows 도메인 컨트롤러에이를 수행 할 수있는 서비스가 없다고 가정하면 스크립트를 추천하십시오.

호스트 이름을 나열하고 호스트 이름을 통해 반복하여 각각에 재시작 명령을 보낼 수 있습니까? 스크립트 런타임시 Windows 2008 상자에서 실행중인 DHCP 서버에서 호스트 이름 목록을 얻을 수 있습니까?

내가 가장 선호하는 스크립팅 언어는 PHP, javascript, Bash, Python (아주 거의 알지 않음), VB (알지만 싫어함)입니다.


8
차단기를 뒤집습니다. 나는 아이입니다.
gravyface

종료 될 수 있으므로 재부팅해야합니다.
steampowered

@JM-BIOS에서 "이전 전원 상태 다시 시작"으로 설정되어 있지 않은 경우
가짜 이름

@Fake 이름 - 많은 작업처럼 그 소리
steampowered

답변:


15

GPO가 마음에 들지 않고 Mark Henderson의 두 번째 옵션 (배칭 shutdown /m)을 사용하려는 경우 종료를 일괄 처리로 종료하여 직렬이 아닌 병렬로 작업을 수행하여 작업을보다 쉽게 ​​수행 할 수 있습니다. 관리 스테이션 부분에 PowerShell이 ​​필요하지만 매우 깔끔 합니다.

foreach ($ComputerName in $ComputerList) {
    invoke-command -AsJob -ScriptBlock {
        params($ComputerName)
        shutdown /m $ComputerName /r /f /t 0
    } -ArgumentList $ComputerName
}

이 프래그먼트가하는 것은 $ ComputerList에 머신이있는 것처럼 많은 백그라운드 작업 이 병렬실행되는 것 입니다. 이렇게하면 All The Things 종료가 훨씬 빨라질 수 있습니다.


2
이것은 흥미로운 해결책입니다. 컴퓨터를 재부팅해야 할 경우 시스템 종료 명령을 병렬로 실행하므로이 솔루션을 권장합니다.
Richard West

2
-AsJob마법이 여기에 비트입니다.
jscott

Restart-Computer cmdlet 대신 "shutdown"명령을 사용하는 이유가 궁금합니다.
Charles Burge

@CharlesBurge 이것은 5 년 전에 답변되었으며 PS3는 널리 배포되지 않았습니다. 또한 다른 시스템에서 명령을 실행하는 기술을 보여줍니다. 2017 년에는 PowerShell에서 모든 작업을 수행하고 명령을 방해하지 않습니다. 시간이 바뀝니다.
sysadmin1138

7

매일 밤 특정 시간에 실행될 새로운 예약 된 작업을 만들어 그룹 정책 기본 설정을 사용하여이 작업을 수행 할 수 있습니다. 해당 작업에 대한 명령은이어야합니다 shutdown /r /t 0. 그런 다음 해당 GPO를 컴퓨터가있는 OU에 연결할 수 있습니다.

"이 프로그램을 임의의 간격으로 실행"옵션을 사용하여 10-15 분 사이에 설정하는 것이 좋습니다. 조심하지 않으면 모든 단일 컴퓨터의 전원을 동시에 켜는 것이 차단기에 좋지 않을 수 있습니다. 누군가 밤새 컴퓨터를 사용하는 경우 컴퓨터가 x 시간 동안 유휴 상태 인 경우에만 작업을 실행하도록 옵션을 점검 할 수도 있습니다. 마감일을 정하는 사람을 재부팅하여 밤새도록 일을 끝내고 싶지는 않습니다.


GPO를 사용하여 예약 된 작업을 설정하는 것에 익숙하지 않으므로 궁금합니다. 시스템이 작업을 정의하지 않고 한 OU에서 다른 OU로 다른 OU로 이동하면 Shed Task가 사라지거나 처음 적용된 후에도 유지됩니까?
MaCuban

6

두 가지 옵션 :

  1. GPO를 통해 shutdown /r /f /t 0또는 shutdown /g /f /t 0재부팅하려는 각 컴퓨터 에서 예약 된 작업을 만듭니다 . ( shutdown /?자세한 내용을 확인하십시오 .

  2. shutdown /m [computer name] /r /f /t 0중앙 컴퓨터 (아마도 도메인 컨트롤러)에서 실행되는 배치를 만듭니다 . 재부팅하려는 각 컴퓨터에 대해 반복하십시오 ( [computer name]). 즉, 어떤 이유로 든 컴퓨터에 연결할 수 없으면 컴퓨터를 다시 시작할 수 없으며 컴퓨터를 다시 시작할 수있는 권한이있는 계정에서 실행해야합니다.

활성 디렉토리에서 가져온 컴퓨터 목록을 반복하고 명령을 실행하는 배치 파일을 작성할 수 있어야하지만 오늘 컴퓨터를 작성할 시간이 없습니다 (그리고 경우에도 테스트 할 의향이 없습니다) 나는 그것을 썼다.


또한 sysinternals 제품군의 일부인 배치 파일도 실행할 수있는 psshutdown 명령이 있습니다.
Bart Silverstrim

나는 1과 2를 모두 사용했습니다. 이제 Powershell과 함께 즐거운 시간을 보내십시오. # 2를 사용하는 경우 각 컴퓨터에 대해 별도의 프로세스를 생성하는 주 스크립트 생성 (예 :) start cmd /c shutdown /m computer /r /f /t 0또는 일부 논리를 사용하여 온라인 여부를 확인하는 경우 오프라인 컴퓨터의 지연이 심각 할 수 있습니다.
jscott

4

그렇게하는 가장 좋은 방법은 이것이 필요하다는 생각을 가진 사람과 다른 모든 사람들이하는 일을 해고하는 것입니다.


사람들이 밤새 로그인 상태를 유지하면 폴더 리디렉션이 리소스를 묶는 것 같습니다. 대량 재부팅 대신 대량 로그 아웃을 설정하려고 시도 할 수 있지만 재부팅하면 많은 문제가 해결되는 것 같습니다. 재부팅없이 몇 주 또는 몇 달이지나갑니다. 일반적으로 Windows 시스템이 기본 작업이 아니기 때문에 Windows 시스템을 실행하는 올바른 방법을 배우기 위해 많은 시간을 투자하지 않습니다. 추천 메뉴가 무엇인가요?
steampowered

1
아-아니 많은 회사들이 직원들에게 리 보트를 요구하지 않습니다. 폴더 리디렉션을 사용해야한다고 생각하십니까? 문제를 해결하는 것이 좋습니다. 매일 워크 스테이션에서 로그 아웃하면 개인적으로 화를 낼 수 있습니다. 업무가 밤새도록 자주 실행됩니다. 게으름 때문에 많은 사람들이 어려움을 겪을 수 있습니다. 제대로 일을하거나 다른 사람을 고용하십시오.
TomTom

글쎄, 내 일을 제대로하는 것은 우리의 작은 창문 시스템을 돌보는 데 너무 많은 시간을 소비하지 않는 것을 의미합니다.
steampowered

당신이 무엇을 모르십니까? ;) 나는 사람들이 자신의 업무 수행 방식에 관계없이 자신의 업무에 무능하다고 말합니다.
TomTom

Sysadmin은 가족이 도와 줄 수있는 부업입니다. 시간이 무한하다면 창문과 다른 접선에 관한 책을 더 많이 읽을 것입니다. 그러나 돈을 버는 가장 좋은 방법은 웹 소프트웨어를 고수하는 것입니다. 나는 당신이 대답 한 것이 전혀 질문에 대한 기술적 해결책을 제공하는 정신이 아니라고 생각합니다.
steampowered
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.