środa, 31 grudnia 2014

PowerShell cz.1 - Podstawowe polecenia

PowerShell(PS) jest następcą poleceń cmd oraz języka skryptowego VisualBasic Script. Pozwala zebrać oraz skonfigurować wiele opcji systemu operacyjnego, zarówno lokalnego jak i zdalnego będącego w sieci lokalnej lub też podpiętego po VPN w drugiej sieci.

1. Podstawy

Znane polecenie z cmd dir daje nam możliwość wylistowania wszystkich katalogów, jedna w PowerShell nie jest zdefiniowane takie polecenie, jest to alias polecenia Get-ChildItem.





2.Fsutil - create

Jest nowszą wersją cmd dostępną jako komponent PS. Uruchamiamy go na prawach admina.
Przed użyciem Fsutil na dysku C:\ utworzymy katalog script. Następnie przy pomocy polecenia stworzymy w w/w katalogu nowy plik txt o długości 500 znaków.

PS C:\Users\Administrator> sl c:\script
PS C:\script> fsutil file createNew c:\script\newTxtFile.txt 500
File c:\script\newTxtFile.txt  is created
PS C:\script> dir


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\script


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---          30/12/2014   7:30 PM      500 newTxtFile.txt


PS C:\script>





3.Fsutil-del

Możemy skasować utworzony przed momentem plik, lub też wszystkie pliki, które znajdują się w katalogu, w tym celu wydajemy polecenie:

del *.txt - usuwa wszystkie pliki z rozszerzeniem .txt,
del newTxTFile.txt - usuwa jedynie wskazany nasz plik




4. Get-Process

Jak sama nazwa wskazuje pobiera listę procesów, które w danym momencie są uruchomione.


Możemy rozszerzyć działanie polecenia Get-Process, poniższe polecenie pozwoli zawęzić listę procesów do tych zaczynających od co*.

Get-Process co*



niedziela, 7 grudnia 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - VHD cz.7

Wirtualizacja jest bardzo wygodną opcja działania ze względu na prostotę min zarządzania dyskami maszyn wirtualnych.
Dysk VHD(Virtual Hard Drive) jest przechowywany w postaci pliku, dzięki czemu możemy w łatwy sposób go "edytować".
Hyper-V pozwala na zmianę powierzchni dysku nawet gdy jest na nim zainstalowany już system operacyjny. W tym celu przewidziane są 4 rodzaje takich dysków:

1 - Dynamiczny:

Jak sama nazwa wskazuje jest w stanie w razie potrzeby zwiększyć swój rozmiar, podczas utworzenia nadawany jest określony maksymalny rozmiar, np. 50GB, jednak nie jest to miejsce alokowane od razu, ale w miarę potrzeb. Takie podejście pozwala zaoszczędzić miejsce na fizycznych dyskach, maszyna oraz my widzimy ile tego miejsca możemy ostatecznie wykorzystać.

 2 - Stały:

W przeciwieństwie do dynamicznego, dysk o stałym rozmiarze alokuje maksymalną swoją wielkość już po utworzeniu, tym samym jeżeli utworzymy 100GB dysk, ale będziemy wykorzystywać max, 50GB, tym samym tracimy 50GB cennej powierzchni, którą można by  wykorzystać na inne cele.

 3 - Różnicowy:

Tego typu dyski składają się tak naprawdę z 2 dysków. 1 jest dysk nadrzędny, który tworzony jest na przechowywanie danych wejściowych, które zapisujemy na nim na początku, możne on być zarówno typu dynamicznego jak i stałego. 2 natomiast jest dyskiem, na którym zapisywane są informacje, które zmieniły się w czasie działania maszyny.

4 - Dyski przekazywane:

Partycja fizycznego dysku jest przekazywana jako wirtualna do maszyny. Dzięki temu zmniejsza się obciążenie Hyper-V. Możliwe jest również utworzenie maszyny z dyskiem hybrydowym, czyli na dysku IDE mamy zainstalowany system operacyjny(niestety innego dysku niż IDE Hyper-V nie wspiera jeżeli chodzi o instalację systemu), natomiast drugą partycję utworzymy jako dysk przekazywany.
Niedogodnością dysku przekazywanego jest to że partycja, która jest przekazywana do maszyny jest automatycznie blokowana z poziomu maszyny fizycznej.

Hyper-V udostępnia również 3 rodzaje interfejsów dyskowych:

1 - IDE:

Dysk z takim interfejsem potrzebny jest do zainstalowania systemu operacyjnego na maszynie wirtualnej. Do maszyny wirtualnej można podpiąć max. 4 dysku tego typu.

2 - SCSI:

Dyski  dostępne są w przypadku nowszych systemów operacyjnych, które obsługują Integration Services(Windows) lub Linux Integration Components(Linux).Możliwe jest podpięcie 4 kontrolerów, na każdym można podpiąć 64 dyski.

3 - iSCSI:

Jest to typ kontrolera, który podpina dyski będące w innej lokalizacji po TCP.


sobota, 29 listopada 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - Wydajność, błędy systemu cz.6

Nieodzownym elementem każdego systemu jest możliwość szybkiego podglądu jego parametrów, szczególnie gdy jego praca jest zakłócona.
W tym celu możemy wykorzystać kilka wbudowanych  narzędzi.

1 - Task Manager

Podstawowym narzędziem w praktycznie każdym systemie Windows, pokazuje informację o:

#Uruchomione aplikacje,
#Uruchomione procesy,
#Uruchomione usługi,
#Wykorzystanie procesora oraz pamięci ram,
#Wykorzystanie kart sieciowych,
#Aktualnie zalogowani użytkownicy






2 - Event Viewer

