W tym poście opisze jak wykorzystać rolę Windows Server do monitoringu ilości wydruków w firmie.
Co potrzebujesz?
- Windows Server 2012 R2 lub nowszy
- Wdrożone środowisko Acitve Directory
- Microsoft SQL 2014 (może być darmowa edycja Express)
- Drukarki sieciowe w firmie
Co potrzebujesz wiedzieć?
- Jak się instaluje role w Windows Server
- Jak się uruchamia skrypty powershell
- Jak utworzyć bazę danych SQL, użytkownika SQL, nadać uprawnienia użytkownikowi, uruchomić zapytanie SQL
- (opcjonalnie) jak utworzyć zadanie w harmonogramie zadań Windows
- (opcjonalnie) jak utworzyć połączenie z bazą danych SQL w Excel’u
Konfiguracja krok po kroku:
- Dodaj na serwerze rolę Print and Document Services -> Print Server
- W Event Log włącz logowanie zdarzeń związanych z usługą PrintService oraz ustaw odpowiednią wielkość logu
- Applications and Services Logs -> Microsoft -> Windows -> PrintService -> Admin (PPM -> Enable Log)
- Applications and Services Logs -> Microsoft -> Windows -> PrintService -> Operational (PPM -> Enable Log)
- Na kontrolerze domeny dodaj pustą polisę (nazwij ja np. printers) i zlinkuj ją z OU, w którym są komputery, na których chcesz zainstalować drukarki
- Uruchom konsolę Print Management
- W węźle Print Servers -> %twojserwer% -> Drivers dodaj sterowniki do urządzeń w firmie
- W węźle Print Servers -> %twojserwer% -> Printers
- dodaj drukarki sieciowe wykorzystywane w firmie
- Każdą z drukarek połącz z utworzoną polisą (PPM na drukarce -> Deploy with Group Policy -> Browse -> wskazujemy polise printers -> The computers that this GPO applies to (per machine) -> add -> OK
- Na każdej stacji roboczej należy wymusić aktualizację polis (gpupdate /force)
- Na stacji roboczej pojawią się nowe drukarki, należy ustawić nową drukarkę jako domyślną i wykasować drukarki, które nie sa udostępnione z serwera wydruków. (Jeśli nie usuniemy drukarek innych niż udostepnione z serwera wydruków to zdarzenia wydruku nie pojawią się w Event Logu)
- W najprostszej postaci funkcjonalność mamy wdrożoną, bo z Event Logu można wydobyć informację, kto, kiedy, co drukowal, na której drukarce, z którego komputera. My jednak chcemy, aby uporządkowane dane znalazły się w bazie danych.
- Instalujemy darmowego SQL Express (do pobrania ze stron Microsoft) + SQL Management Studio lub wykorzystujemy już funkcjonującą w firmie instancje SQL
- W dowolny sposób tworzymy bazę PA
- Tworzymy użytkownika print, nadajemy mu hasło i uprawnienia do bazy PA – rola db_owner
- Ze strony https://gallery.technet.microsoft.com/Print-Events-to-SQL-618dd5d4#content lub tutaj pobieramy archiwum ZIP i wypakowujemy z niego pliki.
- W Management Studio uruchamiamy zapytanie PrintingAuditToSQL Schema.sql (z archiwum ZIP) – utworzy się tabela w bazie danych PA
- W pliku PrintingAuditToSQL.ps1 edytujemy zmienne: $PROD_SERVER, $connectionString
- Po uruchomieniu skryptu Powershell na serwerze wydruku dane powinny zapisać się do bazy PA
- W dalszej kolejności można w harmonogramie zadań ustawić uruchamianie skryptu cyklicznie.
- Gdy chcemy przedstawić dane w postaci czytelnego raportu zalecam skorzystać z Excela (Dane -> Z innych źródeł -> Z programu SQL Server) i wybranie tabeli przestawnej.
- Jeśli jednak chcemy być niezależni od pliku Excela, można na serwerze zainstalować darmowe MS Reporting Services (https://www.microsoft.com/en-us/download/details.aspx?id=55252) i zbudować samemu raport za pomocą darmowego MS SQL Server 2016 Report Builder (https://www.microsoft.com/en-us/download/details.aspx?id=53613). Wymaga to jakiegoś dodatkowego dnia pracy.
Instalacja i konfiguracja nie powinna zając więcej niż 8 godzin. Plus ewentualnie instalacja, konfiguracja i projektowanie Reporting Services i Report Builder
Jeśli masz pytania skorzystaj z formularza kontaktowego.