Dostałem parę dni temu pytanie od jednego z partnerów MS – w jaki sposób drukować z maszyn wirtualnych w Azure. Trochę mnie zaskoczyło pytanie – przecież drukowanie poprzez sesję RDP to taka sprawa oczywista… ale faktycznie nie działa…
Przeszukałem fora internetowe i sporo osób zgłasza ten problem, a nawet są sugestie by dodać tę funkcjonalność do Azure.
Nie mniej jednak zdecydowałem się temat podrążyć. Sprawdziłem dostęp do w/w usługi na kilku testowych Windows Server w różnych edycjach i wszędzie drukarek przekierowanych nie było widać.
Uruchomiłem też stację roboczą z Windows 10 w Azure… i nagle zaskoczenie – tutaj to działa. Wszystkie drukarki są widoczne i można na nich drukować. Czyli nie jest to jakaś blokada usługi na poziomie Azure tylko coś nie tak z obrazem… może zabezpiezenia.
Przejrzałem Group Policy – i klucz Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Printer Redirection zawiera wartość domyślną… więc to ne to.
Zacząłem zatem szukać na samym serwerze, może jest to gdzieś indziej zablokowane – sprawdziłem jakie drukarki „widzi” mój serwer – odpaliłem w tym celu konsolę Print Management.
I jak widzicie na zdjęciu poniżej – są drukarki widoczne poprzez RDS – drukarki systemowe (PDF oraz XPS). Skoro te działają to każda inna też musi…
Lokalnie na swoim komputerze widzę dwie drukarki – kolorową laserówkę Samsung CLX-3180 oraz atramentówkę HP 3785 oraz oczywiście domyślne systemowe Print to PDF i XPS Document Writer.
Wrócmy do naszego zdalnego serwera w Azure. W konsoli Print Management w zakładce Print Servers / nazwa_hosta / Ports widzimy listę portów, do których serwer mógłby drukować. Porty, które nas interesują oznaczone są prefixem TS – np. TS001, TS002, … to są porty pochodzące ze stacji roboczej – dostępne poprzez usługę RDC (Terminal Services).
No to spróbujmy zatem dodać drukarkę ręcznie. W tym celu otworzyłem konsolę Devices and Printers i kliknąłem w Add a Printer.
Jako iż drukarka się sama na liście nie pojawi – kliknąłem „The printer that I want isn’t listed”, aby ręcznie określić połączenie do drukarki.
W nowym oknie wybrałem „Add a local printer or network printer with manual settings”, bowiem drukarka jest udostępniona jako lokalny port a nie jako urządzenie sieciowe.
Oczywiście musiałem następnie wybrać właściwy port – wybrałem pierwszy z listy – TS001 – to musi być albo Samsung albo HP. Na TS003 i TS004 były przekierowane sterowniki PDF oraz XPS
Sterowniki dodałem oczywiście ręcznie, bowiem system nie widział właściwych.
Oczywiście można by nad tym bardziej popracować – wgrać dodatkowe narzędzia do drukarki, zapewne obsłużyć np. skaner… ale podstawowy problem udało się rozwiązać 🙂
Proszę, sprawdźcie u siebie czy to i u Was działa poprawnie – byłbym wdzięczny za komentarze poniżej zarówno od osób, którym się udało jak i tych, którym to nie działa.
Działa – potwierdzam! Bardzo przydatny artykuł!
A może to tak samo jak przy dostępie przez RDP do Windows Server? W sesjach administracyjnych drukowanie a działa a w sesjach, w których użytkownik wykorzystuje licencję RDP drukowanie działa.
Zakładam, że chodzi Ci o to, iż przy zainstalowanej roli RDS drukarka powinna się pojawić, a przy sesji administracyjnej nie.
Niestety w tym przypadku nie pojawia się wogóle…
Wg. mnie w obrazie nie ma żadnych sterowników i dlatego tak się to zachowuje.
A czy jest w systemie dostepny sterownik Terminal Easy Print i czy jest wlaczona jego obsluga z poziomu gpedit.msc? Bo jesli nie to mapowanie z uniwersalnym sterownikiem nie zadziala dla zadnej z drukarek
Nie wiem, ale to co zrobiłem działa. Po dodaniu uniwersalnego sterownika mam wydruk dostępny
A ja znalazłem jeszcze opis, który mówi o tym, że należy dać uprawnienia modyfikacji dla użytkowników RDP do katalogu C:\Windows\System32\spool\PRINTERS na serwerze. Wtedy bez instalowania sterowników dodają się wszystkie drukarki lokalne (oczywiście pod warunkiem, że mamy zaznaczoną opcję dodawania tychże drukarek w pliku RDP. Zalecam też tworzenie własnych plików RDP, te pobierane z Azure mają błedy.