Nieaktywne komputery mogą prowadzić do poważnych problemów, takich jak niedokładne raporty, powolność zasad grupy, dystrybucja oprogramowania, problemy z aktualizacjami oprogramowania i problemy z bezpieczeństwem.
W średnich i dużych firmach możesz być zaskoczony, jak wiele nieaktywnych komputerów po prostu siedzi w usłudze Active Directory.
W poniższych przykładach przyjrzymy się 2 różnym narzędziom Active Directory, których można użyć do wyszukiwania i usuwania starych kont komputerów.
Najpierw przyjrzyjmy się działaniu tych narzędzi. Warto wiedzie, że istnieją dwa atrybuty, których możesz użyć do znalezienia starych kont komputerów:
- lastLogonTimestamp – komputery z usługą Active Directory mają atrybut o nazwie lastLogonTimestamp. Firma Microsoft utworzyła ten atrybut, aby ułatwić identyfikację nieaktywnych komputerów i kont użytkowników. Służy do określenia, czy użytkownik lub komputer ostatnio logował się do domeny.
- Wiek hasła komputera – Podobnie jak konta użytkowników, komputery mają hasło. Są one zmieniane automatycznie co 30 dni. Jeśli komputer nie jest już aktywny, hasło nie zostanie zaktualizowane, co można wykorzystać do wyszukiwania starych i nieaktywnych komputerów.
Narzędzia o których mówimy będą sprawdzać czas ostatniego logowania lub wiek hasła komputera, aby określić, czy komputer jest nieaktywny.
Trzeba jednak pamiętać o dokładnym przetestowaniu wyników, które wygenerują omawiane narzędzia. Nie chcemy usunąć przypadkiem konta aktywnego komputera.
Należy również pamiętać o użytkownikach, którzy loguję się zdalnie (praca przez VPN), często mogą nie potrzebować z niego korzystać a tym samym dla omawianych rozwiązań takie komputery będą kwalifikowały się do usunięcia. Brak zalogowania się do VPN oznacza, że Active Directory nie wie o tym, że użytkownik a tym samym komputer działa. Dobrym przykładem jest korzystanie z dostępu do plików przez SharePoint, wtedy użytkownicy zdalni lub tacy jak przedstawiciele handlowi o ile nie korzystają z wewnętrznych aplikacji nie muszą logować się przez VPN.
Dobrym rozwiązaniem, będzie jedynie wyłączenie konta takiego komputera i odczekanie z jego usunięcie około miesiąca, aby upewnić się, że nie jest potrzebne.
Znajdź nieaktywne komputery za pomocą narzędzia wiersza poleceń Oldcmp
Oldcmp to narzędzie wiersza poleceń, które zostało stworzone specjalnie do czyszczenia starych kont komputerowych. Zamiast sprawdzać czas ostatniego logowania, sprawdza wiek hasła komputera. Domyślnie sprawdza przez 90 dni, ale można to zmienić.
Oldcmp ma wiele zabezpieczeń, które zapobiegają uszkodzeniu Active Directory. Posiada wiele opcji, co czyni go doskonałym wyborem do automatyzacji całego procesu czyszczenia. Pomimo swojego wieku, nadal działa na nowych kontrolerach domeny, takich ja DC Windows Server 2016.
Kilka opcji z listy wbudowanych zabezpieczeń:
- Możesz usuwać tylko konta komputerów, które są wyłączone,
- Domyślnie modyfikuje tylko 10 kont na raz, jeśli chcesz więcej, musisz określić liczbę,
- Musisz dołączyć opcję FORREAL, aby naprawdę wprowadzić zmiany,
- Nie spowoduje to modyfikacji kont kontrolerów domeny
Przyjrzyjmy się, jak korzystać z tego narzędzia na kilku przykładach.
Po pobraniu Oldcmp, należy wypakować archiwum do konkretnego katalogu, najlepiej na kontrolerze domeny. Program uruchamiany jest przez cmd, wskazując ścieżkę do pliku oldcmp.exe.
Przykład 1
1 |
oldcmp -raport |
Spowoduje to wygenerowanie raportu HTML dotyczącego komputerów starszych niż 90 dni.
Przykład 2
1 |
oldcmp -forreal -unsafe |
Ten przykład znajdzie konta i je wyłączy.
Przykład 3
1 |
oldcmp -delete -onlydisabled -unsafe -forreal |
To polecenie znajdzie i usunie konta starsze niż 90 dni, ale tylko te, które są wyłączone.
Znajdź stare konta komputerów za pomocą programu PowerShell
Druga metoda wykorzystuje Powershell do wyszukiwania ostatniego ustawionego atrybutu hasła. Aby to zadziałało, będzie konieczne załadowanie modułu PowerShell Active Directory.
Krok 1: Użyj polecenia cmdlet Get-ADComputer
Poniższe polecenie wyświetli wszystkie komputery według nazwy i ostatniego ustawionego hasła.
1 |
get-adcomputer -filter * -properties passwordlastset | select name, passwordlastset | sort passwordlastset |
Jedynym problemem związanym z tym poleceniem jest to, że wyświetli ono wszystkie komputery w domenie.
Nam tylko na komputerach, które nie były resetowane w ciągu ostatnich, np. 90 dni. Jest kilka sposobów, aby sobie z tym poradzić.
Krok 2. Wyeksportuj wyniki do pliku CSV
Aby wyeksportować raport do pliku CSV, dodaj export-csv i ścieżkę na końcu polecenia.
1 |
get-adcomputer -filter * -properties passwordlastset | select name, passwordlastset | sort passwordlastset | export-csv c:\temp\exportedcomputers.csv |
Teraz wyniki można obrobić w programie Excel łatwo usuwając komputery, które mają zostać.
Krok 3. Dodaj zmienną daty, aby odfiltrować komputery
Inną opcją jest utworzenie zmiennej, która pomoże filtrować wyniki. Aby to zrobić, użyję polecenia cmdlet get-date do utworzenia zmiennej ustawiającej datę na -90 dni.
Oto polecenie utworzenia zmiennej, -90 ustawia ją na 90 dni wstecz. Oczywiście można podstawić dowolną wartość reprezentującą liczbę dni, którą chcemy się cofnąć.
1 |
$date = (get-date).adddays(-90) |
Następnie dołączam zmienną daty oraz argument mniejszy niż (-lt) w oryginalnym poleceniu.
1 |
get-adcomputer -filter {passwordlastset -lt $date} -properties passwordlastset | select name, passwordlastset | sort passwordlastset |
Teraz wyświetli tylko konta komputerów starsze niż 90 dni.
Podsumowanie
Dwa rozwiązanie pozwolą na szybkie wygenerowanie listy komputerów, których konta należy usunąć, ponieważ nie są używane. Mamy do wyboru narzędzie Oldcmp, które umożliwia automatyczne przejście po kontach komputerów i ich wyłączenie (krok 1) a później ich wyłączenie. Jeżeli potrzebujesz tyli sty takich komputerów warto użyć drugiego rozwiązania opartego na PowerShell.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).