Przy jego pomocy jesteśmy w stanie przejrzeć informacje na temat:

#Aplikacji,
#Zabezpieczenia,
#Ustawienia,
#System,
#Zdarzenia przekazywania





3 - Reliability Monitor

Jest swoistą czarną skrzynką systemu, zapisuje wszelkie zmiany, które wprowadzamy do niego.
Poniżej screen z informację gdzie możemy odnaleźć to narzędzie.






4 - Przykładowy zestaw parametrów zbierających informacje o wydajności systemu

Aby móc zbierać informacje o wydajności systemu oraz o ewentualnych problemach z nim związanych użytkownik musi należeć do grupy Administratorów lub Performance Log Users.

Logujemy się na ServerFull01


Dodajmy poniższe liczniki wydajności systemu


Poniżej widzimy zmieniające się parametry pokazujące pracę naszego systemu.

niedziela, 23 listopada 2014

Wdrożenie SharePoint 2013 dla Windows 2012 R2- konfiguracja kontrolera domeny cz.1

W poprzedniej części opisałem krótko w jaki sposób będzie wyglądało nasze środowisko.
W dzisiejszym wpisie chciałbym przedstawić konfigurację kontrolera domeny opartego na Windows 2012R2.

1 - Przygotowanie maszyny wirtualnej:








sobota, 22 listopada 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - SCVMM cz.5

Hyper-V posiada wygodną konsolę do zarządzania zainstalowanymi maszynami wirtualnymi, jednak w pewnym momencie przy kilkunastu lub kilkudziesięciu maszynach przyda się coś lepszego, tym czymś jest SCVMM - System Center Virtual Machnie Manager.
Jednak zacznijmy od początku:)

1-Eksportowanie istniejącej maszyny:


Wskazujemy miejsce docelowe, gdzie zostaną zapisane pliki naszej maszyny




Dopiero gdy zniknie poniżej zaznaczona opcją, nasza maszyna jest poprawnie wyeksportowana.


niedziela, 16 listopada 2014

Wdrożenie SharePoint 2013 dla Windows 2012 R2 cz.0

SharePoint 2013 jest jednym z najnowszych dzieci Microsoftu, pozwala na wspólną pracę nad dokumentami przez pracowników firmy, szczególnie gdy część z nich pracuje w innych lokalizacjach, a wymiana maili jest delikatnie rzecz ujmując mało wygodna.
Nasze przykładowe wdrożenie będzie miało profesjonalny wygląd:) Zasymulujemy w naszym labie prostą sieć składającą się z następujących maszyn:

1 - DC:

-Windows Server 2012
-RAM:1GB
-1xCPU
-Dysk:1x32GB
-IP: 192.168.67.11
-Domena: contoso.com
-Nazwa: server2012dc

2 - MSSQL:

-Windows Server 2012
-SQL Server 2012 Standard SP1
-RAM: 8GB RAM
-4xCPU
-Dyski: 1x80GB(OS), 1x40GB(Silnik bazy)
-IP: 192.168.67.12
-Domena contoso.com
-Nazwa: server2012sql

3 - SharePoint:

-Windows Server 2012
-SharePoint Server 2013
-RAM: 8GB RAM
-4xCPU
-Dyski: 1x80GB(OS)
-IP: 192.168.67.13
-Domena contoso.com
-Nazwa: server2012sp

4 - Desktop:

Dodatkowo można dodać do domeny maszynę symulującą klienta(np. Windows 7 lub 8). Sprzętowo min. wymagania producenta. Dodamy IP 192.168.67.14.




sobota, 15 listopada 2014

Bootowalny Pendrive Windows 2008/7

Bootowalny pendrive możemy przygotować nie tylko dla Windows 7, ale również dla wersji serwerowej Windows 2008:).

1- Wymagania:

-Pendrive 8GB,
-Pliki instalacyjne Windows 2008/7 (np. płyta DVD),
-Komputer z systemem 7 lub 2008

2 - Przygotowanie partycji na pendrive:

Podpinamy pendrive, uruchamiamy z uprawnieniami Administratora cmd.

W konsoli wpisujemy diskpart.
Następnie list disk.
Wybieramy z listy numer pendrive'a, np. 1, następnie wpisujemy poniższe polecenia.

DISKPART> select disk 1
DISKPART> clean
DISKPART> create partition primary
DISKPART> select partition 1
DISKPART> active
DISKPART> format FS=NTFS QUICK
DISKPART> assign
DISKPART> exit

niedziela, 2 listopada 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - Failover Clustering cz.4

W celu zapewnienia lepszego bezpieczeństwa Windows 2008 R2 wprowadził ulepszoną obsługę klastra, dzięki czemu w przypadku uszkodzenia jednego węzła cały ruch przekazywany jest na drugi węzeł, dzięki czemu użytkownicy nie mają przerwy w pracy, my natomiast możemy naprawić problem z węzłem.

W Windows 2008 R2 dostępne są 3 rodzaje usługi klastra:

1) Aktywny-pasywny - węzeł aktywny jest ciągle uruchomiony w celu udostępnienia usługi zainstalowanej na nim użytkownikowi. Drugi natomiast otrzymuje kopię stanu uszkodzonego węzła pozwalając na dalszą pracę dla użytkownika.

2) Aktywny-aktywny - obydwa węzły działają równolegle dostarczając usługi dla użytkownika, jeżeli jeden z węzłów zostaje uszkodzony drugi przejmuje jego pracę, jak również kontynuuje swoją pracę - czyli przez pewien czas pracuje podwójnie.

3) Mix and match - jest to połączenie 2 powyższych typów, część węzłów działa jako typ aktywno-pasywne, inne natomiast jako aktywno-aktywne.

