Има един Windows 2003 server standard SP1 извън София, който играе ролята и на Terminal server поради липса на по-добро решение. Използва се вграденият сървър в Administration mode, с ограничението от 2 сесии. В София пък има клиент, Windows XP Pro SP2, който се свързва по RDP към този сървър, за да работи с една програма на него (водене на склад). Клиентът печата на принтер, който е при него, в София - HP 1020. Човекът, който работи на клиентския компютър, се свързва към терминална сесия и се разкача при всяка складова операция, което може да е по много пъти на ден.
Е да, ама днес не можеше да печата. Първото, което ми направи впечатление на сървъра, беше, че имаше останал принтер от терминалната сесия, въпреки че самата сесия беше прекъсната. В Event log имаше доста warnings, че принтерът е purged и после, че е pending for deletion. Нямаше известия, че е deleted, включително и от предишни дни, и аз реших, че това е нормално. За всеки случай рестартирах Print spooler. За моя изненада след рестарта в Event log се появиха около 30 събития за изтриване на принтери - всичките въпросните HP 1020 от отдалечение сесии. Явно след pending for deletion все пак трябва да има deleted. И след това вече може да се печата.
Въпросът ми е - как да направя така, че принтерите да се изтриват? Срещнах едно мнение в една нюзгрупа, че трябвало драйверите на принтера да бъдат TS-aware и че едва ли не такива били драйверите, които си вървели с Windows. Първото вероятно е така, за второто силно се съмнявам. При всички случаи драйвери за този принтер в Windows няма. Естествено, ще сложа най-новите драйвери на клиентската машина (не съм сигурен коя версия са драйверите в момента, най-вероятно са от диска към принтера, които не знам дали са най-новите), но няма никаква гаранция, че това ще реши проблема. Друго решение е всяка нощ да си рестартирам Print Spooler, за да си трие принтерите. Но пък това хич не ми харесва.
Ако някой знае за решение на този проблем, ще съм благодарен, ако го сподели.
|