Windows에 로그온 할 때 자동으로 스크립트 실행


27

Windows에 로그온 할 때 자동으로 스크립트를 실행하려면 어떻게해야합니까?

컴퓨터에 로그인 할 때마다 다음과 같이 실행하고 싶습니다.

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

화면 보호기의 잠금을 해제 할 때마다 동일한 스크립트를 실행할 수 있다는 것이 보너스입니다.


적절한 대답은 매우 높은 옥탄입니다. 원 라이너를 사용하여 아래에 더 겸손하지만 효과적인 것을 제공합니다 ... ;-)
Jeff

답변:


19

컴퓨터가 잠금 해제 될 때 실행될 예약 된 작업을 만들 수 있습니다.

  1. 시작> 관리 도구> 작업 스케줄러
  2. 왼쪽 창 : 작업 스케줄러 라이브러리를 선택하십시오.
  3. 오른쪽 창 : Create Task ...를 클릭하십시오 (참고 : 이것이 올바른 트리거를 얻는 유일한 방법입니다)
  4. 태스크 작성 대화 상자에서 :
    • 일반 탭-작업 이름을 제공하십시오
    • 트리거 탭-새로 작성 ...을 클릭하고 워크 스테이션 잠금 해제시를 선택하십시오.
    • 작업 탭-새로 만들기 ...를 클릭하고 찾아보기 ...를 클릭하여 스크립트를 찾습니다
    • 조건 탭-컴퓨터의 AC 전원이 켜져있는 경우에만 작업 시작을 선택 취소하십시오.

또한 스크립트에서 읽을 경로를 조정했습니다.

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt

22

이미 스크립트가있는 경우 :

사용자 또는 그룹에 로그온 스크립트를 할당하려면

  • 컴퓨터 관리를 엽니 다.
  • 콘솔 트리에서 사용자를 클릭하십시오.

어디에? 시스템 도구 / 로컬 사용자 및 그룹 / 사용자

  • 로그온 스크립트를 할당 할 사용자를 두 번 클릭하십시오.
  • 프로필 탭을 클릭하십시오.
  • 로그온 스크립트 필드에 해당 사용자에게 지정할 로그온 스크립트의 경로와 이름을 입력 한 다음 확인을 클릭하십시오.

Microsoft의 편리한 "HowTo"도 있습니다.

로그온 스크립트 작성

로그온 스크립트를 사용하여 사용자가 특정 컴퓨터에 로그온 할 때 수행 할 작업을 할당 할 수 있습니다. 스크립트는 운영 체제 명령을 수행하고 시스템 환경 변수를 설정하며 다른 스크립트 또는 실행 프로그램을 호출 할 수 있습니다. Windows Server 2003 제품군은 두 가지 스크립팅 환경을 지원합니다. 명령 프로세서는 배치 언어 명령이 포함 된 파일을 실행하고 WSH (Windows Script Host)는 Microsoft VBScript (Visual Basic Scripting Edition) 또는 Jscript 명령이 포함 된 파일을 실행합니다. 텍스트 편집기를 사용하여 로그온 스크립트를 만들 수 있습니다. 로그온 스크립트가 일반적으로 수행하는 일부 작업은 다음과 같습니다.

  • 네트워크 드라이브 매핑
  • 사용자의 기본 프린터 설치 및 설정
  • 컴퓨터 시스템 정보 수집
  • 바이러스 서명 업데이트
  • 소프트웨어 업데이트
  • 다음 로그온 스크립트 예에는 Active Directory를 사용하는 VBScript 명령이 포함되어 있습니다.
  • 사용자의 그룹 멤버십을 기반으로 세 가지 일반적인 작업을 수행하기위한 서비스 인터페이스 (ADSI) :

WSH 네트워크 개체의 UserName 속성과 함께 WSH 네트워크 개체의 MapNetworkDrive 메서드를 호출하여 H : 드라이브를 사용자의 홈 디렉토리에 매핑합니다. ADSI IADsADSystemInfo 개체를 사용하여 현재 사용자의 고유 이름을 얻습니다.이 이름은 Active Directory의 해당 사용자 개체에 연결하는 데 사용됩니다. 연결이 설정되면 사용자의 memberOf 속성을 사용하여 사용자가 속한 그룹 목록이 검색됩니다. 다중 값 그룹 이름 목록은 VBScript의 조인 기능을 사용하여 단일 문자열로 조인되어 대상 그룹 이름을 쉽게 검색 할 수 있습니다.