niedziela, 26 października 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - Konfiguracja sieci wirtualnych cz.3

Podobnie jak w przypadku fizycznych maszyn Hyper-V również musi mieć możliwość tworzenia sieci między wirtualnymi maszynami. Hyper-V posiada możliwość utworzenia 4 rodzajów sieci wirtualnych, 3 podstawowych oraz 1 dodatkowy tworzony przy pomocy WMI.

3 podstawowe rodzaje sieci wirtualnych:

1) Zewnętrzna sieć wirtualna - tworzone jest połączenie poprzez fizyczną kartę sieciową z maszyną na której uruchomiony jest Hyper-V oraz ze wszystkimi maszynami wirtualnymi, które podpięte są do tego typu sieci wirtualnej. Tego typu sieci wirtualnych należy użyć jeżeli potrzebujemy, np. w środowisku produkcyjnym połączyć wszystkie maszyny w jedną sieć, oraz dać im dostęp do zewnętrznego serwera z którego będziemy na te maszyny wysyłać pliki produkcyjne.

2) Wewnętrzna sieć wirtualna - tworzona jest sieć, która łączy jedynie serwer-host'a oraz wszystkie maszyny wirtualne, które wpięte są w tę sieć. Nie możliwe jest odwołanie się do fizycznej karty sieciowe.
Takie rozwiązanie sprawdzi się w przypadku sieci testowych, gdzie chcemy przetestować ustawienia zanim wprowadzimy je w środowisku produkcyjnym.

3) Prywatna sieć wirtualna - tworzona sieć łączy się jedynie z maszynami wirtualnymi, nie łączy się natomiast poprzez kartę fizyczną oraz z serwerem-host'a.

4) WMI - tworzy sieć z pominięciem partycji nadrzędnej, tworzony jest przełącznik wirtualny, który przejmuje łączność pomiędzy maszyną wirtualną a światem zewnętrznym.

Dobrze gdy serwer na którym uruchamiamy maszyny wirtualne posiada min. 2 karty sieciowe, ponieważ jedna z nich w chwili instalacji Hyper-V tworzy wirtualny przełącznik, aby możliwa była komunikacja poprzez utworzenie jednej z w/w rodzajów sieci.

Skonfigurujmy teraz wirtualną sieć dla naszych maszyn ServerFull01 oraz ServerCore01.

1 - Konfiguracja ServerFull01...


Widoczna poniżej sieć to ta, która została utworzona podczas instalacji Hyper-V.

sobota, 25 października 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - Konfiguracja Hyper-V cz.2

Mając zainstalowany Hyper-V zapoznamy się nieco dokładniej z wyglądem oraz funkcjonalnością tego narzędzia.

1 - Wygląd głównego okna Hyper-V...

Lewy panel - lista serwerów z uruchomioną usługa Hyper-V,
Środkowy panel - lista maszyn wirtualnych,
Prawy panel - lista opcji, dzięki którym zarządzamy ustawieniami serwera oraz maszyn wirtualnych





2 - Ustawienia serwera Hyper-V...

Reset hasła administratora Windows 2012 R2 cz.15

Opisywałem wcześniej w jaki sposób można cofnąć hasło z Windows 7 oraz Windows 8/8.1.
Dziś chciałbym pokazać w jaki sposób zrobić reset hasła Administratora w Windows 2012 R2.
Nawiasem mówiąc możliwość resetu hasła admina stoi w sprzeczności z zasadami tworzenia hasła, które mają być tajne oraz złożone, ale lepiej mieć backdoor niż nie mieć:)

1 - Uruchamiamy instalację Windows 2012 R2. Klikamy na Next...


2 - Klikamy na Repair your computer...

niedziela, 19 października 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 R2 x64 - Przygotowanie laboratorium cz.1

We wstępie opisałem w jaki sposób zabrać się za włączenie DEP oraz VT-x, teraz przygotujemy laboratorium, które będzie służyło nam do konfiguracji oraz pracy z Hyper-V.


Ważne
Na kontrolerze domeny musimy zmienić ustawienia karty sieciowej tak, aby możliwa była komunikacja pomiędzy serwerami a kontrolerem. Włączona musi zostać każda z opcji widocznych na screenie poniżej.



niedziela, 12 października 2014

Loginy MSSQL 2012 Server cz.8

Tak jak w każdym programie, tak samo w MS SQL istnieją loginy, które poświadczają tożsamość osób, które próbują się zalogować do instancji.

SQL Server 2012 obsługuje 4 tryby uwierzytelniania instancji:

1) Uwierzytelnianie poprzez login z systemu Windows,
2) Uwierzytelnianie poprzez login MS SQL,
3) Certyfikaty,
4) Klucz asymetryczny

1) Login Windows:

Uwierzytelnianie wykonywane jest jest przy pomocy lokalnego lub domenowego konta.

Uruchamiamy  SQL Server Managment Studio, łączymy się z interesującą nas instancją.
Przechodzimy do węzła Security->klikamy prawym na Security->wybieramy New Login


W oknie tworzenia Loginu, klikamy na Search, następnie wpisujemy lub wybieramy login lokalny lub domenowy.


W ten sposób poprzez wyklikanie mamy stworzony login, dzięki któremu możemy zalogować się do instancji, wykorzystując hasło, którym logujemy się na serwer.

sobota, 11 października 2014

Migracja MSSQL 2012 Server cz.7

Migracja jest procesem przejścia ze starszej wersji sinika bazy na nowszy, wraz z przeniesieniem plików bazy oraz podmiotów zabezpieczeń(loginów użytkowników mających dostęp do bazy).

Poniżej krótka informacja dotycząca wymagań systemowych, które muszą być spełnione, aby przejść ze starszych wersji MS SQL do wersji 2012.

