Bądź na bieżąco - RSS

Plik wsadowy ze skryptem PowerShell dla serwera MS Exchange

17 maja, 2014 | Brak Komentarzy | Kategoria: Porady, Windows

ShellPowerShell to rozbudowane, konsolowe narzędzie do administracji systemem operacyjnym Windows Server. Długie polecenia, ilość opcji a także niezrozumiałe, na pierwszy rzut oka, przełączniki powodują, że rozwiązanie to może zniechęcić. Tym bardziej, jeśli ktoś jest amatorem tzw. ‘wyklikiwania’ poleceń. Niemniej jest to najlepsza, o ile nie jedyna, droga do pisania skryptów systemowych, które można dodać do schedulera systemowego i tym samym załatwić sobie dużo wolnego czasu.

Standardowo PowerShell wykorzystywany jest do czynności ogólno-systemowych. Jednak instalując nowe usługi na swoim serwerze np. Microsoft Exchange Server, otrzymujemy dostęp do zmodyfikowanego pod kątem Exchange środowiska PowerShell, która umożliwia zarządzanie. Czy można zatem przygotować skrypt, który będzie wykonywany w tle i będzie korzystał z komend właściwych dla wspomnianego środowiska? Można i należy to robić, szczególnie w przypadku takich zadań jak chociażby raportowanie zdarzeń itp.

Zamieszczony poniżej przykład pokazuje jak powinien wyglądać plik wsadowy (może być to popularny batch), który wywoła środowisko PowerShell dla MS Exchange a następnie przygotuje raport w pliku, zawierający listę przekierowanych kont pocztowych. W praktyce, część polecenia, oznaczona kolorem szarym jest uniwersalna, w oznaczonej na zielono skorzystałem z komendy (cmdletu) Get-Mailbox-Server. Może zostać ona zamieniona na każdy inny cmdlet wg pomysłu użytkownika.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -version 2.0→
-NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\→
Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1';→ 
Connect-ExchangeServer -auto; Get-Mailbox -Server→ 
{nazwa serwera MS Exchange} -Filter 'ForwardingAddress -ne $null' |→ 
out-file -filepath {nazwa pliku ze ścieżką}"

MG

Tagi: , , ,

Pomiar szybkości łącza internetowego

18 stycznia, 2014 | Brak Komentarzy | Kategoria: Android, Linux, Porady, Windows

HTML 5Każdy kto miał do czynienia z administrowaniem sieciami komputerowymi, świadczył usługi lub po prostu trochę zna się na rzeczy i pomaga znajomym, na pewno spotkał się ze stwierdzeniem “mój Internet wolno działa…”. Na dobrą sprawę powodów takiego stanu rzeczy może być wiele. Począwszy od wirusa na komputerze klienta a skończywszy na problemach z łaczem dostępowym. Nie mniej aby przejść szybko do działania, typowy użytkownik zaczyna mierzyć “prędkość Internetu”. Metod pomiaru jest bardzo dużo. W sieci można znaleźć multum programów służących w tym celu. Wystarczy zainstalować i możemy korzystać. Istnieją rówież strony z technologią Flash lub Java, które obiecują wiarygodny pomiar pasma. Osobiście korzystam ze sprawdzonego narzędzia iperf. Lecz nie w tym rzecz. Czasami nie mamy dostępnych pod ręką swoich ulubionych narzędzi. Pamiętajmy, że nawet, żeby skorzystać ze stron typu numion.com  trzeba mieć zainstalowane odpowiednie dodatki. W takiej sytuacji z pomocą przychodzi nowy serwis internetowy, którego autorzy zdecydowali się wykorzystać HTML 5 do stworzenia aplikacji pomiarowej. Rozwiązanie to uniezależnia nas od wielu problemów. Ponadto pomiar nie jest obarczony wydajnością implementacji np. Javy. Zatem serdecznie zapraszam do sprawdzenie swojego łącza za pomocą serwisu speedof.me!

Tagi: , , ,

