PowerShell Restart Print Spooler Service

4 Min Read

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 – Restart Print Spooler Service

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.

Bu makaleyi paylaş
Takip et:
Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.
Yorum Yap

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Exit mobile version