Ogólnym wymogiem jest posiadanie na serwerze poza oczywiście MS SQL 2012 również systemu, który wspiera tą wersję silnika. Wymogi spełnia jedynie Windows 2008 oraz Vista/7.

Migracja z MS SQL 2005 do MS SQL 2012

Wymagane jest, aby SQL 2005 posiadał SP4, poniżej lista możliwych migracji:

MS SQL 2005 SP4 Enterprise -> MS SQL 2012 Enterprise lub Business Inteligence

MS SQL 2005 SP4 Developer -> MS SQL 2012 Developer

MS SQL 2005 SP4 Standard -> MS SQL 2012 Enterprise lub Business Inteligence, Standard

MS SQL 2005 SP4 Workgroup -> MS SQL 2012 Enterprise lub Business Inteligence,Standard, Web

MS SQL 2005 SP4 Express -> MS SQL 2012 Enterprise lub Business Inteligence,Standard,Web, Express

niedziela, 5 października 2014

Wirtualizacja przy pomocy Hyper-V Windows 2008 Enterprise R2 x64 cz.0

Postanowiłem zająć się nieco wirtualizacją, wdrażając ją w swoim labie. Pomimo że mój sprzęt jest ponad przeciętny w stosunku do innych komputerów (I7 2.2GHz 8 rdzeni, 32GB ramu) pojawił się problem,
otóż Acer wpadł na genialny pomysł,aby zablokować BIOS a tym samym opcje wirtualizacji.
Po 2 dniowych poszukiwaniach znalazłem zmodyfikowany BIOS v.1.2 dla mojego Acera V3 771G . Zrobiłem downgrate i ustawiłem wirtualizację, tak aby możliwe było zainstalowanie Hyper-V.
.

Musimy przygotować:
1. Kontroler Domeny Windows 2008 Enterprise R2 x64 (Server01):
- IP 192.168.0.5
- Maska 255.255.255.0
- Brama 192.168.0.1
- Domena w nowym lesie o nazwie contoso.com
- Min. 3GB RAM

2. Server pomocniczy Windows 2008 Enterprise R2 x64 (ServerFull01) - instalacja graficzna
- IP 192.168.0.6 oraz 192.168.0.7 - potrzebujemy 2 kart sieciowych
- Maska 255.255.255.0
- Brama 192.168.0.1
DNS 192.168.0.5
Członek domeny contoso.com
Opcjonalnie możemy dodać dodatkową kartę NAT (dostęp do internetu) 
- Min. 10GB RAM

3. Server pomocniczy Windows 2008 Enterprise R2 x64 (ServerCore01) - instalacja Core - bez interfejsu graficznego
- IP 192.168.0.8 oraz 192.168.0.9 - potrzebujemy 2 kart sieciowych
- Maska 255.255.255.0
- Brama 192.168.0.1
DNS 192.168.0.5
Członek domeny contoso.com
Opcjonalnie możemy dodać dodatkową kartę NAT (dostęp do internetu) 
- Min. 6GB RAM

4. Stacja robocza Windows XP/Vista/7 
-IP 192.168.0.12
-Maska 255.255.255.0
-Brama 192.168.0.1
-DNS 192.168.0.5
-Członek domeny contoso.com
-Opcjonalnie możemy dodać dodatkową kartę NAT (dostęp do internetu)

5. Dodanie 3 dysków każdy po 100GB - potrzebne w późniejszych ćwiczeniach.

W pierwszej kolejności musimy zainstalować kontroler domeny oraz stację roboczą.
W jaki sposób skonfigurować kontroler domeny opisałem w innych wpisać na blogu.
Staję roboczą instalujemy oraz konfigurujemy jako członka domeny.
Jeżeli chodzi o konfigurację serwerów pomocniczych będzie to opisane w następnych wpisach, teraz wystarczy je zainstalować oraz pobrać dla pewności aktualizację do nich. 

Poniżej konfiguracja VMware Workstation 10

1) Instalujemy VMware Worksation 10
2) Po uruchomieniu wybieramy File a następnie  New Virtual Machine, zaznaczamy opcję Custom, później Next, w następnym oknie wybierzmy kompatybilność dla naszej wirtualnej maszyny :



3) Wybieramy z jakiego medium ma zostać zainstalowany system naszej maszyny (Napęd optyczny, Obraz ISO, czy chcemy to zrobić później-tworząc teraz jedynie maszynę wirtualną):


środa, 10 września 2014

WiFi HotSpot(3G Wi-Fi Router) w aucie - Yanosik

Ostatnimi czasy pobrałem sobie Yanosik'a dla Androida, taki zamiennik cb-radia. Po przejechaniu 2000km jest dobrze, funkcje pokazujące zagrożenia oraz wszelkiego rodzaju narzędzia drenujące kieszenie działają tak jak trzeba.
Jedyną marnie działającą opcją jest nawigacja, lektor mówi jakby miał zadyszkę, przydaje się jedynie śledzenie ruchu, dzięki czemu możemy uniknąć korków:)
W związku z tym że Yanosik wymaga dostępu do internetu a ja jakoś specjalnie nie chcę cudować z taryfami w komórce, postanowiłem zmontować przenośny hotspot i zabierać go ze sobą do autka:).

Co jest potrzebne:

1) PowerBank z funkcją podpięcia modemu usb taki oto (5600mAh działanie z modemem ~14h):


2) Modem 3G(ja używam Huawei E353, ale działają praktycznie wszystkie dostępne na rynku):