Jak naprawić URL po przeniesieniu witryny WordPress pod nowy adres

7 grudnia, 2013 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, Porady, Windows

WordPressWordPress jest jednym z najbardziej popularnych systemów zarządzania treścią tzw. CMS. Sam używam wyłącznie WordPressa i wysoko go sobie cenie. Nie chciałbym rozpisywać się o zaletach tego oprogramowania, jak również tworzyć kolejnego poradnika instalacji czy konfiguracji. Materiałów w sieci jest wystarczająco dużo. Tym razem chciałbym pokazać jak rozwiązać bardzo konkretny problem, związany z przenoszeniem, tworzeniem kopii testowych itp. witryn utworzonych za pomocą opisywanego CMSa.

Generalnie, wykonywanie kopii witryn WordPressa to przede wszystkim:

  • kopiowanie i przenoszenie bazy danych oraz
  • kopiowanie i przenoszenie całej struktury katalogów i plików

Niemniej, nawet jeżeli całkiem nieźle radzimy sobie z powyższymi zadaniami to trzeba pamiętać, że nasza strona WordPress jest widoczna jako adres URL w sieci np. ‘www.strona-wp.pl’. Tworząc jej kopie albo przenosząc pod nowy adres trzeba pamiętać o uaktualnieniu bazy danych. WordPress zapisuje bowiem wyświetlane elementy typu grafiki, dokumenty itp. za pomocą ich adresu URL. Często, przeniesiona strona, właśnie z tego powodu nie chce wyswietlać żadnych grafik bądź innych obiektów. Co możemy zrobić? Wykonać trzy polecenia UPDATE w środowisku bazy danych:

  1. UPDATE wp_options SET option_value = replace(option_value, →
    'http://www.stary-adres.pl', 'http://www.nowy-adres.pl') →
    WHERE option_name = 'home' OR option_name = 'siteurl';
  2. UPDATE wp_posts SET guid = replace(guid, →
    'http://www.stary-adres.pl','http://www.nowy-adres.pl');
  3. UPDATE wp_posts SET post_content = replace(post_content, →
    'http://www.stary-adres.pl', 'http://www.nowy-adres.pl');

Reszte poprawek musimy wykonać ręcznie, edytując konfiguracje witryny. Niemniej przytoczone polecenia pozwolą na pewno zaoszczędzić mnóstwo czasu.

MG

Tagi: , , ,

Serwer NTP w systemie Windows Server 2008 R2

5 października, 2013 | Brak Komentarzy | Kategoria: Bez kategorii, Porady, Windows

NTPProblem synchronizacji czasu w sieci lokalnej bywa często pomijany. W sieciach z jednorodnym środowiskiem np. Linux czy Windows nie stanowi dużego wyzwania. Jednak co zrobić gdy mamy ekosystem (popularny ostatnio termin) mieszany. Stacje robocze Windows są od razu wyposażone w klienta synchronizacji czasu. Nie chce on jednak współpracować z bardzo dobrym oprogramowaniem, serwerem NTP, na Linuxie. Chyba jeszcze nikomu nie udało się zmusić do poprawnej współpracy wspomnianych systemów. Nie pozostaje zatem nic innego jak przygotwać serwer NTP w środowisku Windows. Nasz bohater, Windows Serwer 2008 R2 posiada taką usługę, jednak myli się ten, kto myśli, że jego konfiguracja polega wyłącznie na tzw. ‘wyklikaniu’.

Z drugiej strony wystarczy, że spełnimy 3 warunki:

  1. Utworzymy regułę zapory systemowej dla ruchu przychodzącego, dla portu 123 i protokołu UDP
  2. Upewnimy się, że usługa ‘Czas systemu Windows’ jest skonfigurowana jako uruchomienie automatyczne
  3. Znamy pewne ‘magiczne’ polecenie…

W zasadzie wszystko sprowadza się do punktu 3 a komenda wygląda tak:

