Dolaşım Profilleriyle Gezici Yazıcıların Davranışını Değiştirme

Bu makalede, gezici profillerle gezici yazıcıların davranışının nasıl değiştirildiğini açıklanmaktadır.

Şunlar için geçerlidir: Windows 10 - tüm sürümler
Özgün KB numarası: 304767

Önemli

Bu makale, kayıt defterini değiştirme hakkında bilgiler içerir. Kayıt defterini değiştirmeden önce yedeklediğinizden ve bir sorun oluşursa kayıt defterinin nasıl geri yüklendiğini anladığınızdan emin olun. Kayıt defterini yedekleme, geri yükleme ve düzenleme hakkında bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

Microsoft Windows Kayıt Defteri'nin 256986 Açıklaması

Özet

Tasarım gereği, bir kullanıcı dolaşım profili kullandığında, kullanıcının varsayılan yazıcısı kullanıcı profiliyle birlikte dolaşımda olur. Ancak, bazı ortamlarda bu istenen davranış olmayabilir. Bu makalede, bu davranışı değiştirmek için kullanabileceğiniz yöntemler sağlanır.

Daha fazla bilgi

Uyarı

Kayıt Defteri Düzenleyicisi'ni yanlış kullanırsanız, işletim sisteminizi yeniden yüklemenizi gerektirebilecek ciddi sorunlara neden olabilirsiniz. Microsoft, Kayıt Defteri Düzenleyicisi'nin yanlış kullanımı sonucunda ortaya çıkan sorunları çözebileceğiniz konusunda garanti vermez. Kayıt Defteri Düzenleyicisi'ni kullanmak kendi sorumluluğunuzdadır.

Önemli

Bu makaledeki bilgiler, şirket yöneticileri tarafından kullanılmak üzere tasarlanmıştır. Ortamınızda bu makalede açıklanan yöntemlerden herhangi birini kullanmadan önce, yöntemi bir test ortamında kapsamlı bir şekilde test etmelisiniz.

Yazıcılar bir kullanıcının dolaşım profiliyle dolaşım için tasarlanmıştır ve bu nedenle varsayılan yazıcı kayıt defterinin HKEY_CURRENT_USER dalında depolanır. Bu davranışı değiştirmek için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1

Önceden yüklenmiş bir yazıcı için varsayılan yazıcı ayarını dışarı aktarın ve ardından kullanıcı bilgisayarda oturum açtığında ayarı kullanıcının profiliyle birleştirin:

  1. Aşağıdaki kayıt defteri anahtarını dışarı aktarmak için Kayıt Defteri Düzenleyici (Regedit.exe) kullanın:

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

  2. 1. adımda yaptığınız kayıt defteri (.reg) dosyasını bir metin düzenleyicisiyle değiştirerek anahtarın altındaki tek kayıt defteri değeri adı şu şekilde olur:

    "Cihaz"=...

    Not

    Kayıt defteri dosyası, dosyanın en altında boş bir satır içermelidir.

  3. Aşağıdaki kayıt defteri anahtarının altına yeni bir ResetPrinter dize değeri eklemek için Kayıt Defteri Düzenleyici (Regedit.exe) kullanın:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. ResetPrinter değerinin değeri aşağıdaki değere benzer olmalıdır:

    REGEDIT.EXE -S yolu\File.reg
    burada File.reg , varsayılan yazıcıyı depolamak için kullandığınız addır.

Yöntem 2

Belirli bir alandaki bilgisayarlar benzer bilgisayar adları içeriyorsa, bilgisayar adındaki belirli bir karakter kümesiyle eşleşen ve karşılık gelen bir yazıcıyı yükleyen bir .vbs betik dosyası kullanabilirsiniz. Bu yönteme dahil edilen örnek kod yalnızca EĞER satırlarını değiştirmenizi gerektirir. Örneğin, koddaki ilk EĞER deyimi "bilgisayar adı "LAB1-" metnini içeriyorsa, varsayılan yazıcıyı "\\LAB1\LaserJet" olarak ayarlar. Bu yöntemi tamamlamak için:

  1. Aşağıdaki örnek VBS kodunu vbs dosyasına kopyalayın, örneğin Defaultprinter.vbs:

    Option Explicit
    DIM RegEntry, ComputerName
    
    RegEntry="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" ComputerName = ReadRegValue(RegEntry)
    
    if InStr(1,ucase(ComputerName),"LAB1-",vbTextCompare) > 0 then call SetPrinter("\\LAB1\LaserJet")
    if InStr(1,ucase(ComputerName),"LAB2-",vbTextCompare) > 0 then call SetPrinter("\\LAB2\LaserJet")
    if InStr(1,ucase(ComputerName),"OFFICE-",vbTextCompare) > 0 then call SetPrinter("\\OFFICE\LaserJet")
    'so on and so forth.
    wscript.quit
    
    '*** This subroutine installs and sets the default printer
    Sub SetPrinter(ByVal PrinterPath)
        DIM WshNetwork
        Set WshNetwork = CreateObject("WScript.Network")
        WshNetwork.AddWindowsPrinterConnection(PrinterPath)
        WshNetwork.SetDefaultPrinter Printerpath
    end sub
    
    '**** This function returns the data in the registry value
    Function ReadRegValue(ByVal RegValue)
        DIM WSHShell
        Set WSHShell = WScript.CreateObject("WScript.Shell")
        ReadRegValue=""
        On Error Resume Next
        ReadRegValue= WSHShell.RegRead(RegValue)
    End Function
    
  2. EĞER satırlarını gerektiği gibi değiştirin. EĞER satırlarının değiştirilmesi gereken tek bölümü çift tırnaklar arasındadır. Ek EĞER satırları eklemeniz gerekebilir.

  3. Aşağıdaki kayıt defteri anahtarı altında bir ResetPrinter dize değeri oluşturmak için Kayıt Defteri Düzenleyici kullanın:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. ResetPrinter değeri aşağıdaki değere benzer olmalıdır:

    WSCRIPT.EXE yolu\DefaultPrinter.vbs
    burada yol , Defaultprinter.vbs dosyasının depolandığı konumdur.

Not

Defaultprinter.vbs dosyasını çalıştırma anahtarı yerine bir oturum açma betiğinden çalıştırmak da mümkündür. Bu makalede açıklanan yöntemlerin her ikisi de, kullanıcı profilinin yazdırılacak şekilde ayarlandığı varsayılan yazıcıyı sıfırlar. Ayrıca, bu makalede yer alan örnek betik düzgün çalışmıyorsa Windows Betik Ana Bilgisayarı'nı yükseltmeniz veya yüklemeniz gerekebilir.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.