Bardzo teoretycznie wystarczy naładować, włączyć i już. Niestety przez kilka dni nie mogłem ustawić tego wszystkiego, ponieważ  nie mogłem się połączyć z internetem.
Okazało się że wystarczy wybrać pozycję 215 Poland Orange jako ustawienie sieci, ponieważ na automacie nie działa.


Dzięki temu mamy przenośny HotSpot, który działa 14h z podpiętym modemem. Wrzucamy do auta i możemy korzystać jednocześnie z internetu oraz telefonu z drugą kartą.




niedziela, 7 września 2014

Skrypt tworzący backup katalogu - VBS cz.12

Następną koniecznością w firmie było stworzenie narzędzia, przy pomocy którego możliwe było skopiowanie konkretnego katalogu zawierającego ustawienia maszyn. Tym samym zabezpieczyliśmy się na wypadek uszkodzenia dysku komputera przed utratą ważnych ustawień maszyny.

1) Sprawdzenie włączonych maszyn oraz utworzenie katalogów przechowujących backup.

Poniższa funkcja sprawdza, która maszyna jest włączona oraz na dysku przeznaczonym na backup tworzony jest katalog z ich nazwą.
function Backup() ' maszyny Online+ tworzenie katalogow na dysku

Set WshShell = CreateObject("WScript.Shell")
  Dim computerPing,iter, objFSO,objCreateTextFile,objTextFile
 computerPing="10.10.10"

 Set objFSO= CreateObject("Scripting.FileSystemObject")
  for iter = 21 To 26 Step 1 
   PINGFlag = Not CBool(WshShell.run("ping -n 1 " & computerPing & "." & iter,0,True))
      If PINGFlag = True Then
       
sourceKat = "\\" & computerPing & "." & iter & "\C\linearfab\*"
   sourceFile=  "\\" & computerPing & "." & iter & "\C\linearfab\*.*"
'objTextFile.Close
folderName = "F:\Fab" 
  
  destinationFolder= folderName & Right(iter,1) & "_" & Date()
  
   IF objFSO.FolderExists(destinationFolder) = FALSE THEN
objFSO.CreateFolder destinationFolder
ELSE
END IF
Call Kat(sourceKat,destinationFolder)
Call File(sourceFile,destinationFolder) 
     Else
      
     b=""
         Backup=b
     End If
  Next 
 end Function

Skrypt kasujący stare pliki - VBS cz.11

Ostatnimi czasy w firmie musiałem pobawić się nieco w programistę, aby ułatwić sobie życie oraz ograniczyć stratę czasu na powtarzające się czynności.
Na maszynach produkcyjnych mamy kilkanaście komputerów sterujących ich pracą. Codziennie pojawiają się na nich dziesiątki plików w których znajdują się informacje techniczne potrzebne do produkcji okien.

Aby zaoszczędzić sobie spacerów po hali stworzyłem skrypt dzięki, któremu kasowane są tylko pliki z konkretnym rozszerzeniem, i tylko takie które mają więcej niż 90 dni.

Kasowanie plików zajmuje do około 60 minut w zależność od ich ilości, dzięki czemu w ciągu roku jesteśmy w stanie zaoszczędzić przy kasowaniu 2x w miesiącu 24h pracy.

1) Sprawdzamy, które maszyny działają

Poniższa funkcja sprawdza, które maszyny są online, ich numery IP są zapisywane w pliku tekstowym.
function ComputerOnline ()

Set WshShell = CreateObject("WScript.Shell")
Dim computerPing,iter, objFSO,objCreateTextFile,objTextFile
computerPing="10.10.10"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCreateTextFile = objFSO.CreateTextFile("\\192.168.100.100\Skrypty\KasowaniePlikow\ComputerOnline.txt",True)
objCreateTextFile.Close

for iter = 21 To 26 Step 1 
PINGFlag = Not CBool(WshShell.run("ping -n 1 " & computerPing & "." & iter,0,True))
      If PINGFlag = True Then
        Set objTextFile = objFSO.OpenTextFile("\\192.168.100.100\Skrypty\KasowaniePlikow\ComputerOnline.txt",8) 
objTextFile.WriteLine "\\" & computerPing & "." & iter & "\fablist\"
objTextFile.Close
      Else
      
 cO=""
      ComputerOnline=cO
      End If
 
Next 

end Function

Ampache streaming audio - Samba z nakładką SWAT cz.4

Mając skonfigurowane wszystkie wymagane komponenty opisane w poprzednich częściach możemy przystąpić do ostatecznego skonfigurowania naszego serwera muzyki.

1) Tworzymy katalogi na nasze pliki:

sudo mkdir ~/music
sudo chmod 777 ~/music
sudo mkdir ~/downloads
sudo chmod 777 ~/downloads







2) Udostępnienie katalogów z plikami:


Uruchamiamy przeglądarkę w pasek adresu wpisujemy: http://nazwa_naszego_serwera:901 (oczywiście wpisujemy swoją nazwę). Logujemy się na konto roota z jego hasłem ustawionym podczas instalacji.

Klikamy na górze "Create share"

Wpisujemy wymagane parametry:

path:        /home/nazwa_użytkownika/music
valid users:    nazwa_użytkownika
read only:    no
available:    yes

Klikamy na "Commit changes". Klikamy na Advanced  ustawiamy parametry dostępu na 0777.

Ponownie klikamy na "Commit changes".

Powyższe kroki powtarzamy dla wszystkich naszych powyżej utworzonych katalogów.
W ustawieniach sieciowych Ubuntu powinny być widoczne udostępnione katalogi, wystarczy również wpisać IP serwera w przeglądarkę i wtedy również zobaczymy te katalogi.

niedziela, 24 sierpnia 2014

Zmiana klucza dla pakietu Office XP, 2003, 2007, 2010 Windows XP, Windows 7