w32tm /config /syncfromflags:manual →
/manualpeerlist:europe.pool.ntp.org → 
/reliable:yes /update

Cały proces kończymy poleceniem:

w32tm /resync

Od tego momentu możemy konfigurować stacje robocze wskazując powyższy serwer jako źródło czasu.

Na koniec wypada dodać, że w Internecie można znaleźć dużo materiałów, oficjalnych bądź nie, na ten temat. Jednak przytoczona tutaj metoda jest sprawdzona i skuteczna.

MG

Tagi: , ,

Odnowienie certyfikatu SSL w serwerze MS Exchange 2010

1 czerwca, 2013 | Brak Komentarzy | Kategoria: Porady, Windows

Certyfikat SSLKażdy kto instalował i konfigurował serwer MS Exchange wie, że jednym z jego komponentów jest dostęp do skrzynek pocztowych przez przeglądarkę (tzw. OWA – Outlook Web Access). Jak każda tego typu komunikacja OWA powinno być zabezpieczone, najczęściej za pomocą protokołu HTTPS. Żeby zrealizować takie rozwiązanie trzeba zainstalować certyfikat SSL. Standardowa procedura zakłada wygenerowanie żądania, przesłanie go do wystawcy certyfikatu, w efekcie zaś otrzymanie samego pliku z certyfikatem. Co jednak zrobić jeśli tylko odnawiamy certyfikat? Czy standardowa procedura jest konieczna?

W przypadku odnowienia certyfikatu, który podpisany został przez tego samego, zaufanego wydawcę, możemy spokojnie pominąć typową, szeroko opisywaną w Internecie, procedurę. Ponieważ podczas instalacji OWA wymagany jest serwer IIS (Internet Information Server), tak naprawdę wystarczy dokonać zmian w konfiguracji tego ostatniego.

Na początek uruchamiamy menadżera IIS (‘IIS Manager’). W lewym okienku aplikacji wybieramy definicje swojego serwera (poniżej opcji ‘Start Page’) i w środkowej sekcji wybieramy certyfikaty serwera (‘Server Certificates’). Po prawej stronie, z dostępnych opcji wybieramy Complete Certificate Request…. Po uruchomieniu okna Wizard, wskazujemy plik z certyfikatem (uwaga – domyślne rozszerzenie nie jest wymagane). Wybieramy również przyjazną nazwę, inaczej alias. Po zakończeniu czynności, program wyświetli monit Complete Certificate Request. W tym momencie potwierdzamy (OK) komunikat i przechodzimy dalej.

Tym razem rozwijamy drzewko po lewej stronie i wśród dostępnych serwerów wybieramy właściwy, podświetlając jego nazwe. Najczęściej będzie to Default Web Site. W tym momencie konieczne jest zatrzymanie usługi IIS (serwera). Po prawej stronie w sekcji Edit Site wybieramy opcje Bindings…. W okienku konfiguracyjnym, które pojawi się na środku ekranu, wybieramy https, następnie zaś, w kolejnym okienku, z rozwijanej listy wybieramy nowy certyfikat (zainstalowany w poprzednim kroku). Uruchamiamy usługę IIS. W tym momencie zakończyliśmy instalację certyfikatu SSL dla naszego OWA.

MG

Tagi: , , ,

Jak ograniczyć liczbe równoczesnych połączeń z serwerem SSH

3 maja, 2013 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

SSHObecnie sieci VPN są zagadnieniem powszechnie znanym, szeroko komentowanym i zalecanym we wdrożeniach biznesowych. Istnieje cała masa gotowych rozwiązań sprzętowych, na poziomie aplikacji itp. Praktycznie każdy administrator może sam, według uznania, wybrać wygodne narzędzie. Różnią się one algorytmami, wymaganiami oraz niestety ceną. Czy można zbudować skalowalny dostęp VPN do firmy, który nie będzie wymagał dużych środków finansowych? Jednym z szeroko ostatnio polecanych rozwiązań jest VPN z wykorzystaniem serwera SSH. Elementami tej techniki są m. in.: (a) serwer dostępowy, zrealizowany np. jako sewer Linux z demonem SSHD oraz (b) aplikacja kliencka, która potrafi zestawić szyfrowany tunel np. Bitwise Tunellier.

