To żeby tak łatwo nie było, musimy jeszcze wymyślić sposób, w jaki będziemy identyfikować osoby, które przebywają na terenie zakładu. Pracownicy są mobilni, mogą być w różnych lokalizacjach, a chcemy, żeby komunikat wyświetlał się tylko osobom, które są na terenie fabryki. W pierwszym rzucie pomyślałem o integracji z systemem kontroli dostępu, w naszym przypadku jest to AutoID postawiony na Win2000.
To coś czuję, że nie obejdzie się bez aplikacji lub skryptu (zapewne PowerShell). Są już w takim razie dwa źródła danych: AD skąd pobieramy użytkoników oraz AutoID skąd bierzemy pracowników, aktualnie znajdujących się w firmie.
Ale z drugiej strony istnieje jeszcze możliwość “spingowania” danego użytkownika, ewentualnie sprawdzenia czy użytkownik AD jest zalogowany na swoje konto lub czy jest online/offline. Podejrzewam, że AD ma tego typu możliwości, trzeba by poczytać. Z drugiej jednak strony problemy mogą być wtedy, gdy nieobecny pracownik pozostawi swój komputer nie wyłączony, w postaci zablokowanego systemu.
To dojdzie do tego zapewne też jakiś excel, bo np. ja jak i kilkadziesiąt innych osób wjeżdżam na teren zakładu, ale na chwilę obecną w żaden sposób nie potwierdzam tego w KD. Zapewne jestem odnotowywany w papierowej księdze wjazdów.
KD? To jest ten system kontroli dostępu jak rozumiem?
Hmm… patrząc przez pryzmat możliwości AD, raczej pominąłbym kwestię AutoID (w sensie KD). Raczej zebrałbym listę wszystkich użytkowników w domenie Active Directory, następnie przefiltrował i uzyskał listę tylko tych, którzy są zalogowani tudzież mają uruchomiony komputer, a następnie wysłał powiadomienie (np. z użyciem wymienionego wcześniej Msg.exe). Myślę, że można to zrobić z użyciem Power Shella albo innego języka skryptowego (np. Pythona).
No to tym lepiej. W AD w sumie też chyba można porozdzielać użytkowników w zależności od lokalizacji (choćby poprzez grupy). Chyba zmierzamy ku rozwiązaniu problemu
W AD będzie z tym ciężko, bo np ja mogę być w każdej lokalizacji. Mało jest pracowników (chyba tylko Ci pracujący na desktopach), którzy są przypisani do jednej lokalizacji. Większość ma laptopy i porusza się po kraju, bądź łączy się z firmą przez VPNy.
Z drugiej strony w każdej lokalizacji jest UTM, który przydziela IP wg wpisanych mu MAC, więc w każdej lokalizacji dostanę inny IP
Rozumiem. W takim razie algorytm omawianego skryptu należy rozbudować o filtrowanie w zakresie adresu IP:
Pobranie użytkowników w domenie Active Directory wraz z podstawowymi informacjami (m. in. adres IP)
Przefiltrowanie użytkowników pod kątem dostępności (np. zalogowania lub uruchomionego komputera), a następnie filtracja w oparciu o listę adresów IP przypisanych dla danej lokalizacji
Wysłanie powiadomień z uzyskanej ostatecznie listy użytkowników.
Skoro masz podsieci względem budynków to wylistuj ip, połącz się z każdym i telnetem odpal im stosowny komunikat. Zakładając, że każdy klient jest konfigurowany przez ciebie - musisz im usługę włączyć.
Mam podsieci do poszczególnych lokalizacji czyli miejsc typu fabryka, magazyn, biuro zarządu - wszystkie znajdują się w rożnych miastach.
Te podsieci mam jeszcze podzielone na : laptopy, telefony, drukarki itp.
Idea tego zgłoszenia jest taka, że ma to być obsługiwane przez człowieka od BHP, nie znającego się na IT, więc muszę dostarczyć rozwiązanie proste, w którym on tylko wpisze wiadomość i ją wyśle, całość procesu będzie dla niego niewidzialna a efektem końcowym będzie wyświetlenie informacji na monitorach osób będących w chwili wysyłania wiadomości na terenie jednej danej lokalizacji.
W takim razie można mu zrobić prosty program, który “pod maską” będzie obsługiwał skrypt powershellowy posługujący się omawianymi przez nas wcześniej rzeczami
Ewentualnie prostą webaplikację (np. w PHP) wywołującą lokalny skrypt, a tekst pobierający z formularza podanego na stronie.
Moim zdaniem to wyświetlanie komunikatu na ekranie komputera nie jest najlepszym i najpewniejszym sposobem powiadamiania uzytkowników o ewakuacji. Zwykle ewakuacje w fabrykach ogłasza sie z dosyć “dobrych” powodów, więc jeśli akurat zawiedzie sieć, BHPowiec zatrzasnie się w WC, albo wszyscy akurat będą na przerwie sniadaniowej, to będziecie czekać aż wrócą do stanowisk, a w międzyczasie trzmać kciuki, żeby nie zatruły ich na przykład opary z wycieku? :)