Ostatnimi czasy zaszła potrzeba zmiany klucza licencji w Office 2007 bez konieczności reinstalacji całego pakietu. Z pomocą przychodzi nam rejestr systemu. Sztuczka działa na 100% w Windows XP oraz 7, nie działa natomiast w Windows 8/ 8.1.

1) W uruchom wpisujemy regedit
2) Przechodzimy do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Registration.
Zamiast wersji pojawi się min 12.0 lub 15.0, w zależności od wersji.
3) Musimy usunąć dwa wpisy:

-DigitalProductID
-ProductID

4) Zamykamy rejestr, uruchamiamy dowolny program z pakietu Office, po kilku sekundach pojawi się okienko do wpisania nowego klucza dla produktu.

Dzięki czemu mamy zmieniony klucz bez reinstalacji  Offce'a.






Ampache streaming audio - przekierowanie portów cz.3

W tej części chciałbym pokazać w jaki sposób możemy przekierować porty naszego serwera, tak aby był widoczny na zewnątrz.

Na początek sprawdzimy jaki mamy adres IP na naszej maszynie (dobrze żeby IP było przydzielane na stałe, można to ustawić bezpośrednio w systemie lub też po MAC'u w naszym routerze), w konsoli wpisujemy

ifconfig 

otrzymamy w odpowiedzi adres IP, adres bramy oraz maskę podsieci:

inet addr:192.168.1.91  Bcast:192.168.1.255  Mask:255.255.255.0

zapisujemy powyższe dane, następnie musimy z systemu wyciągnąć nazwę naszego serwera, w tym celu wydajemy poniższe polecenie

hostname

Następnie przechodzimy na http://portforward.com , otwieramy zaznaczony poniżej link Free Guides.
Znajdziemy tam opis konfiguracji przekierowania portów na naszym routerze. Opis możemy znaleźć również w instrukcji naszego routera, lub poszukać go w internecie na polskich stronach.



niedziela, 10 sierpnia 2014

Ampache streaming audio -konfiguracja NO-IP cz.2

Mając zainstalowane Ubuntu w wersji 12.04, przejdziemy do skonfigurowania teraz możliwości wyjścia z naszego serwera na świat przy pomocy NO-IP.

Rozpocznijmy konfigurację.

1) Przechodzimy na  http://www.noip.com ,
2) Klikamy na "Sign up",
3) Wpisujemy nasz login,hasło oraz mail, pozostawiamy zaznaczoną darmową domenę,


4)  Odznaczamy checkbox'a, aby strona nie przysyłała nam żadnych reklam na skrzynkę,


5) Na koniec klikamy na "Free Sign UP" na dole strony,


sobota, 9 sierpnia 2014

Naprawa uszkodzonego pliku Exel (.xls/.xlsx)

Ostatnimi czasy bardzo dużo czasu w pracy spędzałem przy tworzeniu różnego rodzaju raportów/zestawień. Wykorzystując do tego celu oczywiście arkusz kalkulacyjny Exel. Wszystko dobrze gdy działa tak jak trzeba, jednak czasami trzeba naprawić uszkodzony arkusz, wtedy przydaje się wiedza jak zrobić to w szybki sposób.
Generalnie są na to 2 sposoby:

1) Sposób automatyczny:

1.1) Uruchamiamy Exel,
1.2) Z menu Plik wybieramy Otwórz,
1.3) Wybieramy strzałkę, z jej menu Otwórz i Napraw,




Podczas otwierania dokumentu możemy naprawić nasz plik.

Ampache streaming audio - instalacja Ubuntu 12.04 LTS wraz z LAMP(Linux/Apache/MuSQL/PHP) cz.1

Dzięki ciągłemu rozwojowi IT, każdy może skonfigurować własny streaming muzyki, dzięki któremu możemy mieć do niej dostęp przy pomocy przeglądarki internetowej z każdego urządzenia, będąc w dowolnym miejscu na świecie.

Na początek musimy przygotować środowisko przy pomocy, którego skonfigurujemy nasz serwer, którego główny składnikiem będzie Ampache. Jest on bardzo podobny do choćby Grooveshark'a.
Całe środowisko będzie opierało się na systemie OpenSource (Ubuntu/ LAMP oraz w/w Ampache). Poniżej plan działania:

1) Instalacja Ubuntu 12.04 LTS oraz LAMP,
2) Opcjonalnie publiczne IP - konfiguracja NO-IP ,
3) Przekierowanie portu 80 na routerze,
4) Instalacja oraz konfiguracją SAMB'y wraz z panelem do zarządzania (SWAT),
5) Instalacja Ampache wraz z jego konfiguracją

Na początek musimy zainstalować Ubuntu 12.04 LTS. Sam proces instalacji jest prosty musimy w trakcie instalacji zaznaczyć instalację SSH oraz LAMP (serwer www wraz z MySQL oraz obsługą PHP). Dokładny opis znajdziemy TUTAJ.

W następnej części konfiguracja NO-IP, dzięki czemu nasz serwis będzie widoczny dla innych.




niedziela, 3 sierpnia 2014

Dziennik błędów MSSQL 2012 Server cz.6

Nieodzownym narzędziem każdego programu lub systemu jest możliwość przechowywania informacji na temat jego działania. Podobnie jest w przypadku MS SQL 2012, do tego celu stworzono "Dziennik Błędów". Poza błędami przechowuje również informacje na temat poprawnego wykonania procesu , wykonania backupu bazy oraz wykonania zewnętrznych skryptów.
Po ponownym uruchomieniu instancji baza rozpoczyna nowy cykl w tworzeniu dziennika błędów, domyślnie baza przechowuje do 6 dzienników błędów, jeżeli chcemy zmienić to ustawienie wykonujemy poniższe kroki:

- Uruchamiamy SQL Server Managment Studio,
- Przechodzimy do Managment\SQL Server Logs  klikamy prawym z menu wybieramy Configure,
- W oknie zaznaczamy Limit the number of error logd files before they are cycled, wpisujemy tam wartość, która reprezentuje ile logów ma być przechowywanych.






Resource Governor MSSQL 2012 Server cz.5

Funkcja Resource Governor (zarządca zasobów) pozwala na zarządzanie pamięcią oraz mocą procesora w stosunku do instancji MS SQL 2012:

* Zasoby można przydzielać jedynie do DB Engine,
* Przy jego pomocy nie damy rady monitorować obciążenia różnych instancji,
* Kontrola dotyczy jedynie pamięci operacyjnej oraz mocy procesora,

Powyższą funkcję możemy włączyć wykonując następujące kroki:
-Otwieramy SQL Server Managment Studio,
-Przechodzimy do Managment,
-Edytujemy opcję Resource Governor,
-Zaznaczamy opcję Enable Resource Governor


poniedziałek, 21 lipca 2014

Aktualizacja składników MSSQL 2012 Server cz.4

Kolejną ważną sprawą dotyczącą dbania o instancję jest konieczność instalowania aktualizacji dotyczących wszystkich lub tylko niektórych komponentów składających się instancję bazy danych.
Aktualizować MSSQL'a możemy na dwa sposoby poprzez automatyczne aktualizacje Windows Update lub też poprzez przygotowanie do tego celu WSUS'a. Trochę trudniejszą sprawą jest wdrażanie aktualizacji ręcznie.
Ważną sprawą jest konieczność zaktualizowania wszystkich połączonych ze sobą komponentów.
Jeżeli posiadamy min. 2 instancje na jednym serwerze a na nich zainstalowane współużytkowane funkcje takie jak np.:Managment Tools lub Integration Services muszą być aktualizowane do najnowszej wersji dla obydwu instancji.
Podczas instalacji instancji możemy wskazać z jakiego miejsca mają być pobierane aktualizację.
Podczas instalacji pakietu Service Pack możemy w graficznym okienku wskazać dla  których instancji mają być instalowane.


niedziela, 20 lipca 2014

Automatyczne uruchamianie makra

Na potrzeby firmy musiałem napisać makro, które po uruchomieniu zostałoby automatycznie wykonane.
Wiedziałem w jaki sposób stworzyć makro, które wykona się przy pomocy skrótu klawiszowego lub też po przypisaniu makra do buttona.
Jednak znalazłem sposób, przy pomocy którego makro wykona się samo.

1) Uruchamiamy Dewelopera z menu:


2) W sekcji ThisWorkbook wklejamy kod naszego makra:


Łamanie hasła administratora Windows 7

Ostatnimi czasy musiałem dostać się do komputera do którego nie znałem hasła administratora. Jakiś czas temu pisałem już o zdejmowaniu hasła administratora przy pomocy zmodyfikowanej w tym celu dystrybucji GNU/Linux, również w tym przypadku użyłem do tego Linuxa, a dokładniej mówiąc PuppyLinux. Obraz około 165MB wrzuciłem na pendrive'a (ważne aby był to dobry sprzęt ponieważ przy zbyt wolnej prędkości odczytu/zapisu pojawiają się irytujące przycięcia systemu.)

Uruchamiamy system z pendriv'a, następnie montujemy:


Dalej musimy zmodyfikować sethc.exe, tak aby można było dostać się do konsoli cmd, i wpisać restart hasła:

niedziela, 13 lipca 2014

Konfiguracja instancji MSSQL 2012 Server cz.3

W poprzednich wpisach skonfigurowaliśmy wstępnie środowisko oraz zainstalowaliśmy MS SQL na 3 maszynach wirtualnych.
Teraz czas przyjrzeć się dokładniej parametrom, które możemy zmienić w samej instancji serwera.
Klikając prawym klawiszem myszy na nazwę instancji, następnie wybierając  Properties:





Widzimy listę dostępnych opcji:

1) General - wyświetla informację na temat instancji, takie jak używany język, system operacyjny,pamieć, liczba procesorów itd. Nie możemy na tej zakładce niczego modyfikować.








2) Memory (Pamięć) -  na tej zakładce możemy skonfigurować min. oraz max. liczbę pamięci dostępnej dla instancji oraz pamięci przeznaczoną na indeksowanie bazy. Jeżeli baza działa w systemie 32-bitowym najniższa wartość jaką możemy wpisać w pole maksymalna wielkość pamięci to 64MB, natomiast dla systemu 64-bitowego wynosi ona 128MB, natomiast maksymalna to 2 PB (2 147 483 647 MB).








3) Processors (Procesory) - w tej zakładce możemy skonfigurować tzw. koligację procesora, czyli przypisanie procesora do określonego wątku.
Możemy przypisać przy pomocy T-SQL konkretne procesory (2 oraz 3) do wątków roboczych wydamy polecenie:

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=2,3

Jeżeli chcemy wykorzystać wszystkie procesory dla wątków roboczych wykonamy poniższe polecenie:

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=AUTO







4) Security (Zabezpieczenia) - zawiera opcje uwierzytelnienia serwera, inspekcje logować, ustawienia serwera proxy itd.







5) Connections (Połączenia) - możemy ustawić maksymalną liczbę połączeń do bazy.

6) Database Settings (Ustawienia bazy danych) -  pozwala skonfigurować domyślnego współczynnika wypełnienia indeksu, czasu przechowywania nośników kopii zapasowych, interwału odzyskiwania oraz domyślnych lokalizacji baz danych.