Jeden z problemów, związanych z opisywanym tunelem SSL polega na tym, że klient może kreować równocześnie wiele połączeń, korzystających w tym samym czasie, z tego samego konta dostępowego. Być może nie jest to rzecz dyskwalifikująca całość, jednak w codziennej praktyce administratorskiej może utrudniać życie. W końcu chcemy aby logi systemowe były jasne i przejrzyste – słowem czytelne. Najlepiej aby jedno połączenie, czyli wspomniany tunel SSL, było przypisane tylko i wyłączenie do jednego konta.

Przykładowe rozwiązanie dla systemu Linux, z serwerem dostępowym bazującym na dystrybucji Debian Squeeze, polega na odpowiedniej modyfikacji pliku ‘/etc/security/limits.conf‘. Zawiera on m. in. defincje dotycząca liczby równoczesnych sesji SSH dla jednego konta dostępowego. W opisywanym rozwiązaniu należy dodać następującą linie przed znacznikiem ‘# End of file‘:

@sshlimited     -       maxlogins       1

I to wszystko, jak zwykle w przypadku Linuxa, krótko i na temat 🙂

MG

Tagi: , , , , ,

Jak podejrzeć kto zajął zasób we współdzielonym kalendarzu MS Exchange

6 kwietnia, 2013 | Brak Komentarzy | Kategoria: Porady, Windows

Calendar-iconPowszechnie wiadomo, że serwer MS Exchange, oprócz standardowych skrzynek pocztowych, obsługuje skrzynki związane z zasobami. Dotyczy to zarówno lokalizacji (np. sala konferenycyjna) jak i sprzętu (np. projektor). Ta, dość wygodna funkcjonalność, umożliwia rezerwowanie zasobów w ramach organizacji. Informacje o ich zajętości można uzyskać przeglądając współdzielony kalendarz.

Niestety, standardowa konfiguracja sewera umożliwia odczytanie informacji tylko o zajętości. Nie dowiemy się natomiast kto zdążył już zarezerwować zasób. W codziennej pracy włączenie informacji o osobie rezerwującej okazuje się bardzo przydatne i pożądane.

Jak to zrobić w najprostszy sposób? Korzystając z Power Shell dostarczonego w pakiecie MS Exchange (nie mylić z Command Prompt czy Power Shell systemowym!). Po uruchomieniu Power Shell z menu systemowego, przywita nas niebieskie okienko ze znakiem zachęty. Wydajemy polecenie:

[PS] C:>Get-MailboxFolderPermission NazwaZasobu:Calendar

RunspaceId : 8706cde4-2cb5-4519-9a46-a46fcc0c450c
FolderName : Calendar
User : Default
AccessRights : {AvailabilityOnly}
Identity : Default
IsValid : True

Zwróćmy uwagę na wiersz AccessRights, w którym odczytujemy informacje o uprawnieniach: AvailabilityOnly.

Następnie wydajemy polecenie:

Set-MailboxFolderPermission NazwaZasobu:Calendar -User Default →
→ -AccessRights Reviewer

które zmieni uprawnienia dotyczące obiektu NazwaZasobu. To wszystko. Odtąd możemy zawsze sprawdzić kto zarezerwował zasób. Jeszcze tylko mały test:

[PS] C:>Get-MailboxFolderPermission NazwaZasobu:Calendar

RunspaceId : 8706cde4-2cb5-4519-9a46-a46fcc0c450c
FolderName : Calendar
User : Default
AccessRights : {Reviewer}
Identity : Default
IsValid : True

RunspaceId : 8706cde4-2cb5-4519-9a46-a46fcc0c450c
FolderName : Calendar
User : Anonymous
AccessRights : {None}
Identity : Anonymous
IsValid : True

