Restart Print Spooler Service işlemi için neler yapmamız gerekiyor ?
Merhaba, bu yazıda sizlere arada sırada karşılaştığınız yazdırma sorunlarından yazıcı biriktirici hizmetinin çalışmaması sorunundan ve çözümünden bahsedeceğim. Yazdırma biriktirici dağılımını düzeltmek için, Yazdırma Biriktiricisi Hizmeti’nin (yazdırma biriktirici hizmeti) çalışma durumu kontrolünü takip eden hizmeti yedinden başlatmak için bir Powershell betiğini kullanacağız.
Resimde, Yazıcı kuyruğunda 2 iş takılıp/duraklamış ve yazdırılamamış görünüyor.
Yazdırma Biriktiricisi Hizmeti ( Yazdırma Biriktiricisi Hizmet ) Sorunu
Dosyalar yazıcıya gönderilmiyorsa veya belgeler Yazıcı kuyruğunda takılıyorsa, sorun sık aralıklarla yazıcı biriktirme hizmetinin çalışmaması olabilir.
PowerShell Dipnot: Spooler hizmetini yeniden başlatmak için PowerShell terminalini veya PowerShell ISE’yi yönetici olarak çalıştırın.
Yazdırma Biriktiricisi, yazdırma biriktiricisi için Windows hizmet adıdır. Tüm Windows işletim sistemlerinde ve sunucu işletim sistemlerinde varsayılan olarak etkindir. Yazıcı biriktiricisi hizmetinin ana işi, yazdırma sürücülerini yükleme, işleri yazdırma, işleri yazdırma ve yazıcıyla dağıtmadır.
Yazıcı Biriktiricisi Hizmet Durumu Kontrolü
Print Spooler hizmetinin durumunu görmek için PowerShell’deki Get-Service cmdlet’ini kullanın.
$PrintSpooler = Get-Service -Name Spooler # Yazdırma Biriktiricisi Hizmetinin lisansında alın (Çalışıyor veya Durduruldu) $PrintSpooler
Yukarıda yazmış olduğum PowerShell betiğinde, Get-Service komutu biriktirici servis nesnesini alır ve onu değişkene atar $PrintSpooler
.
Sonraki komutta, $PrintSpooler değişkeninin içeriklerini yazdırır. Yazdırma biriktiricisi hizmetinin Durum, Ad ve Görüntü adını aşağıdaki gibi çıktı olarak verir.
PowerShell ile Yazdırma Biriktiricisi Nasıl Yeniden Başlatılır ?
Yazdırma biriktiricisi hizmetini PowerShell ile yeniden başlatmak için, biriktirici sunucusu nesnesini almak üzere Get-Service komutunu kullanın. Start-Service komutu, yerel bilgisayarda yazdırma biriktiricisi hizmetini başlatmak için kullanılır.
$PrintSpooler = Get-Service -Name Spooler
# Yazdırma biriktiricisi durumunu alın. (Çalışıyor veya Durduruldu)
$PrintSpooler
# Yazdırma biriktiricisi servisini kontrol et ve çalışmıyorsa yeniden başlatın.
if($PrintSpooler.Status -eq 'stopped')
{
# Yerel bilgisayarda yazdırma birikticisi servisini başlatın.
Start-Service $PrintSpooler
}
# Yazdırma biriktiricisi durumunu kontrol edin.
$PrintSpooler
İş İstasyonunda Yazıcı Biriktiricisi Hizmetini Yeniden Başlatmak
PowerShell ile bir iş istasyonunda yazıcı biriktirici hizmetini yeniden başlatmak için yazıcı biriktirici nesnesini almak üzere Get-Service komutunu kullanın. Restart-Service komutu biriktirici hizmetini yeniden başlatmak için kullanılır.
# Biriktirici Hizmet Nesnesini Alın.
$PrintSpooler = Get-Service -Name Spooler
#İş istasyonu üzerinde yazıcı biriktirme servisini yeniden başlatın.
Restart-Service $PrintSpooler
Yukarıdaki PowerShell betiğinde,
- $PrintSpooler değişkeninde Spooler Service nesnesini alın
- İş İstasyonunda
Restart-Service
Yazdırma Biriktiricisi hizmetini yeniden başlatın.
Yazdırma Biriktiricisi Kuyruğunu Temizlemek
Yazıcı biriktirme hizmetini yeniden başlattıktan sonra bile yazıcının hala yanıt vermemesi veya dosyaların yazıcıya gönderilmemesi durumu olabilir.
Bu sorunları gidermek için yazıcı kuyruğunun yedeğini almamız ve daha sonra yazıcı biriktirme kuyruğunu temizlememiz gerekiyor.
Yazıcı Biriktiricisi Kuyruk Dosyalarının Yedeğini Almak
Yazıcı biriktirici kuyruğunu temizlemeden önce yazıcı biriktirici kuyruğu dosyalarının yedeğini almak için aşağıdaki PowerShell betiğini çalıştırın.
# Biriktirici Hizmetini Durdurun.
Stop-Service -Name Spooler -Force
# Biriktirici dosyalarını yedekleyin.
Move-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*" -Destination 'C:\Spooler\Backup\' -Force
Stop -Service komutu, onay istemeden Spooler hizmetini durdurur.
Move -Item komutu, -Path
parametreyi kullanarak, yedekleme olarak belirtilen hedef yola makara kuyruğu dosyasını taşır -Destination
.
Yazıcı Biriktiricisi Kuyruk Dosyalarını Silmek
Print Spooler dosyalarını silmek için, biriktirici kuyruğu dosya yolunu belirtmek için -Path parametresini kullanan Remove-Item komutunu kullanın. Start-Service komutu biriktirici kuyruğu dosyalarını sildikten sonra biriktirici hizmetini başlatır.
# Yazıcı Biriktiricisi Dosyalarını Silin.
Remove-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*"
# Yazıcı biriktirme servisini yeniden başlatın.
Start-Service -Name Spooler
Yukarıdaki PowerShell betiğinde, Remove-Item cmdlet’i $env: path ortam değişkeniyle belirtilen yazıcı biriktiricisi kuyruk yolunu alır ve klasörlerden tüm dosyaları siler.
Çözüm
Bu makaledeki PowerShell komutlarıyla yazdırma biriktiricisi hizmetinin nasıl yeniden başlatılacağına dair makalenin, Yazıcı biriktiricisi hizmetinin yanıt vermemesi veya yazıcı biriktiricisi hizmetinin çalışır durumda olmamasıyla ilgili sorunları düzeltmesini umuyorum.
Bu gibi durumlarda yerel veya uzak iş istasyonunda yazdırma biriktiricisi hizmetini yeniden başlatabilirsiniz.