7) Advanced (Zaawansowane) - konfiguruje FILESTREAM (pozwala wrzucić do bazy pliki), uruchomienia wyzwalaczy, czas wygaśnięcia zdalnego logowania oraz opcji pracy równoległej.






8) Permissions (Uprawnienia) - konfiguracja uprawnienia na poziomie instancji.








9) Domyślne bazy po zainstalowaniu instancji:

# Master - jest to najważniejsza baza, w której zapisywana jest konfiguracja SQL Servera – informacje o obiektach systemowych, loginach, lokalizacji poszczególnych plików czy podpiętych bazach użytkownika.Administrator zawsze powinien dbać o wykonywanie okresowej kopii bezpieczeństwa tej bazy.
# Model - jest to baza, która jest wzorcem dla pozostałych baz. W praktyce utworzenie nowej bazy w jest operacją skopiowania bazy model oraz większości jej ustawień. Jeżeli chcemy zmienić domyślne ustawienia dla pozostałych baz tworzonych na danym serwerze to często wystarczy wprowadzić modyfikację do bazy model. Należy jednak pamiętać, że może to za sobą pociągać rozmaite problemy – przykładowo załóżmy, że przypadkiem jeden z userów SQLa został podpięty do bazy model. Jeżeli nasza aplikacja podczas kreacji bazy będzie domyślnie tworzyła takiego samego operatora to najprawdopodobniej zostanie zwrócony błąd na skutek automatycznego przepięcia usera podczas pierwszego kroku czyli ‚create database’, a później próby założenia dokładnie takiego samego operatora ponownie.
# MSDB -  jest to baza tymczasowa, która jest na nowo tworzona po każdym restarcie usługi SQLa. Utworzenie struktury tej bazy odbywa się oczywiście na podstawie bazy model. Co zawiera ta baza? Przede wszystkim wszelkie obiekty tymczasowe takie jak bazy tymczasowe, kursory czy różne obiekty tworzone wewnętrznie przez proces SQLa podczas przetwarzania kolejnych instrukcji.
# Tempdb - jest to baza pomocnicza wykorzystywana przede wszystkim przez usługę SQL Server Agenta w celu przechowywania harmonogramów operacji. Baza jest również używana do przechowywania jobów, do wykonywania backupów oraz replikacji. Teoretycznie istnieje możliwość usunięcia tej bazy czego skutkiem będzie ograniczenie lub wyłączenie pewnych funkcjonalności ale nie powinno to spowodować całkowitego zatrzymania usługi SQLa.
#Resource Database – jest to ukryta baza systemowa, która pozostaje niewidoczna z poziomu Management Studio i w związku z tym mało osób zdaje sobie sprawę z jej istnienia. Głównym zadaniem tej bazy jest przechowywanie wszelkich obiektów systemowych w postaci chociażby procedur. Bazy nie można backupować w tradycyjny sposób, a jedynie poprzez odnalezienie na dysku właściwego pliku (mssqlsystemresource.mdf) oraz jego skopiowanie w bezpieczne miejsce. Baza powstała przede wszystkim z myślą o kolejnych aktualizacjach. Dzięki ukryciu bazy mamy pewność, że procedury nie zostaną zmodyfikowane przez użytkownika. W efekcie podczas aktualizacji SQL Servera wgranie odpowiednich poprawek polega po prostu na zastąpieniu wspomnianej bazy nowszą wersją.


Baza model pozwala skonfigurować ogólny szablon dla wszystkich późniejszych baz, możemy skonfigurować:

# Recovery Model - definiuje sposób odzyskiwania bazy danych (FULL. SIMPLE, BULK_LOGGED)

use [master]
GO
ALTER DATABASE [model] SET RECOVERY FULL WITH NO_WAIT
GO

#AUTO CLOSE -  pozwala na automatyczne zamykanie bazy podczas gdy nikt nie jest do niej podłączony, jednak nie jest to wskazane, ponieważ wybudzenie bazy zużywa zbyt dużo zasobów procesora.

use [master]
GO
ALTER DATABASE [model] SET AUTO_CLOSE ON  WITH NO_WAIT
GO
# Auto Shrink - pozwala na automatyczne zwolnienie niewykorzystanego miejsca w bazie. 

use [master]
GO
ALTER DATABASE [model] SET AUTO_SHRINK ON  WITH NO_WAIT
GO









10) Konfiguracja powiadamiania z bazy na maila:

Możemy skonfigurować powiadomienia na maila, dzięki czemu baza będzie wysyłać informację do nas w przypadku problemów z bazą:

10.1) Uruchamiamy SQL Server Managment Studio.

10.2) Prawym klawiszem klikamy na Database Mail  w węźle Managment, klikamy następnie na Configure Database Mail,

10.3) Na stronie Select Configure Task wybieramy Set up database mail by performing the following tasks, następnie Next.







10.4) Pojawi się okienko z informacją, że Database mail jest wyłączona, klikamy na YES.

10.5) Na stronie New Profile  wpisz nazwę i opis profilu, po czym klikamy Add.

10.6) W polu New Database Mail Account, wprowadzamy szczegółowe informacje konta pocztowego o klikamy na OK. Po powrocie do strony New Profile klikamy Next.



10.7) Na stronie Manage Profile Security, akceptujemy domyślne ustawienia i przechodzimy dalej.

10.8) Na stronie Configure System Parameters, konfigurujemy opcję czasowe odpowiedzialne na sprawdzenie połączenia z serwerem: liczbę ponownych prób łączenia, czas opóźnienia następnej próby połączenia  itd.

10.9) Na koniec klikamy na Finish.


W ten sposób mamy skonfigurowane automatyczne powiadamianie o połączeniach bazy.