Mam nadzieje, że wszyscy zauważyli zmianę uprawnień 🙂

MG

Tagi: , , , ,

Problemy z logami w MS Exchange 2010

2 marca, 2013 | Brak Komentarzy | Kategoria: Porady, Windows

OotlookZarządzając MS Exchange 2010 czasami możemy napotkać nieprzyjemne niespodzianki. Do jednej z nich należy blokada logów. Exchange, oprócz skrzynek pocztowych (mailbox), przechowuje logi, które zawierają m.in. całą korespondencję przechodzącą przez serwer. Z tego powodu log potrafi przybrać gigantyczne rozmiary blokując wolumin/dysk/partycję (brak wolnego miejsca na dysku). Dane te są niestety potrzebne w przypadku awaryjnego odtwarzania bazy skrzynek pocztowych, nie można ich zatem tak po prostu usunąć ręcznie. Jednak czy aby na pewno?

Zazwyczaj gdy dojdzie do blokady dysku z powodu braku miejsca sewer przestaje przetwarzać korespondencję. W takiej sytuacji trudno jest stosować skomplikowane operacje, bowiem liczy się każda chwila. Może również być tak, że nawet nie mamy gdzie przesunąć logów. Słowem impas. Musimy przede wszystkim pamiętać o dwóch podstawowych regułach:

  1. Nigdy nie usuwamy logów. Możemy je co najwyżej przesunąć na inny dysk (również zewnętrzny) tak aby były dostępne na żądanie.
  2. Z katalogu z logami usuwamy tylko te, które są starsze niż tzw. punkt kontroli (checkpoint).

I właśnie drugi warunek pozwali nam zadziałać ręcznie.

Procedura jest dość prosta:

  • Należy odnaleźć w katalogu zawierającym logi plik z rozszerzeniem ‘*.chk’ (w większości przypadków będzie miał jedną z nazw: ‘E00.chk’, ‘E01.chk’, ‘E03.chk’ itd. )
  • Korzystamy z wbudowanego narzędzia linii poleceń ‘eseutil.exe‘ i w oknie dialogowym (np. po wywołaniu command line prompt poleceniem ‘cmd.exe‘) wpisujemy np.:
"C:\Program Files\exchsrvr\bin\eseutil.exe" /MK →
→ "C:\Program Files\exchsrvr\mdbdata\E02.chk"
  •  Komenda odpowie wyświetlając w okienku raport, którego najważniejsza, z naszego punktu widzenia, linijka będzie wyglądać jak:
Checkpoint (0x21EE,11B0,9A)
  • Interesuja nas pierwsza wartość z nawiasu, bezpośrednio po prefiksie ‘0x’, czyli w tym przypadku ‘21EE
  • Wyświetlamy zawartość katalogu z logami w Exploratorze systemowym i sortujemy ją wg daty
  • Dobra wiadomość jest taka, że możemy ‘odchudzić’ katalog przenosząć wszystkie pliki ‘*.log’ starsze niż ‘E02021EE.log‘!

To tyle w kwestii ratowania życia administratorom 🙂 IMHO warto jest jednak unikać w przyszłości takich sytuacji i wykonywać regularnie kopie zapasowe logów (za pomocą wbudowanej w system usługi). W trakcie tego procesu logi zostaną ‘przycięte’, nie zagrozi nam zatem brak miejsca na dysku. Jednak o tym jak to zrobić napiszę innym razem…

MG

Tagi: , ,

Preparing to configure Windows. Do not turn off your computer.

1 grudnia, 2012 | Brak Komentarzy | Kategoria: Porady, Windows

