Windows 7 로그온 스크립트 - 기본 프린터 설정

Windows 7 로그온 스크립트 - 기본 프린터 설정

나는 무엇보다도 기본 프린터를 설정하는 클라이언트 사이트의 로그온 스크립트 문제를 해결하는 임무를 받았습니다. 로그온 스크립트는 vbscript이며 프린터는 다음을 사용하여 설정됩니다.

Set WshNetwork = CreateObject("WScript.Network")

...

WshNetwork.SetDefaultPrinter(strPrinter)

그것을 설정한 기술자는 그것이 작동하고 있다고 말했습니다. 고객은 그렇지 않다고 하더군요. 내 테스트에서는 간헐적으로만 작동하는 것으로 나타났습니다. 현재 나는 다음과 같은 것을 가지고 있습니다 :

WScript.Echo GetDefaultPrinter
For i = 0 to 50
    if strPrinter <> GetDefaultPrinter then
        WshNetwork.SetDefaultPrinter(strPrinter)
    end if
Next    
'WshNetwork.SetDefaultPrinter("Fax")

Msgbox("Called WshNetwork.SetDefaultPrinter(" & strPrinter & ")")
WScript.Echo GetDefaultPrinter


Function GetDefaultPrinter
sComputer = "."
Set oWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
Set colItems = oWMIService.ExecQuery("Select * from Win32_Printer",,48)
For Each oItem in colItems
If (oItem.Attributes And 2^(3-1)) = 4 Then
sDefault = oItem.Name
Exit For
End If
Next
GetDefaultPrinter = sDefault
End Function

이를 통해 변경을 시도하기 전후에 기본 프린터를 확인할 수 있습니다. 루프가 도움이 된 것 같지만 문제가 완전히 해결되지는 않았습니다. 새 프린터가 올바르게 설정되는 경우도 있고 로그오프했다가 다시 로그인해도 동일한 기본 프린터를 설정할 수 없는 경우도 있습니다. 명확히 하자면 나는~ 아니다풀타임 관리자. 이 기술은 시대에 뒤떨어진 기술인가요? 기본 프린터를 설정하려면 다른 것을 사용해야 합니까?

편집: 또한 사용자가 사용자 세션 중에 설정하거나 변경했을 수 있는 기본 프린터를 기억한 다음 해당 프린터를 기본값으로 설정해야 합니다.

답변1

Server 2008 및 Windows 7이 있으므로 그룹 정책 기본 설정을 통해 기본 프린터를 설정할 수 있습니다. 우리는 지금 그것을 사용하여 컴퓨터실에서 기본 프린터를 설정하고 있습니다. 이러한 컨테이너에 대한 GPO를 생성해야 하지만 꽤 세분화할 수 있습니다.

그룹 정책 편집기에서 정책은 다음 위치에 있습니다.

사용자 구성 -> 기본 설정 -> 제어판 설정 -> 프린터

거기에 프린터를 추가하세요. 확인란 중 하나는 "기본 프린터로 설정"입니다. 실제로 작동한다.

답변2

Network 개체를 사용하는 대신 다음 명령을 직접 실행합니다. rundll32 printui.dll,PrintUIEntry /y /n ""이 제대로 작동하는 것 같습니다.

관련 정보