현재 사용자가 스크립트 맨 위에 정의 된 세 그룹 중 하나의 구성원 인 경우 스크립트는 사용자의 G : 드라이브를 그룹 공유 드라이브에 매핑하고 사용자의 기본 프린터를 그룹 프린터로 설정합니다. 예제 로그온 스크립트를 만들려면

  • 메모장을 엽니 다.
  • 다음을 복사하여 붙여 넣거나 입력하십시오.

    Const ENGINEERING_GROUP     = "cn=engineering"
    Const FINANCE_GROUP         = "cn=finance"
    Const HUMAN_RESOURCES_GROUP = "cn=human resources"
    
    Set wshNetwork = CreateObject("WScript.Network")
    wshNetwork.MapNetworkDrive "h:",
    "\\FileServer\Users\" & wshNetwork.UserName
    
    Set ADSysInfo = CreateObject("ADSystemInfo")
    Set CurrentUser = GetObject("LDAP://" &
    ADSysInfo.UserName)
    strGroups = LCase(Join(CurrentUser.MemberOf))
    
    If InStr(strGroups, ENGINEERING_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Engineering\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\EngLaser"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\Plotter"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\EngLaser"
    
    ElseIf InStr(strGroups, FINANCE_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Finance\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\FinLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\FinLaser"
    
    ElseIf InStr(strGroups, HUMAN_RESOURCES_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Human Resources\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\HrLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\HrLaser"
    
    End If
    
  • 파일 메뉴에서 다른 이름으로 저장을 클릭하십시오.

  • 저장 위치에서 도메인 컨트롤러의 Netlogon 공유 폴더에 해당하는 디렉토리 (일반적으로 SystemRoot \ SYSVOL \ Sysvol \ DomainName \ Scripts, 여기서 DomainName은 도메인의 정규화 된 도메인 이름)를 누릅니다.
  • 파일 형식에서 모든 파일을 클릭하십시오.
  • 파일 이름에 파일 이름과 .vbs를 차례로 입력 한 다음 저장을 클릭합니다. WSH는 .vbs 확장명을 사용하여 VBScript 명령이 포함 된 파일을 식별합니다.

누군가가 답을 좋아한다는 것을 항상 반갑습니다 :-D
Ivo Flipse

나는 거의이 CW를 돌리고 그것을 faq 태그하고 싶다 :)
quack quixote

내 손님 @quack ;-) 실제로 무엇에 대한 FAQ입니까?
Ivo Flipse

14

내가 생각할 수있는 가장 간단한 방법은 이것을 시작 폴더의 .bat 파일에 넣는 것입니다.

더 복잡한 방법은 배치 파일을 레지스트리의 레지스트리에 추가하는 것입니다.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

레지스트리 키.


8
당신이 이것을 실행하려면 때 어떤 에 사용자가 로그인, 당신은 모든 사용자 시작 폴더에 넣어해야합니다 ( % 프로필 % / 시작 메뉴 \ 프로그램 \ 시작 ) 또는 LocalMachine 등록 하이브의 실행 섹션에서 항목을 : HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run )
Treb

이 방법으로 .exe를 실행하지만 조용히 실행할 수있는 방법이 있습니까? cmd를 열어 두지 않고?
bzupnick

2

또 다른 좋은 방법은 실행할 명령을 사용하여 배치 파일을 만드는 것입니다. 다음으로 컴퓨터의 정책 편집기에서 로그인 프로세스의 일부로 로그인 스크립트를 실행하도록 지정합니다. 빠른 참고 사항은이 옵션은 XP Pro에서만 사용할 수 있으며 홈 버전은 아닙니다.

여기 그룹 정책 편집기 자습서


2

화면 잠금 / 잠금 해제시이 기능을 사용하여 실행할 수 있는지 아는 사람이 있습니까?

Windows 7 및 / 또는 Windows Server 2008을위한 방법이 있습니다.

트리거가 "로그온 할 때"를 사용하므로 작업 스케줄러를 사용하고 새 기본 작업을 만듭니다.


트리거를 "워크 스테이션 잠금 해제 상태"로 설정하려는 경우 기본 작업을 사용할 수 없습니다.
Jeff

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.