Moment aktualizowania systemu Windows jest dla mnie zawsze dość stresujący. Niestety, raz na jakiś czas, im częściej tym lepiej, należy aktualizować serwery. Przyznam, że po wielu latach, nadal mam mieszane uczucia i zdarza mi się odwlekać tę chwilę. Niedawno w trakcie aktualizacji jednego z serwerów produkcyjnych musiałem zmierzyć się ze ‘zwisem’ w trakcie wspomnianego procesu. Kiedy od godziny obserwuje się napis ‘Preparing to configure Windows. Do not turn off your computer.‘ różne myśli zaczynają chodzić po głowie. Przede wszystkim nie można ulec panice i restartować ręcznie serwera bo może się to skonczyć źle… Czy jest jakaś alternatywa?

Poniżej zamieszczam procedurę dla sytuacji, w której instalacja trwa od dłuższego czasu, RDP nie działa, jednak nadal można wykonać ping do serwera.

  1. Na komputerze z systemem Windows, należy założyć konto o takiej samej nazwie użytkownika i haśle, jak konto administratora w przypadku problematycznego serwera.
  2. Następuje logujemy się do świeżo utworzonego konta i uruchamiamy polecenie ‘services.msc’ oraz łączymy z serwerem.
  3. Na liście aktywnych usług odnajdujemu ‘Windows modules installer‘, prawie na pewno usługa znajduje się w trybie ‘Stopping‘, nie można też ani jej zatrzymać ani zmienić konfiguracji. Właśnie ta usługa jest najczęściej odpowiedzialna za zwis podczas aktualizacji.
  4. Programem/procesem, która uruchamia wspomnianą usługę jest ‘C:\windows\servicing\trustedinstaller.exe‘, musimy zatem zabić ten proces.
  5. Pobieramy z Internetu narzędzie do zdalnego zarządzania procesami np. ‘http://lizardsystems.com/remote-process-explorer/‘.
  6. Po zainstalowaniu narzędzia, podłączeniu do serwera i zabiciu procesu, serwer od razu przejdzie do ponownego uruchomienia systemu.

Mam nadzieję, że powyższy wpis okaże się pomocny i pozowoli szybko, w sposób cywilzowany, rozwiązać problem z aktualizacją.

MG

Tagi: , ,

Instalacja winapcupsd na systemie serwerowym

6 października, 2012 | Brak Komentarzy | Kategoria: Porady, Windows

Czy wszystkie serwery Windows powinny być zabezpieczone za pomocą zasilaczy awaryjnych? Odpowiedź jest oczywista. Jednak nie zawsze łatwa w realizacji. Co zrobić jeżeli nie mamy akurat pod ręką np. APC Smart-UPS, dedykowanego dla serwerów a pozostały nam niewykorzystane APC Back-UPS dla stacji roboczych? Zazwyczaj ten drugi pozwoli na prawidłowe zamknięcie systemu  w ciągu kilku minut, nadaje się zatem na tymczasowy zasilacz. Problem polega jednak na oprogarmowaniu dostarczanym ze sprzętem:

  • APC Smart-UPS jest sprzedawany z aplikacją PowerChute Business Edition, dedykowaną dla serwerów, i nie obsługuje innych modeli zasilaczy APC,
  • z kolei APC Back-UPS jest sprzedawany z aplikacją PowerChute Personal Edition, której nie możemy zainstalować na serwerowyn systemie.

Można pomysleć, że to sytuacja bez wyjścia. Tymczasem, ku mojemu zaskoczeniu, można skorzystać z oprogramowania na licencji GPL, którym jest Apcupsd. Na pewno dla każdego, kto instalował zasilacze APC pod Linuxem, ta nazwa nie brzmi obco. Na stronie projektu znajduje się odnośnik do portu dla Windows. Okazuje się, że aplikacja działa bardzo sprawnie a konfiguracja nie różni się niczym od tej z Linuxa. Jedynym, drobnym problemem, jest instalacja sterownika dostarczanego z aplikacją (należy uważnie przeczytać dokumentację i postępować zgodnie z instrukcją krok po kroku). Poza tym winapcupsd pozwala cieszyć się na serwerze pełnymi możliwościami zasilacza awaryjnego dla stacji roboczej.

MG

Tagi: , ,