wtorek, 31 grudnia 2013

Raspberry Pi - nagrywanie filmów/robienie zdjęć - kamerka na tasiemce 5Mpix

Raspberry Pi (wersja 512MB bardzo wskazana oraz karta pamięci chociaż z 8GB) może służyć nie tylko jako zabawka, czy też mały komputer ale również jako monitoring naszego domu czy też mieszkania na wypadek gdyby nieproszony gość chciał zaprzyjaźnić się z wyposażeniem naszej nieruchomości.

1) Przygotowanie sprzętu:

Potrzebny do tego celu będzie oczywiście Raspberry Pi oraz kompatybilna do niego kamera.


Można w zaciszu domu skonstruować również obudowę / statyw do naszego monitoringu, lub ją kupić na aukcjach lub w sklepie internetowym:



poniedziałek, 30 grudnia 2013

SQL,PL/SQL - Operacje na danych (DISTINCT, ORDER BY) - Oracle 10/11 cz.4

W praktycznie każdej bazie znajdują się dane które będą się powtarzały, jeżeli chcemy wyświetlić dane które będą pojawiały się tylko i wyłącznie raz musimy użyć polecenia DISTINCT:

SELECT  MANAGER_ID FROM DEPARTMENTS;

Powyższe polecenie pokazało nam wszystkie wpisy dla Manager_ID w tabeli Departments

niedziela, 29 grudnia 2013

SQL,PL/SQL - Pobieranie danych SELECT - Oracle 10/11 cz.3

Jednym z najbardziej podstawowych poleceń wykorzystywanych przy pracy z bazą danych jest polecenie SELECT,  za jego pomocą jesteśmy w stanie pobrać oraz wyświetlić zawartość danej tabeli na ekran.

Jeżeli chcemy pokazać wszystkie kolumny (* ) tabeli employees, wystarczy napisać:

SELECT * FROM Employees; 



Mamy na powyższym screenie wyświetloną całą tabelę przechowującą dane pracowników.

Oczywiście możemy ograniczyć zakres kolumn, które chcemy wyświetlić, wystarczy w sposób jawny wpisać ich nazwy w poleceniu:

SELECT FIRST_NAME, LAST_NAME FROM Employees;



sobota, 28 grudnia 2013

Raspberry Pi jako serwer NAS

Raspberry Pi poza małym komputerkiem oraz centrum multimedialnym dla domu ze skonfigurowanym xmbc może pracować jako serwer NAS (oczywiście wskazana jest wersja 512MB ramu oraz zewnętrzny dysk usb). Wszystkie polecenia wpisujemy z poziomu roota lub konta z takimi uprawnieniami.

1) Przygotowanie:

Na początku zaktualizujemy nasz system:

apt-get update && apt-get upgrade

Następnie musimy przygotować system do obsługi systemu plików NTFS, czyli możemy podłączyć urządzenie mające ponad 4GB przestrzeni.

apt-get install ntfs-config

apt-get install ntfs-3g

SQL,PL/SQL - Typy danych - Oracle 10/11 cz.2

Nieodzowną częścią każdego języka programowania jest określony zestaw typów danych, które pozwalają na wykonanie określonych dla nich operacji, w dużych projektach warto wiedzieć ile miejsca w pamięci operacyjnej zajmuje zapytanie? W krótkim zapytaniu 1MB więcej to niewiele, jednak w przypadku baz produkcyjnych mających np. 200-300GB robi się już dość dużo, więc czasami warto zamienić zmienną jednego typu na inną która będzie zajmowała dużo mniej pamięci a wykonywała dokładnie tą samą pracę.

1) Typy znakowe:

* CHAR(N) - pozwala przechować liczbę znaków podaną jako parametr N, jednak nie większą niż 256 znaków. Wolne miejsca zostaną wypełnione spacjami.

* VARCHAR2(N) - pozwala wpisać do 4000 znaków, jest wykorzystywany częściej niż CHAR ze względu na większą liczbę znaków, zajmuje dokładnie tyle miejsca zostanie wpisanych znaków.  

* LONG - pozwala na przechowania do 2GB danych, posiada podobne do VARCHAR2 właściwości.

piątek, 27 grudnia 2013

SQL, PL/SQL - Oracle 10/11 cz.1

W związku z ciągłym rozwojem zawodowym, chciałbym zająć się pogłębieniem wiedzy za zakresu SQL oraz PL/SQL, do poziomu pozwalającego pisać w miarę swobodnie średnio zaawansowane zapytania do bazy. Co prawda miałem już do czynienia z SQL na studiach jednak zajęcia nie były prowadzone jakoś specjalnie zachęcająco, więc bardziej chodziło o zaliczenie niż faktyczną naukę, jednak wraz z wiekiem podejście do pewnych spraw się zmienia, nadszedł chyba ten czas i dla mnie;) Ale do rzeczy.

Do pracy będziemy potrzebowali:
* Oracle Express 10 lub 11
* SQLDeveloper

Express jest darmowym środowiskiem bazodanowym więc do naszych zastosowań będzie odpowiedni, natomiast Developer jest edytorem w którym możemy w środowisku graficznym wpisywać zapytania do bazy, podobnie możemy to robić poprzez sqlplus jednak nie każdy lubi pracować w wierszu poleceń, gdzie poprawa ewentualnych błędów wymaga przemieszczania się często przez kilka wierszy, aby poprawić ewentualną literówkę.

1) Przygotowanie środowiska:

Ja do pracy wykorzystałem Windows XP z zainstalowanym Oracle 11g oraz SQLDeveloperem.
Po zainstalowaniu silnika bazy oraz SQLDevelopera uruchamiamy go w celu skonfigurowania połączenia do bazy.
Podczas instalacji musimy podać hasło do bazy dla użytkownika SYS,  warto również wiedzieć jakie parametry połączenia ma nasza baza.


czwartek, 26 grudnia 2013

Resetowanie/Łamanie hasła administratora Offline NT Password & Registry Windows NT,9x,200x,XP,7,8

Czasami zachodzi konieczność usunięcia hasła z konta użytkownika, który dawno się nie logował do systemu a co za tym idzie zapomniał jakie je miał.
Z pomocą przychodzi nam Offline NT Password & Registry. Jest to zmodyfikowany GNU\Linux w wersji LiveCD. Sam reset hasła ale również włączenie konta zajmuje kilka minut jeżeli postępujemy zgodnie z instrukcją dla tej dystrybucji.

1) Przygotowanie:

Pobieramy obraz z powyższego linku, następnie musimy nagrać obraz na płytkę lub też przy pomocy programu opisanego w tym wpisie http://geek-admin.blogspot.com/2013/12/debian-na-pendrive-unetbootin.html.
Następnie musimy ustawić bootowanie komputera czy to z napędu CD/DVD lub też z urządzenia USB.

2) Resetowanie hasła:


Uruchamiamy komputer:


Klikamy Enter:


Nastąpi załadowanie potrzebnych ustawień systemu:


poniedziałek, 23 grudnia 2013

Usunięcie plików starszych niż X dni przy pomocy tmpreaper - Debian

Jeżeli zachodzi konieczność zrobienia porządku w katalogach naszego systemu nie musimy już pisać skrypt który w danym katalogu usunie pliki których nikt np od kilku miesięcy nie używa a nie są one niezbędne do działania systemu. Mogą być to pliki zawierające stare logi systemu czy też pliki backupu sprzed roku.
Z pomocą przychodzi nam narzędzie tmpreaper.

1) Instalacja tmpreaper:

apt-get install tmpreaper

2) Korzystanie z narzędzia:

Usuwanie plików, katalogów czy dołączeń symbolicznych jest przydatną opcję, jednak zanim będziemy je usuwać sprawdźmy dla bezpieczeństwa czy przypadkiem nie usuwamy ważnych danych możemy podejrzeć co zostanie usunięte z konkretnego katalogu:

tmpreaper -t 5d ~/home/nazwa_uzytkownika/pliki  

Otrzymamy informację o danych, które zostaną usunięte:

(PID 5415) Pretending to clean up directory `/home/nazwa_uzytkownika/pliki'.
(PID 5416) Pretending to clean up directory `.tmp_versions'.
(PID 5416) Back from recursing down `.tmp_versions'. 

niedziela, 22 grudnia 2013

Windows 2008 Serwer -Sprzężenie zwrotne- Zasady grup cz.7.6

Sprzężenie zwrotne wraz z cechą Merge (Scal) pozwala na zastosowanie (w naszym) przypadku ograniczeń nałożonych bezpośrednio na użytkownika, również dla komputera na który ten użytkownik będzie się logował.
W naszym przypadku chcemy ograniczyć "samowolę" mobilnych użytkowników w ustawianiu samodzielnie wyglądu pulpitu - tapety. Zdarza się że czasami takie tapety są delikatnie rzecz ujmując niestosowne, dlatego zastosujmy jednolity ich wygląd przynajmniej w czasie spotkań z klientami poza biurem firmy.

1) Jednostka organizacyjna dla komputerów przenośnych oraz globalna grupa zabezpieczeń dla użytkowników komputerów mobilnych:





Debian na pendrive - UNetbootin

Pamięć flash w dzisiejszych czasach jest coraz tańsza, dzięki czemu nie musimy kupować już płyt DVD i nagrywać na nich plików np. systemu operacyjnego, a wystarczy użyć programu UNetbootin , oraz wykorzystać pendrive który ma powiedźmy min.512MB.
Pobieramy ze strony Debiana pliki do instalacji systemu z wersji mini usb lub netinstall.

Uruchamiamy UNetbootin:


Wyłączenie nieużywanych funkcji MSSQL 2008 cz.12

W dzisiejszych czasach praktycznie żadna firma nie może istnieć bez dostępu do systemu bazodanowego, cały problem polega na tym, żeby dostęp do tej usługi mieli tylko pracownicy lub też upoważnieni użytkownicy.
Dobrym pomysłem jest wyłączenie usług z których nie korzystamy lub które mogą powodować niebezpieczeństwo dostania się przez nie do bazy osobników niepowołanych.

Poniżej lista usług mogących zostać wyłączonych w środowisku produkcyjnym:

poniedziałek, 9 grudnia 2013

Własna chmura - OwnCloud 5 - Debian Wheezy cz.2

Druga część wpisu dotyczącego proces instalacji oraz konfiguracji ownCloud 5.

5) Dodatki do PHP:

apt-get install php-apc

apt-get install php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl

Na koniec robimy reload:

/etc/init.d/php5-fpm reload

niedziela, 8 grudnia 2013

Własna chmura - OwnCloud 5 - Debian Wheezy cz.1

Mając stary komputer podpięty do sieci z odpowiednio dużą przestrzenią dyskową możemy mieć nieograniczony dostęp do naszych plików. Instalując oprogramowanie OpenSource:
1) ownCloud
2) LEMP - Linux + nginx  + MySQL + PHP
3) Skonfigurowana karta sieciowa naszego komputer (proces opisywałem kilka razy we wpisach związanych z Debianem)

Zaczynamy.

1) Instalacja LEMP:

apt-get install mysql-server mysql-client

New password for the MySQL "root" user: Hasło roota bazy

Repeat password for the MySQL "root" user: Ponowne wpisanie hasła

apt-get install nginx

/etc/init.d/nginx start

W przeglądarkę wpisujemy IP naszej karty, powinniśmy zobaczyć informację potwierdzającą poprawne działanie serwera www:




Windows 2008 Serwer -Filtrowanie - Zasady grup(70-640) cz.7.5

1) Filtrowanie zasad grup:

Możemy odmówić pewnej grupie użytkowników działania na nich pewnej zasady. W tym celu w AD musimy utworzyć nową jednostkę organizacyjną o nazwie Grupy oraz globalną grupę zabezpieczeń o nazwie Wyjątki:



sobota, 7 grudnia 2013

Windows 2008 Serwer - Wymuszenie zaktualizowania zasady - Zasady grup(70-640) cz.7.4

Możemy wymusić na domenie, aby dane z zasad grup zostały aktualizowane jak szybko będzie to możliwe.
W tym celu musimy włączyć zasadę Always wait for network.

1) Wymuszenie działania zasady, pomimo występowania zasad z innymi ustawieniami:

Uruchamiamy Group Policy Managment, zaznaczamy naszą domenę oraz tworzymy nową zasadę:




Windows 2008 Serwer - Ograniczenie działania zasady - Zasady grup(70-640) cz.7.3

1) Wyłączenie OU spod działania zasady wyższego poziomu

Podczas konfigurowania zasad grup może zdarzyć się sytuacja w której dla jednej z jednostek organizacyjnych - użytkowników musimy wyłączyć jakąś opcje która powoduje problemy przy wykonywaniu codziennych czynności, np. wygaszacz ekranu, jednak ta opcja została włączona wcześniej i ma zostać ciągle włączona dla pozostałych części AD.

Utwórzmy w AD jednostkę organizacyjną Pracownicy, w niej drugą DOS:




Windows 2008 Serwer - Zasady grup(70-640) cz.7.2

W poprzednim wpisie przedstawiłem pokrótce działanie Zasad Grup (GPO), teraz chciałbym przedstawić więcej opcji dzięki którym precyzyjnej wymusić pewne zachowania systemu w zależności od użytkownika lub grupy użytkowników.

1) Połączenie naszej zasady z domeną,lokacją lub jednostką organizacyjną:

Skonfigurowaną Zasadę Grupy (GPO) możemy przyłączyć do części lub całości naszej struktury te ustawienia. Dzięki czemu będziemy w stanie rozgraniczyć uprawnienia / ustawienia dla struktury naszej sieci.
Możemy tworzyć oraz jednocześnie przyłączyć nową zasadę w odpowiedni punkt naszej organizacji, np do jednostki AppDeploy, przykład poniżej:


poniedziałek, 11 listopada 2013

Punkty końcowe TCP MSSQL 2008 cz.11

Podobnie jak w przypadku firewalla systemu podobne narzędzie posiada MS SQL, dzięki któremu możemy ustawić ograniczenia dostępu do instancji bazy.
Punkt końcowy składa się z 2 elementów:
1) Metody transportu - TCP,HTTP,
2) Ładunek -SOAP,TSQL,Service_Broker,Database_Mirroring

TCP przenosi TSQL,Service_Broker,Database_Mirroring. Natomiast HTTP tylko SOAP.
W ten sposób możemy blokować dostęp do instancji przy pomocy jednego protokołu a udostępniać dla drugiego. Jeżeli pozwolimy TCP dostarczać zapytania TSQL automatycznie blokujemy pozostałe.

Drugim zabezpieczeniem jest tryb działania punktu końcowego. Tak jak każdą inną usługę możemy zatrzymać, wystartować lub całkowicie wyłączyć:

Skrypt pokazujący klucz systemu Windows (7,8,10) oraz Office(2007,2010,2013) - Skrypty VBS cz.10

Czasami zachodzi potrzeba wyciągnięcia klucza zarówno z Windows jak i Office. Oczywiście można użyć programów takich jak np.: http://www.instalki.pl/programy/Download/Windows/odzyskiwanie_klucza.html. Jednak przy np. 40 stacjach, na których trzeba zainstalować taki program może być dużym utrudnieniem a na pewno jest stratą czasu. Dlatego można utworzyć skrypt z opcją dopisywania informacji do pliku i w ten sposób po krótkim spacerze po firmie zebrać potrzebne nam informacje do przygotowania inwentaryzacji.
Wrzucamy skrypt np. na pendrive w tej samej lokalizacji mamy plik do którego będą dopisywane informacje o nazwie komputera, kluczu Windows oraz Office.Dzięki czemu po kilkunastu minutach mamy zrobiony backup kluczy, który możemy wykorzystać w przypadku ponownej instalacji systemu lub pakietu Office.

Skrypt pokazuje klucze dla:
- Windows XP; 7;8;8.1;10
- Office 2003, 2007,2007,2013

Const HKEY_LOCAL_MACHINE = &H80000002

WinKey = GetWinKey
strComputer="."

niedziela, 3 listopada 2013

Zdalne uruchamianie programów za pomocą RemoteApp - Windows 2008 cz.9

Może się zdarzyć, że musimy udostępnić kilku osobom dostęp do pewnej aplikacji na serwerze jedynie pewnej liczbie osób, ale w taki sposób, aby nie logowały się one poprzez zdalny pulpit na sam serwer.
Możemy taką aplikację udostępnić za pomocą RemoteApp. Ważne jest aby aplikację którą chcemy uruchomić zainstalować dopiero po jej skonfigurowaniu. Testowałem tę funkcjonalność na dwóch maszynach działających pod 2008 Server, prawdopodobnie RemoteApp uruchomi się na Vista/7 natomiast jest problem na XP, ponieważ utworzony skrót w tym systemie po jego uruchomieniu nie posiada w sobie zapisanych danych do dpołączenia.

1) Dodanie roli usług terminalowych:



sobota, 2 listopada 2013

Automatyczna instalacja oprogramowania za pomocą GPO - Windows 2008 cz.8

Mając w sieci kilka/kilkanaście maszyn instalowanie czegokolwiek to Never Ending Story,  jako że każdy admin jest leniwy:), to znaczy robi wszystko aby ułatwiać a nie utrudniać sobie życia kombinuje co zrobić, żeby taką akcje przyspieszyć, i tutaj wchodzi GPO. Za pomocą zasad możemy na każdym komputerze zainstalować dokładnie to co chcemy bez konieczności urządzania sobie długiego spaceru od jednego komputera do drugiego.

1) Przygotowanie komponentów:

Zdalne zbieranie informacji o komputerach w sieci - Skrypty VBS cz.9

Przy pomocy Win32_ możemy zebrać praktyczne wszystkie informacje o komputerze jakie są tylko możliwe.Poniższy skrypt pozwala nam na zebranie informacji ze zdalnych komputerów w naszej sieci, zarówno za pomocą nazw jak i adresów IP. Na dysku C:\ tworzymy 2 pliki .txt:
-Computer.txt - gdzie wpisujemy listę komputerów do skanowania, jeżeli wpiszemy . (kropka) sczytamy dane z lokalnego komputer (w załączniku przykład jak wpisać nazwy komputerów, zamiast nazw można wpisać adresy IP),
-SysInfo.txt - do tego pliku będą dopisywane informacje o komputerach

Skrypt napisałem, ponieważ potrzebowałem z około 40 komputerów odczytać informacje sprzętowe (RAM,Procesor,Liczba rdzeni,Dysk,System operacyjny,Service Pack)  w firmowej sieci, korzystanie z gotowych programów jest trochę niewygodne, ponieważ musimy taki program zainstalować (np.Speccy), poczekać na wyświetlenie informacji, zapisać je, co trwa około około 2-3 minut, natomiast ten skrypt robi to w około 15 sekund.

Ja ustawiłem kilka zmian w systemie:
- wyłączony firewall,
- ustawiłem ręcznie IP oraz pozostałe dane karty sieciowej (nie miałem możliwości na szybko ustawić DHCP w mojej sieci testowej, w firmowej jest)
- na zakładce WINS zaznaczona opcja - włącz system NetBIOS przez TCP/IP,







Testowałem to co prawda tylko na 2 maszynach+te w firmie, jednak zarówno szukałem komputerów w sieci po nazwie jak i po adresie IP, wyniki zgadzały się z parametrami fizycznymi komputerów, jeden miał 1 GB ramu, drugi 3.5GB.




Gotowy skrypt możesz pobrać klikając TUTAJ.

piątek, 1 listopada 2013

Zmiana hasła dla użytkownika domenowego - Skrypty VBS cz.8

Przy pomocy poleceń wbudowanych w Windows 2008 możemy w szybszy sposób zmienić pewne parametry systemu takie jak hasło dla użytkownika.

W tym celu użyjemy polecenia dsquery -user oraz dsmod -user

dsquery user -samid  login_użytkownika | dsmod user -pwd nowe_hasło

niedziela, 27 października 2013

Wyłączenie kilku kont użytkowników w AD - Skrypty VBS/ BAT cz.7

Przy pomocy skryptu VBS możemy wyłączyć grupowo konta które są nieaktywne od jakiegoś czasu, lub konta takich osób które już nie pracują.

1) Blokowanie osób, które nie pracują w firmie:

Do pliku users dodajemy konta, które chcemy zablokować, w pliku disabledusers mamy informacje które konta zostały zablokowane.

Windows Deployment System (WDS) z pomocą WAIK cz.3

Nieco wygodniejszą możliwością instalacji systemu operacyjnego jest wykorzystanie WAIK, pobieramy go ze strony microsoft.com.

1) Konfiguracja nadzorowanej instalacji przy pomocy WAIK:


Windows Deployment System (WDS) cz.2

Zainstalujemy teraz Windows 7 przy pomocy WDS. Przygotujemy obrazy wraz z możliwością bootowania ich poprzez sieć.

1) Instalacja MS Windows 7 przy pomocy WDS:


Windows Deployment System (WDS) cz.1

Mając do zainstalowania system operacyjny na kilkunastu stacjach naprawdę można popaść w lekką paranoję. Jednak możemy ułatwić sobie nieco życie możemy użyć WDS, dzięki któremu zdalnie jesteśmy w stanie zainstalować nowy system operacyjny.

W tym celu wykorzystamy MS Windows 2008 Server, do tego musimy zainstalować: Active Directory, DHCP, DNS. Kary sieciowe naszych maszyn nie mogą mieć przypisanych adresów IP na stałe, komputery muszą mieć możliwość bootowania systemu z sieci.

sobota, 26 października 2013

Alert - MSSQL 2008 cz.11

Możemy ustawić powiadomienia, gdy nasz dziennik transakcji przekroczy pewien ustalony procent zajętości miejsca na dysku.

Poniższy alert powiadomi operatora w tym przypadku administrator gdy dziennik transakcji zostanie zapełniony w 70%:

Harmonogram zadań - MSSQL 2008 cz.10

Możemy zaoszczędzić sporo czasu przy codziennych czynnościach lub takich które robimy co jakiś czas. W takich sytuacjach możemy wykorzystać znany z sytemu Windows harmonogram zadań, możemy w nim skonfigurować automatyczne wykonywanie pewnych czynności, jak backup, odbudowywanie indeksów bazy itd.

Na początek skonfigurujemy operator, który będzie wysyłał informacje na maila w przypadku niepowodzenia ustawionych przez nas zadań lub pojawienia się zagrożeń.

sobota, 12 października 2013

Migawki bazy danych - MSSQL 2008 cz.9

Jedną z nowych funkcji wprowadzonych w SQL 2005 jest migawka. Jest kolejnym typem wykonywania kopii zapasowej bazy danych. W odróżnieniu od już opisanych jest typem tylko do odczyty, przez co w kopii nie ma dziennika transakcji. Jak wszystko również migawka pomimo szybkości jej tworzenia posiada ograniczenia:

- nie obsługuje FILESTREAM,
- nie można odłączyć bazy na której wykonana została migawka,
- migawki nie działają na systemowej bazie (master, model, tempdb, msdb)
- jako że migawka to kopia zapasowa, nie można jej ponownie zarchiwizować,
- migawka musi znajdować się w tej samej instancji co baza źródłowa

poniedziałek, 7 października 2013

Wyszukaj.Pionowo MS Exel 2007

Jakiś czas temu miałem "przyjemność" wykonywać obliczenia przy użyciu magicznych jak się później okazało funkcji Exela, chodzi o Wyszukaj.Pionowo.
Poniekąd jest to przydatna funkcja gdy chcemy znaleźć konkretną wartość w dużej przestrzeni arkusza.

Powiedźmy, że potrzebujemy odnaleźć Imię oraz Nazwisko pracownika określonego przez jego identyfikator (numer) :



Powiedźmy że chcemy dowiedzieć się jak nazywa się pracownik o numerze 43.

=WYSZUKAJ.PIONOWO(43; A2:C10; 3; FAŁSZ)

*43 - numer pracownika,
*A2:C10 - zakres kolumn w których przeprowadzamy wyszukiwanie,
* 3 - jest to kolumna w kórej spodziewamy się znaleźć imię oraz nazwisko pracownika,
* FAŁSZ - dokładne dopasowanie, szukanej wartości, jeżeli ustawimy PRAWDA dopasowanie będzie albo dokładne albo przybliżone.



Odzyskiwanie bazy po awarii - MSSQL 2008 cz.8

Równie ważnym jak tworzenie kopii zapasowych jest ich późniejsze odzyskiwanie w przypadku awarii.

1) Nowy wpis:

Na początku dodajmy do naszej bazy nowy wpis:

USE AdventureWorks2008
GO

INSERT INTO HumanResources.Department (Name, GroupName)
VALUES('Test4', 'Test4')
GO

niedziela, 6 października 2013

Podstawowe informacje o maszynie (Nazwa oraz Ilość Ram) - Skrypty VBS cz.6

Skrypcik pokazujący jak się nazywa oraz ile pamięci (w GB) operacyjne ma maszyna na której taki skrypt uruchamiamy.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
Wscript.Echo  objComputer.Name & " ma " & Round(((objComputer.TotalPhysicalMemory)/1073537024),2) & " GB RAM "Next



Tworzenie nowego użytkownika w AD - Skrypty VBS cz.5

Skrypt umożliwiający utworzenie nowego konta lub kont w zadanej jednostce organizacyjnej. Musimy uzupełnić według własnych potrzeb zmienne określające nazwę jednostki organizacyjnej oraz nazwę konta które chcemy stworzyć.

Dim objDomain, objOU, ouName, userName
'NAZWA TWORZONEJ JEDNOSTKI ORGANIZACYJNEJouName = "Studenci"'NAZWA TWORZONEGO KONTAuserName = "Student"
Set objRootDSE = GetObject("LDAP://rootDSE")Set objDomain = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
'TWORZENIE JEDNOSTKI ORGANIZACYJNEJ O NAZWIE STUDENCISet objOU=objDomain.Create("organizationalUnit", "ou=" & ouName)objOU.SetInfo
Set objContainer = GetObject("LDAP://OU=Studenci," & objRootDSE.Get("defaultNamingContext"))
'TWORZENIE 10 UŻYTKOWNIKÓW O NAZWIE STUDENTFor i = 1 To 10Set objLeaf = objContainer.Create("User", "cn=" & userName & i)objLeaf.Put "sAMAccountName", userName & i
Next'INFORMACJA O UTWORZONYCH KONTACHWScript.Echo "Konta zostały utworzone."





Odblokowywanie oraz zmian hasła dla konta w AD - Skrypty VBS cz.4

Skrypt pozwalający na odblokowanie konta użytkownika podanego jako parametr oraz zmiana hasła dla zadanego konta. 

Option Explicit Dim objUser, objDomain, lngBias, objLockout, dtmLockout Dim objDuration, lngDuration, lngHigh, lngLow, dtmUnLock Dim strUserDN, strDNSDomain, strNetBIOSDomain, strUserNTName Dim objTrans, objShell, lngBiasKey, k, objRootDSE Dim strText, strTitle, intConstants, intAns, objNetwork ' Constants for the NameTranslate object. Const ADS_NAME_INITTYPE_GC = 3 Const ADS_NAME_TYPE_NT4 = 3 Const ADS_NAME_TYPE_1779 = 1 strTitle = "UnlockUser" Set objShell = CreateObject("Wscript.Shell") ' Request user sAMAccountName. strUserNTName = Trim(InputBox("Enter User NT Logon Name", strTitle)) If strUserNTName = "" Then strText = "Program Aborted" intConstants = vbOKOnly + vbExclamation intAns = objShell.Popup(strText, , strTitle, intConstants) WScript.Quit End If ' Retrieve DNS domain name. Set objRootDSE = GetObject("LDAP://RootDSE") strDNSDomain = objRootDSE.Get("defaultNamingContext") ' Convert DNS domain name to NetBIOS domain name. Set objTrans = CreateObject("NameTranslate") objTrans.Init ADS_NAME_INITTYPE_GC, "" objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4) ' Remove trailing backslash. strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1) Set objNetwork = CreateObject("Wscript.Network") If UCase(Trim(strUserNTName)) = UCase(Trim(objNetwork.UserName)) And UCase(strNetBIOSDomain) = UCase(objNetwork.UserDomain) Then strText = "You cannot unlock or change the password for your own account." intConstants = vbOKOnly + vbExclamation intAns = objShell.Popup(strText, , strTitle, intConstants) WScript.Quit End If ' Convert user NT name to Distinguished Name. On Error Resume Next objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain & "\" & strUserNTName If Err.Number <> 0 Then On Error GoTo 0 strText = "User " & strUserNTName & " not found" strText = strText & vbCrLf & "Program aborted" intConstants = vbOKOnly + vbCritical intAns = objShell.Popup(strText, , strTitle, intConstants) WScript.Quit End If On Error GoTo 0 strUserDN = objTrans.Get(ADS_NAME_TYPE_1779) ' Escape any forward slash characters, "/", with the backslash ' escape character. All other characters that should be escaped are. strUserDN = Replace(strUserDN, "/", "\/") ' Bind to user object. On Error Resume Next Set objUser = GetObject("LDAP://" & strUserDN) If Err.Number <> 0 Then On Error GoTo 0 strText = "User " & strUserNTName & " not found" strText = strText & vbCrLf & "DN: " & strUserDN strText = strText & vbCrLf & "Program aborted" intConstants = vbOKOnly + vbCritical intAns = objShell.Popup(strText, , strTitle, intConstants) WScript.Quit End If On Error GoTo 0 ' Bind to domain. Set objDomain = GetObject("LDAP://" & strDNSDomain) ' Obtain local Time Zone bias from machine registry. lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias") If UCase(TypeName(lngBiasKey)) = "LONG" Then lngBias = lngBiasKey ElseIf UCase(TypeName(lngBiasKey)) = "VARIANT()" Then lngBias = 0 For k = 0 To UBound(lngBiasKey) lngBias = lngBias + (lngBiasKey(k) * 256^k) Next End If ' Retrieve user lockoutTime, Convert to date and display lockout status. On Error Resume Next Set objLockout = objUser.lockoutTime If Err.Number <> 0 Then On Error GoTo 0 strText = "User " & strUserNTName & " is not locked out." strText = strText & vbCrLf & "Would you like to reset the password?" intConstants = vbYesNo + vbQuestion intAns = objShell.Popup(strText, , strTitle, intConstants) If intAns = vbYes Then Call ChangePassword(objUser) WScript.Quit End If On Error GoTo 0 dtmLockout = Integer8Date(objLockout, lngBias) If dtmLockout = #1/1/1601# Then strText = "User " & strUserNTName & " is not locked out." strText = strText & vbCrLf & "Would you like to reset the password?" intConstants = vbYesNo + vbQuestion intAns = objShell.Popup(strText, , strTitle, intConstants) If intAns = vbYes Then Call ChangePassword(objUser) WScript.Quit End If strText = "User " & strUserNTName & " locked out at: " & dtmLockout ' Retrieve domain lockoutDuration policy. Set objDuration = objDomain.lockoutDuration lngHigh = objDuration.HighPart lngLow = objDuration.LowPart If (lngHigh = 0 And lngLow = 0) Then ' There is no domain lockout duration policy. ' Locked out accounts remain locked out Until reset. ' Any user With value of lockoutTime greater than 0 is locked out. lngDuration = -999 strText = strText & vbCrLf & "Domain locked accounts do not automatically unlock." Else If (lngLow < 0) Then lngHigh = lngHigh + 1 End If lngDuration = lngHigh * (2^32) + lngLow lngDuration = -lngDuration/(60 * 10000000) strText = strText & vbCrLf & "Domain lockout duration (minutes): " & lngDuration End If ' Determine if account still locked out and ask user how to proceed. Dim intUnlockAns intUnlockAns = vbNo If lngDuration = -999 Then strText = strText & vbCrLf & "Account is locked indefinately." strText = strText & vbCrLf & "Click ""Yes"" to unlock account now" strText = strText & vbCrLf & "Click ""No"" to leave account locked" intConstants = vbYesNo + vbExclamation intUnlockAns = objShell.Popup(strText, , strTitle, intConstants) Else dtmUnLock = DateAdd("n", lngDuration, dtmLockout) If Now > dtmUnLock Then strText = strText & vbCrLf & "The account was unlocked at: " & dtmUnLock strText = strText & vbCrLf & "Would you like to reset the password?" intConstants = vbYesNo + vbQuestion intAns = objShell.Popup(strText, , strTitle, intConstants) If intAns = vbYes Then Call ChangePassword(objUser) WScript.Quit Else strText = strText & vbCrLf & "Account will unlock at: " & dtmUnLock strText = strText & vbCrLf & "Click ""Yes"" to unlock account now" strText = strText & vbCrLf & "Click ""No"" to leave account locked" intConstants = vbYesNo + vbExclamation intUnlockAns = objShell.Popup(strText, , strTitle, intConstants) End If End If If intUnlockAns = vbYes Then On Error Resume Next objUser.IsAccountLocked = False objUser.SetInfo If Err.Number <> 0 Then On Error GoTo 0 strText = "Unable to unlock user " & strUserNTName strText = "You may not have sufficient rights" strText = "Program aborted" intConstants = vbOKOnly + vbCritical intAns = objShell.Popup(strText, , strTitle, intConstants) Else On Error GoTo 0 strText = "User " & strUserNTName & " unlocked" intConstants = vbOKOnly + vbExclamation intAns = objShell.Popup(strText, , strTitle, intConstants) End If ElseIf intAns = vbNo Then strText = "User " & strUserNTName & " account left locked out" intConstants = vbOKOnly + vbInformation intAns = objShell.Popup(strText, , strTitle, intConstants) Else strText = "Program aborted" strText = strText & vbCrLf & "User " & strUserNTName & " still locked out" intConstants = vbOKOnly + vbExclamation intAns = objShell.Popup(strText, , strTitle, intConstants) End If ' Clean up. Set objUser = Nothing Set objDomain = Nothing Set objLockout = Nothing Set objDuration = Nothing Set objTrans = Nothing Set objShell = Nothing Function Integer8Date(objDate, lngBias) ' Function to convert Integer8 (64-bit) value to a date, adjusted for ' local time zone bias. Dim lngAdjust, lngDate, lngHigh, lngLow lngAdjust = lngBias lngHigh = objDate.HighPart lngLow = objdate.LowPart ' Account for bug in IADslargeInteger property methods. If lngLow < 0 Then lngHigh = lngHigh + 1 End If If (lngHigh = 0) And (lngLow = 0) Then lngAdjust = 0 End If lngDate = #1/1/1601# + (((lngHigh * (2 ^ 32)) + lngLow) / 600000000 - lngAdjust) / 1440 Integer8Date = CDate(lngDate) End Function Sub ChangePassword(objUser) Dim strPassword, intPwdValue, strText strPassword = RandomPassword(8) intPwdValue = 0 ' Force a change of password at next logon strText = "The user will be required to change their password when they logon." strPassword = InputBox(strText,"The new password is:",strPassword) If strPassword <> "" Then objUser.SetPassword strPassword objUser.Put "PwdLastSet", intPwdValue objUser.SetInfo Else strText = "Password not changed" intConstants = vbOKOnly + vbExclamation intAns = objShell.Popup(strText, , strTitle, intConstants) End If End Sub Function RandomPassword(intCharacters) Dim intASCIIValue, i, intLowerLimit, intUpperLimit Randomize intLowerLimit = 48 intUpperLimit = 122 For i = 1 To intCharacters intASCIIValue = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) + intLowerLimit) RandomPassword = RandomPassword & Chr(intASCIIValue) Next End Function



sobota, 5 października 2013

Tworzenie backupu bazy - MSSQL 2008 cz.7

Niewątpliwie jednym z najważniejszych, jak nie najważniejszym zagadnienie podczas nadzoru nad infrastrukturą programową jest tworzenie kopi zapasowych najbardziej wrażliwych danych dla firmy. Brak robienia kopi zapasowych czy słabe dbanie o kondycję sprzętu może skończyć się nieciekawie dla ważnych firmowych danych.

Baza musi posiadać model odzyskiwania FULL:
ALTER DATABASE AdventureWorks2008 
  SET RECOVERY FULL
GO

piątek, 4 października 2013

Eksportowanie oraz importowanie danych (Import Export Wizard) - MSSQL 2008 cz.6.1

W poprzedniej części pokazałem użycie dwóch narzędzi "tekstowych", można również wykorzystać wersję okienkową.
1)  Utwórzmy nową pomocniczą bazę:

CREATE DATABASE AWTest

2) Rozpocznijmy export danych:

czwartek, 3 października 2013

Opróżnienie bufora drukarki

W pracy zdarza się, że drukarka zaczyna drukować co chce jak chce i kiedy chce. Jeżeli tak jak w naszej firmie macie HP możecie zrobić tzw. Cold Reset, dzięki czemu jesteśmy w stanie usunąć dane które z jakiegoś powodu nie zostały wydrukowane, lub pomimo że drukarka nie drukuje następne pliki zostawały dodawane ;). Jako że sam z tego korzystałem wrzucę filmik z youtube.com, na którym pokazana jest ta czynność.

Eksportowanie oraz importowanie danych (BCP,BULK INSERT) - MSSQL 2008 cz.6

Jedną z podstawowych czynności jakie wykonywane są w codziennej pracy w środowisku MS SQL 2008 jest eksport oraz import danych.
W celu wyeksportowania oraz zaimportowania danych użyjemy 2 różnych narzędzi:

1) BCP (Bulk Copy Program) - służy zarówno do wyeksportowania danych do pliku .txt lub .bcp (wystarczy zmienić rozszerzenie z .txt na .bcp w poniższym poleceniu) jak i importu. Dane można wyeksportować zarówno na dysk lokalny serwera jak i na udział sieciowy. Drugą możliwością jest import danych z pliku, warunkiem jest zmiana parametru out na in. Dodatkowo warto wiedzieć, że do eksportu wystarczy, aby konto użytkownika miało możliwość wykonania SELECT na bazie. Natomiast do importu konto musi posiadać możliwość wykonania poza SELECT również INSERT oraz ALTER TABLE.

wtorek, 1 października 2013

Mapowanie drukarki sieciowej - Skrypty VBS cz.3

Podobnie jak montowane są udziały sieciowe, możemy montować kolejną niezastąpioną rzecz w firmie czyli drukarkę sieciową, z której może korzystać kilka osób. Oczywiście również taki udział  jak drukarka może zostać zamontowany poprzez skrypt.

Mapowanie udziału sieciowego - Skrypty VBS cz.2

W wielu firmach pracownicy pracują na plikach, które udostępniane są wprost z dysków serwera. Oczywiście, na początku musimy jakoś dostać się do serwera, najprościej jest zmapować dysk w postaci ikony w Mój Komputer, można robić to ręcznie lub też automatycznie poprzez skrypt.

Poniższa wersja dotyczy sytuacji, w której komputer nie jest dodany do domeny, przydatny w sytuacji gdy "ktoś" z zewnątrz przychodzi do firmy i potrzebuje mieć dostęp do firmowych plików:

Option Explicit

Dim objNetwork
Dim objShell
Dim desktopLink
Dim objSpace
Dim userDesktop
Dim strLocalDrive
Dim strRemoteShare
Dim strUsr
Dim strPas
Dim strPer
Dim strPath

Dodawanie komputera do domeny - Skrypty VBS cz.1

W jednym z poprzednich wpisów, pokazałem w jaki sposób dodać komputer do domeny, teraz chciałbym pokazać w jaki sposób zautomatyzować tę czynność. Tym wpisem chciałbym rozpocząć cykl, który będzie pokazywał w jaki sposób ułatwić sobie życie.

Dodawanie komputera do domeny jest dość prostą czynnością, jednak gdy mamy do wrzucenie np. 100 stacji do domeny robi się to nieco denerwujące. Dlatego uruchomienie skryptu .vbs spowoduje, że nastąpi to automatycznie, a następnie po 5 sekundach komputer się zrestartuje. Po ponownym jego uruchomieniu będziemy mogli zalogować się na konto domenowe.

niedziela, 29 września 2013

No-IP własny serwera na dynamicznym IP - Ubuntu 12

Mając pod ręką w miarę działający komputer możemy stworzyć serwer, dzięki czemu będziemy mieli dostęp do naszych plików z dowolnego miejsca poza domem.

W tym celu będziemy potrzebowali oczywiście komputer, wraz z zainstalowanym Ubuntu w wersji 12, dostępem do sieci oraz odrobiną czasu.

1) Instalujemy Ubuntu 12:
Instalacja jest prosta, musimy odpowiedzieć na kilka pytań w jej trakcie. W naszym przypadku na końcu instalacji dodamy SSH (zdalny dostęp) oraz LAMP - Apache, MySQL oraz PHP, w ten sposób uruchomimy własny serwer www. Oczywiście możemy zainstalować tylko czysty system, a potrzebne nam pakiety dodać później w zależności od potrzeby. Więcej informacji znajdziesz tutaj(klik).

sobota, 28 września 2013

Szyfrowanie danych na dysku Debian Wheezy

W prosty sposób możemy zaszyfrować swoje dane na dysku przy pomocy encfs.

1) Pobieramy encfs:

apt-get install encfs

2) Korzystamy z encfs:

mkdir -p ~/encrypted


mkdir -p ~/decrypted

encfs ~/encrypted ~/decrypted

Zarządzanie siecią przy pomocy LMS - Debian 6/7

Trafiłem ostatnio na ciekawy projekt, dzięki któremu można w znaczący sposób zmniejszyć czas potrzebny na zarządzanie siecią oraz jej userami. Nazywa się Vberry i jest połączeniem gotowego routera oraz panelu LMS, dzięki któremu możemy zarządzać małą osiedlową siecią, jak i taką w średniej firmie.
Dokładny opis całego projektu znajdziemy TUTAJ.

poniedziałek, 19 sierpnia 2013

Prywatna chmura openQRM na Debian Wheezy cz.1

Dzięki społeczności OpenSource mamy możliwość w zaciszu domowym przekonać się jak działa popularna chmura obliczeniowa, w tym przypadku Iaas (Infrastructure as a Service), ponieważ udostępniamy infrastrukturę czyli przestrzeń dysku, moc obliczeniową itd.

1) Wymagania wstępne:

1) Komputer min. 1GB, 100GB na dysku oraz opcjonalnie  funkcje wirtualizacji obsługiwanej przez procesor
2) Dostęp do internetu,

Musimy zainstalować Debiana Wheezy w minimalnej wersji (bez środowiska graficznego, za to z SSH).
W trakcie instalacji musimy skonfigurować statyczny adres IP dla naszego urządzenia. Dobrym pomysłem jest również ręczne skonfigurowanie przestrzeni dyskowej w taki sposób, aby większość miejsca przeznaczyć na dane, a ograniczyć to choćby na swap.

Po instalacji musimy dla pewności możemy wykonać update naszego systemu (z konta root):

apt-get update && apt-get upgrade

niedziela, 4 sierpnia 2013

Klucz główny oraz klucze obce - MSSQL 2008 Server cz.5

 1) Poniżej kod SQL dodający dla dwóch tabel klucz główny w utworzonej w poprzednim wpisie bazie testowej:

Jednymi z nieodłącznych elementów każdej tabeli w bazie danych są klucze obce oraz klucz główny. Ten ostatni definiuje jednoznacznie w unikalny sposób wiersze w tabeli. Przy tworzeniu klucza dodatkowo ustalany jest sposób sortowania, domyślnie klucz główny jest również kluczem klastrowym co oznacza, że dane sortowane są własnie według niego. Klucze obce natomiast wiążą min. dwie tabele bazy w taki sposób aby w strukturze takiego połączenia nie było wierszy które nie mają powiązania z drugą tabelę, tzw. rodzicem. Dodatkowo jeżeli chcemy utworzyć klucz obcy między dwiema tabelami, musimy na tabeli - rodzicu ustalić klucz główny.

Instalacja oraz konfiguracja środowiska - MSSQL 2012 cz.1

Najnowsze dziecko Microsoftu potrzebuje nieco więcej zasobów sprzętowych niż poprzednik, dlatego też środowisko testowe uruchomiłem na wirtualnych maszynach. Wszystkie maszyny będą działać pod MS Windows 2008 R2 Server Enterprise oraz MS SQL 2012.

W tym celu będziemy potrzebowali:

1) Kontroler domeny,
2) Członek domeny MS Windows 2008R2 Core,
3) 4 maszyny jako członkowie domeny (wersje ze środowiskiem graficznym)

1) Przygotowanie kontrolera domeny:

Na początek ustawimy IP karty sieciowej: 10.10.10.10, za pomocą właściwości karty sieciowej lub polecenia cmd:

netsh interface ipv4 set address name="Local Area Connection" source=static address=10.10.10.10 mask=255.0.0.0 

netsh interface ipv4 set dns name="Local Area Connection" source=static address=10.10.10.10 primary

Musimy również zmienić nazwę komputera, robimy to we właściwościach systemu, lub poprzez polecenie:

netdom renamecomputer %computername% /newname:DomainControler 

wtorek, 30 lipca 2013

Instalacja Debian Wheezy na Pogoplug

Jakiś czas temu trafiłem na Allegro.pl na sprytne urządzenie, które omija zabezpieczenia sieci (firewall, porty itd.) dając nam dostęp do naszych plików niezależnie od miejsca naszego przebywania, warunkiem jest podpięcie pamięci masowej pod usb oraz internet (poza standardowym kabel można kupić wersje w wi-fi).
Poniższe czynności wykonujesz na własną odpowiedzialność!!!

Do postawienia Debiana potrzebujemy:

- Pogoplug (oczywista oczywistość) podpięty poprzez USB do komputera + dysk zewnętrzny podpięty do Pogo ( tutorial nie wspiera w/w wersji z wi-fi),
- ALARM - więcej informacji TUTAJ,
- Wcześniejszą wersję  kernela ALARM, np. Warhead SE's 2.6.31.6_SMP_820,
- Komputer z Ubuntu ( może być 13.04 wersja 32-bit Live),
- Internet ;)

1) Uruchamiamy maszynę z Ubuntu:

niedziela, 28 lipca 2013

Tworzenie tabel - MSSQL 2008 Server cz.4

Tak jak w każdym innym przypadku musimy w jakiś sposób przechowywać dane w tabelach. W tym celu musimy zapoznać się z dostępnymi typami danych:

1) Dostępne liczbowe typy danych:


Nazwa typu


Zakres
Potrzebna pamięć




TINYINT


0 do 255


1 bajt


SMALLINT -32,768 do 32,767 2 bajty
INT -231 do 231-1 4 bajty
BIGINT -263 do 263-1 8 bajty
DECIMAL(P,S) / NUMERIC (P,S) -1038+1 do 1038-1 5-17 bajtów
SMALLMONEY -214,748.3648 do 214,748.3647 4 bajty
MONEY


-922,337,203,685,477.5808 do
922,337,203,685,477.5807
8 bajtów
REAL -3.40E38 do -1.18E38, 0 oraz 1.18E38 to 3.40E38 4 bajty
FLOAT(N)


-1.79E308 do -2.23E-308, 0, oraz 2.23E-308 do
1.79E308
4 lub 8 bajtów

niedziela, 21 lipca 2013

Utrzymywanie integralności bazy danych - MSSQL 2008 Server cz.3

Możemy wymusić na bazie naprawę ewentualnie występujących uszkodzonych stron w naszej bazie. Wszystkie błędy zapisywane w tabeli suspect_pagaes w bazie msdb.
Wykorzystamy w tym celu DBCC CHECKDB, który sprawdzi logiczną oraz fizyczną integralność każdego elementu bazy.


Powyższe polecenie wykona:
* sprawdzenie stron w bazie danych,
* sprawdzenie integralności wszystkich tabel w bazie,
* przeliczy sumę kontrolną, w celu jej późniejszego porównania z bieżącym odczytem,
*sprawdzi katalog bazy danych
Wykonajmy sprawdzenie integralności naszej bazy:


DBCC CHECKDB ('nazwa_naszej_bazy') WITH NO_INFOMSGS, 
ALL_ERRORMSGS;
GO



Tryby odzyskiwania bazy danych wraz z przydatnymi opcjami nadzoru bazy - MSSQL 2008 Server cz.3

W naszej bazie pracującej na silniku 2008 możemy ustawić 3 różne modele pozwalające na odzysk plików bazy w przypadku jakiegoś kataklizmu.

1) Prosty (Simple) -  jako że w modelu tym kopia dziennika transakcji przechowuje ograniczoną liczbę wstecznych danych odzyskać można jedynie dane do wybranego momentu (niestety nie jest on zbyt odległy od czasu uszkodzenia spójności danych ),

2) Bulk-Logged -  loguje więcej danych w dziennikach transakcji niż Prosty jednak nie wszystkie. Również w tym przypadku nie możemy odzyskać bazy do dowolnie wybranego miejsca.

3) Pełna (Full) -  jak nazwa wskazuje, narzędzia rejestrują wszystko co dzieje się w bazie, dlatego też możliwy jest odzysk danych do dowolnego miejsca z przeszłości.

niedziela, 14 lipca 2013

Pliki danych, Filestream - MSSQL 2008 Server cz.2

W pierwszej części, (która była dość dawno) opisałem najważniejsze rzeczy dotyczące instalacji, co prawda na MS Win XP, ale można w ten sam sposób zainstalować na MS 2008 Server. Teraz chciałbym kontynuować wpisy dotyczące MS SQL 2008 ze względu na moją pracę, w której korzystamy z MSSQL 2008:)

Na początek kilka definicji, bez których raczej nie ruszymy:

1) Pliki danych - jeden z dwóch głównych rodzai plików wykorzystywanych w MSSQL. Przechowują długoterminowe dane, czyli tak naprawdę wszystkie zatwierdzone informacje.

2) Grupa plików - mapuje logiczną strukturę danych na pliki, które możemy archiwizować oraz odzyskiwać.

sobota, 13 lipca 2013

Przedłużenie wersji próbnych MS Windows 7 / 2008 Server

Jak wiadomo nowe systemy z rodziny Windows możemy instalować bez podania klucza i korzystać z nich przez 30 dni (wersje Vista/7) oraz 60 dni (2008 Server), jednak ten okres możemy sobie znacznie wydłużyć.

W tym celu otwieramy cmd, następnie wpisujemy:

 slmgr.vbs -dli - w ten sposób sprawdzimy przez ile jeszcze możemy korzystać z naszego systemu

a teraz wydłużymy te okres:

 slmgr.vbs — rearm - przedłużamy ten okres o kolejne 60 dni

Zabiegi takie możemy wykonywać aż osiągniemy 240 dni, czyli maksymalny dozwolony czas na korzystanie z systemu bez konieczności podawania klucza.



Logowanie zdarzeń sieciowych - Skrypt Bash cz.12

Przy pomocy 3 skryptów możemy zapewnić sobie logi dotyczące działania naszej karty sieciowej oraz tego czy urządzenia w sieci, które powinny być włączone są. Oczywiście można to zrobić przy pomocy ping, lub wykorzystać gotowe narzędzia, ale po co:)

1) Wysłanie ping'a w sieć, sprawdzenie które IP wraz z nazwami działają:

#!/bin/bash 
is_alive_ping() 
{  ping -c 1 $1 > /dev/null 
          [ $? -eq 0 ] >> echo Node with IP and $HOSTNAME: $i is up.
} 
for i in 192.168.56.{1..255} 
do 
is_alive_ping $i & disown 
done

niedziela, 7 lipca 2013

Windows 2008 Serwer - Zasady grup(70-640) cz.7

Zasady grup pozwalają zachować kontrolę nad poczynaniami naszych użytkowników, którzy czasami przypadkowo mogą przysporzyć nam nieco kłopotów w domenie.

Aby zacząć korzystać do Group Policy(GPO) musimy posiadać skonfigurowaną domenę pod MS 2008 Server. Bezpośrednio do GPO możemy dostać się wpisując w Uruchom: gpedit.msc:



Jak widzimy istnieją dwa główne gniazda, które przechowują skonfigurowane przez nas zasady:

Tworzenie maszyn wirtualnych przy pomocy Windows Azure

Jeżeli nie chcemy inwestować tak jak jak w dobry sprzęt na którym możemy sobie coś dłubać w wolnej chwili w środowisku wirtualnym możemy zainwestować w dostęp do chmury obliczeniowej. Kilka dużych koncernów wystawiło oczywiście odpłatnie infrastrukturę pozwalającą na zdalny dostęp do praktycznie nieograniczonych zasobów sprzętowych. Jednym z dostawców takich rozwiązań jest oczywiście http://www.windowsazure.com/en-us/ prowadzony przez MS, w Polsce wartym sprawdzenia jest http://www.oktawave.com/pl/ gdzie płaci się za czas dostępu do serwerów, Azure daje możliwość dodatkowo rozłożenia płatności na miesięczne raty (abonament). Wracając do Azure możemy wypróbować chmurę za darmo przez 30 dni, jeżeli chcemy dłużej korzystać musimy zaopatrzyć się w kartę do płatności internetowych.

sobota, 29 czerwca 2013

Windows 2008 Serwer - Dodanie komputera do domeny PowerShell(70-640) cz.6

Komputery możemy dodać poprzez wyklikanie wszystkich potrzebnych opcji, wszystko fajnie do czasu kiedy musimy dodać np. 50 czy 100 stacji w firmie. Dlatego możemy przygotować plik z informacjami o nowych komputerach i przy wykorzystaniu PowerShella dodać je hurtowo do domeny.

1) Plik Comp.csv:

VPN Windows 2012 cz.14

VPN, czyli Wirtualna sieć prywatna jest sposobem podłączenia się np. do sieci firmowej przy pomocy bezpiecznego połączenia.
Tak jak w poprzednich wersjach systemu, tak jak w 2012 Server istnieje taka możliwość.

1) Instalacja i konfiguracja VPN:

niedziela, 16 czerwca 2013

Cluster Hyper-V PowerShell Windows 2012 cz.13

Kolejnym punktem konfiguracji, czy też możliwości nowego systemu z rodziny MS, jest podobnie jak w wersji 2008 możliwe ustanowienie pomiędzy minimum dwiema maszynami klastra. Jego zadaniem jest rozłożenie obciążenia, np dla działającego systemu ERP w przypadku gdy mamy kilku set użytkowników, i jeden serwer nie wytrzymuje takiej ilości wywołań lub też chcemy mieć zabezpieczenie gdyby jeden z węzłów odmówił posłuszeństwa.
Dla naszego przykładu użyjemy wbudowanego Hyper-V, który z wersji na wersję daje coraz większe możliwości wykorzystania go do stworzenia farmy wirtualnych serwerów na jednym serwerze.

sobota, 8 czerwca 2013

DNS, DHCP Windows Core 2012 cz.12

Ciąg dalszy zabawy z Windows w wersji Core, tym razem zajmiemy się instalacją serwera DHCP oraz DNS.


1) Konfiguracja DNS:

Na początek musimy zmienić nazwę naszej maszyny, dla łatwiejszego nią zarządzania.

Pobieramy obecną nazwę naszej maszyny:

Get-Content env:ComputerName 

Wpisujemy nową nazwę naszej maszyny (zamiast newname):

Rename-Computer newname

Restartujemy maszynę:

Restart-Computer

Musimy wylistować następnie wszystkie nasze karty sieciowe:

Get-NetAdapter -Physical

Musimy zwrócić uwagę na -InterfaceIndex, który identyfikuje jednoznacznie nasze karty sieciowe:

Hyper-V Windows 2012 oraz Windows 2012 Core cz.11

Chciałbym połączyć dwa zagadnienia  mianowicie serwer w wersji Core (czyli posiadający jedynie linię poleceń) oraz serwer maszyn wirtualnych Hyper-V.
Przedstawię instalację wersji Core, dodatkowo musimy posiadać wersję z GUI, na której zainstalujemy również Hyper-V.
Aby móc zainstalować Hyper-V musimy posiadać pewność, że nasz sprzęt wspiera wirtualizację oraz kilka innych cech, zdarza się że pomimo wspierania wszystkich wymaganych technologii, producent wyciął możliwość włączenia takiej opcji w BIOS. Aby upewnić się czy możemy w ogóle zainstalować Win 2012 Server musimy użyć Securable, jeżeli mamy poniższy widok powinniśmy móc zainstalować Hyper-V:


Jeżeli jednak w trakcie instalacji pojawią się jakiekolwiek problemy oznacza to że producent ograniczył dostęp do tych opcji.

niedziela, 2 czerwca 2013

IIS 8.0 Certyfikaty 2012 Server cz.10

Zainstalowanego przez nas IIS 8 możemy dodatkowo wzmocnić centrum certyfikacji, dzięki czemu nasza strona będzie umożliwiała wykorzystanie https. Możliwe będzie również uwierzytelnienie urządzeń sieciowych. Wdrożenie AD CS ograniczy nasze koszty, ponieważ nie będziemy musieli korzystać z zewnętrznych urzędów certyfikujących - podpisujących nasze klucze, które wykorzystamy dla uwiarygodnienia naszych witryn.

IIS 8 Windows 2012 Server cz.9

Ostatnią z podstawowych funkcjonalności każdego serwera jest możliwość przystosowania go do utrzymywania strony firmowej lub intranetowej, w tym celu musimy zainstalować serwer IIS z Windows 2012 otrzymujemy już 8 wersje tego serwera.

Klaster DHCP Windows 2012 Server cz.8

Mamy już skonfigurowane w podstawowym zakresie nasze usługi, generalnie można tak to pozostawić i wprowadzić nasze ustawienia do sieci produkcyjnej i modlić się żeby nic nie strzeliło w złym momencie. Ale oczywiście My żądni wiedzy fachowcy od wszystkie nie potrafimy zaprzestać dążenia do ideału, dlatego też gdy dowiadujemy się o klastrze, chcemy go przetestować, ale co to takiego ten klaster i w czym jest lepszy od zwykłego podejścia? Klaster obrazowo rzecz ujmując to min. dwie maszyny, których moce obliczeniowe nawzajem się uzupełniają w przypadku uszkodzenia jednego z węzłów, dzięki czemu możemy zabezpieczyć wrażliwą część infrastruktury na ewentualne uszkodzenia, lub też możemy zwiększyć szybkość jej działania.

Do utworzenia klastra będziemy potrzebowali skonfigurowany zakres IP (opis w poprzedniej części: http://geek-admin.blogspot.com/2013/05/dhcp-windows-2012-server-cz7_25.html).

sobota, 25 maja 2013

DHCP Windows 2012 Server cz.7


Automatyczne przydzielanie adresów IP dla naszych maszyn (wszystkiego co ma kartę sieciową lub ma możliwość jej podłączenia) wymaga zainstalowania lub skonfigurowania DHCP.

Konfiguracja DNS Windows 2012 Server cz.6

Następną ważną pozycją (funkcją) w systemach serwerowych jest udostępnienie DNS, dzięki czemu nasi użytkownicy nie muszą zapamiętywać skomplikowanych numerów w notacji kropkowej, a wystarczy wpisywać nazwy stron które chcemy odwiedzić.
DNS instaluje się domyślnie wraz z systemem 2012 Server.

piątek, 24 maja 2013

Active Directory Administrative Center Windows 2012 Server cz.5

Znana z Windows 2008 R2 przystawka zawierająca możliwość zarządzania szeroko rozumianym środowiskiem sieciowym (użytkownikami, komputerami, grupami itd.), fajną jej właściwością jest możliwość zarządzania w jednej instancji wieloma domenami.

sobota, 18 maja 2013

Konfiguracja domeny Windows 2012 Server cz.4

Mając skonfigurowaną przystawkę AD DS, możemy skonfigurować nieodzowne jej elementy, czyli jednostki organizacyjne, użytkowników, grupy oraz przypisać im odpowiednie prawa.

1) Jednostka organizacyjna:

Krótko mówiąc jest to katalog w strukturze AD w którym możemy umieścić użytkowników, komputery czy też grupy.

Otwieramy Menedżer serwera, z lewej strony klikamy na AD DS, następnie klikamy prawym na nazwę naszego serwera (podświetlona na niebiesko) z listy wybieramy Active Directory Users and Computers.

poniedziałek, 13 maja 2013

Konfiguracja domeny Windows 2012 Server cz.3

Celem utrzymywania serwera jest możliwość posiadania w jednym miejscu kontroli nad wszystkimi użytkownikami, uruchomionymi aplikacji itd. W celu zapewnienia kontroli musimy utworzyć strukturę, do której dodajemy użytkowników, komputerów oraz innych urządzeń.

Jednym z narzędzi jest domena, czyli przestrzeń w której działają użytkownicy, nad którymi mamy jako administratorzy pełną kontrolę. Możemy dodatkowo skonfigurować przy pomocy Zasad grup, skonfigurować taki sam wygląd pulpitów, możemy również przy pomocy IE ograniczyć dostęp do pewnych czynności w internecie. Co ważne ustawienia domeny działają nawet gdy jesteśmy nie podłączeni bezpośrednio do niej, komputer wcześniej dodany zapamiętuje ostatnie ustawienia, i nie pozwoli nam na więcej niż ustawił to administrator.

niedziela, 12 maja 2013

Wstępna konfiguracja Windows Server 2012 cz.2

Kafelki zadomowiły się również w wersji Server nowego systemu, do tego ukryty pasek start, aby go pokazać trzeba najechać wskaźnikiem myszki w prawy górny róg ekranu (lub stuknąc w klawisz Windows na klawiszach), aby zamknąć okno trzeba ustawić kursor w lewym górnym rogu, następnie przytrzymując lewy klawisz ciągniemy okno lekko do dołu, po czym pokazuje się lista okien do zamknięcia (trochę jak dla mnie przegięli).

Instalacja Windows 2012 Server cz.1

Nowe dziecko Microsoftu wraz z systemem desktopowym 8 lekko namieszało w środowisku. Chyba nikt nie spodziewał się takiej kafelkowej rewolucji. Testowo zainstalowałem sobie Windows 8 generalnie działa fajnie, jednak trzeba przyzwyczaić się do fanaberii, typu brak paska Start, pierwszy pulpit (o ile tak to można nazwać) składający się z kafelków, domyślnie włączone pobieranie chyba wszystkie co jest w tym systemie możliwe. Jako że wersje serwerowe robione są na podstawie desktopów pomijając grafikę, a tutaj Modern jest:).

sobota, 11 maja 2013

Exchange 2013 na Windows Server 2008/2012 cz.1

Chciałbym przedstawić proces instalacji serwera poczty Exchange 2013, dzięki czemu będziemy w stanie postawić własny serwer poczty firmowej. Exchange 2013 Trial możemy pobrać ze strony microsoftu http://technet.microsoft.com/pl-pl/evalcenter/hh973395. Zainstalujemy dwie funkcje: Mailbox oraz Client Access.

niedziela, 5 maja 2013

Monitorowanie temperatury na serwerach GNU/Linux Unix przy pomocy Opsview

Czasami dobrze wiedzieć co dzieje się w ciemnej zimnej serwerowni gdzie ostatni raz byliśmy rok temu:). Mam tutaj na myśli kwestie temperatury na naszym procesorze czy dysku, nie muszę mówić że lepiej żeby ona nie przekraczała temperatury wrzenia wody:). W tym celu zainstalujemy na naszym serwerze Opsview, lm_sensors oraz hddtemp. Ważne aby mieć zainstalowanego na serwerze Nagios'a, o czym pisałem wcześniej http://geek-admin.blogspot.com/2012/12/nagios-monitor-serwerow.html

Nie działa Alt+L (brak litery ł)

Ostatnimi czasy w pracy po sformatowaniu oraz zainstalowaniu ponownie systemu na komputerach pojawiły się kłopoty z polskimi literami głównie 'ł'. Powodem tej sytuacji jest domyślnie włączona opcja Hot Keys (HK) w ustawieniach karty graficznej opartej o układ Intela. Oczywiście przełączenie na język polski programistyczny (Ctrl+Shift) nic nie daje. Należy wyłączyć HK:

prawy na pulpit->Ustawienia grafiki -> Hot Keys -> Wyłącz




piątek, 3 maja 2013

Parawirtualizacja (monitor maszyn wirtualnych) przy pomocy XEN na Debian Squeeze


Xen jest warstwą oprogramowania pracującego bezpośrednio na fizycznym sprzęcie komputera, zastępując tym samym system operacyjny. Na warstwie tak stworzonego oprogramowania możemy uruchomić wiele systemów operacyjnych jednocześnie. Xen wspiera obecnie m.in. Linuksa, NetBSD, Solaris czy Windows, które mogą pracować na nim równolegle, jako systemy goście. Xen pozwala na uruchomienie tych systemów nie tylko w trybie pełnej wirtualizacji lecz co najważniejsze w trybie parawirtualizacji, która jest obecnie jedną z najwydajniejszych technik wirtualizacji. Ponadto hypervisor Xen jest rozwijany na licencji GNU GPL, co pozwala na korzystanie z niego za darmo, również w celach komercyjnych.

Xen udostępnia dwa odmienne rodzaje wirtualizacji: pełną wirtualizację (wspieraną sprzętowo) oraz parawirtualizację, czyli tzw lekka wirtualizacja, która to jest flagową innowacją Xena.


W klasycznych technikach pełnej wirtualizacji VMM udostępnia dla VM wirtualny sprzęt identyczny z fizycznym. Dzięki temu maszyny wirtualne niejako „myślą”, że działają bezpośrednio na normalnym, fizycznym sprzęcie. Możemy uruchamiać je bez ich modyfikacji. Mogą być to więc dowolne systemy, zarówno Linux jak i MS Windows.

środa, 1 maja 2013

Proxy Squid uwierzytelnienie Kerbelos przy pomocy LDAP dla AD (2003 / 2008 Server) - Debian Squeeze

Konfiguracja serwera Squid na Debian Squeeze dla sieci opartej na MS Windows 2003 / 2008 Server, przy pomocy LDAP oraz uwierzytelniania Kerbelos.

W tym celu musimy skonfigurować następujące rzeczy:

Domena = example.local
Podsieć = 192.168.0.0/24
Server Proxy Ddebian: IP = 192.168.0.26, Nazwa = squidproxy.example.local
Windows Server 1: IP = 192.168.0.1Nazwa = domaincontroller1.example.local (Kontroler domeny)
Windows Server 2: IP = 192.168.0.10Nazwa = server2.example.local (Stacja testowa)