konfiguracja popa3d

•luty 25, 2008 • Dodaj komentarz

Instalujemy paczke popa3d-1.0.2_1.tbz

#pkg_add popa3d-1.0.2_1.tbz

Dodajemy do /etc/inetd.conf

— inetd.conf

pop3 stream tcp nowait root /usr/local/libexec/popa3d popa3d

— 

restartujemy inetd:

#killall -HUP inetd

Sprawdzamy popa telnetujac sie na port 110 gdzie user to mg a haslo rowniez mg:

#telnet naszserwer.cinol.pl 110

Trying 10.0.0.3…
Connected to naszserwer.cinol.pl.
Escape character is ‘^]’.
+OK
user mg
+OK
pass mg
+OK
stat
+OK 20 22557
quit

konfiguracja postfixa

•luty 25, 2008 • Dodaj komentarz

Instalujemy paczke postfix-2.4.6,1.tbz

#pkg_add postfix-2.4.6,1.tbz

na pytanie:
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?
wybieramy “y”

Aby postfix startowany był każdorazowo przy starcie systemu dodajemy do /etc/rc.conf
postfix_enable=”YES”

aby wyłączyć domyślny start sendmaila w systemie do w/w pliku dodajemy:
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”

do pliku /etc/periodic.conf w celu wylaczenia codziennych zadan:
daily_clean_hoststat_enable=”NO”
daily_status_mail_rejects_enable=”NO”
daily_status_include_submit_mailq=”NO”
daily_submit_queuerun=”NO”

Tworzymy dowiązania do plików konfiguracyjnych:

# ln -s /usr/local/etc/postfix /etc/postfix
# ln -s /usr/local/etc/postfix/aliases /etc/aliases
# ln -s /usr/local/etc/postfix/access /etc/access
# /usr/local/bin/newaliases

Główny plik konfiguracyjny:
# ee /usr/local/etc/postfix/main.cf

——main.cf
# LOCAL PATHNAME INFORMATION

# (Definiujemy .cie.ki do katalogów)
# Katalog z plikami komunikuj.cymi si. z naszym MTA.
queue_directory = /var/spool/postfix

# Katalog zawieraj.cy pliki do administracji Postfixem.
command_directory = /usr/local/sbin

# Katalog z programami demona.
daemon_directory = /usr/local/libexec/postfix

# QUEUE AND PROCESS OWNERSHIP

# Ustawiamy w.a.ciciela.
mail_owner = postfix

# INTERNET HOST AND DOMAIN NAMES

# Wpisujemy nazw. naszego serwera lub domen.:
myhostname = cinol.pl

# Ustawiamy nazw. naszej domeny:
mydomain = $myhostname

# SENDING MAIL
# Opcja ta odpowiedzialna jest za definicj. pola “From: ” w nag.ówkach:
myorigin = $myhostname

# RECEIVING MAIL

# Adresy interfejsów na których b.dzie nas.uchiwa. Postfix:
inet_interfaces = 10.0.0.3
# inet_interfaces = all

# Opcja wskazuj.ca Postfix’owi nazwy domen, na które serwer ma akceptowa.
# poczt. przychodz.c. wy..cznie na te domeny:
mydestination = $myhostname localhost.$mydomain

# REJECTING MAIL FOR UNKNOWN LOCAL USERS

# Opcja odpowiedzialna za list. nazw odbiorców wiadomo.ci:
local_recipient_maps = unix:passwd.byname $alias_maps

# Numer kodu, który b.dzie zwracany, gdy w systemie nie ma odbiorcy:
unknown_local_recipient_reject_code = 550

# Ustawiamy limit ilo.ci wiadomo.ci, które mog. by.
# dostarczone do u.ytkownika w tym samym czasie:
local_destination_concurrency_limit = 2

# Ustawiamy limit ilo.ci u.ytkowników, których Postfix
# mo.e obs.u.y. równocze.nie w tym samym czasie:
default_destination_concurrency_limit = 10

# TRUST AND RELAY CONTROL

# Adresy sieci, z których b.dzie mo.na przekierowa. poczt.:
mynetworks = 127.0.0.0/8, 10.0.0.0/24

# Adresy komputerów, z których mo.na b.dzie przekierowa. poczt. (relay):
relay_domains = 127.0.0.0/8

# ALIAS DATABASE

# .cie.ka do pliku i bazy z aliasami:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# DELIVERY TO MAILBOX

# Katalog, w którym przechowywane b.d. wiadomo.ci:
mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail

# SHOW SOFTWARE VERSION OR NOT
# Ustawienia nag.ówna i banner’a naszego serwera:
mail_name = Postfix
smtpd_banner = $myhostname ESMTP $mail_name

# DEBUGGING CONTROL

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

# INSTALL-TIME CONFIGURATION INFORMATION

sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no

# OTHERS
# Maksymalna wielko.. wysy.anej wiadomo.ci (10 mb):
message_size_limit = 10240000

# Maksymalna pojemno.. skrzynki pocztowej (25 mb):
mailbox_size_limit = 25600000

# Maksymalna ilo.. wiadomo.ci wys.anych za jednym razem przez u.ytkownika:
smtpd_recipient_limit = 10

# Opcja odpowiedzialna za blokowanie komendy SMTP VRFY:
disable_vrfy_command = yes

# Parametr odpowiedzialny za dostarczanie maili je.eli server jest wy..czony.
# (sprawdzaj zdalny server co pó. godziny i zwracaj b..d do nadawcy po trzech dniach):
queue_run_delay = 30m
maximal_queue_lifetime = 3d

# Ustawienia czasów oczekiwania na komunikaty o b..dach:
smtpd_error_sleep_time = 3
smtpd_soft_error_limit = 3
smtpd_hard_error_limit = 5
——

startujemy postfixa:
# /usr/local/etc/rc.d/postfix start
jeśli wszystko przebiegnie bez zarzutów zobaczymy:
postfix/postfix-script: starting the Postfix mail system

Sprawdzamy nasz system pocztowy uruchamiajac telnet na porcie 25
#telnet naszserwer.cinol.pl 25
powinnismy zobaczyc:
Trying 10.0.0.3…
Connected to naszserwer.cinol.pl.
Escape character is ‘^]’.
220 cinol.pl ESMTP Postfix

Tworzymy nowego uzytkownika w systemie i nastepnie zezwalamy na korzystanie z postfixa dodajac do pliku /usr/local/etc/postfix/access (lub do nawiazania /etc/postfix/access)
mg@cinol.pl OK
gdzie mg to nazwa uzytkownika w systemie.

uaktualniamy baze:
#postmap /usr/local/etc/postfix/access

wysylamy mail z konta roota do mg
#telnet naszserwer.cinol.pl 25
Trying 10.0.0.3…
Connected to naszserwer.cinol.pl.
Escape character is ‘^]’.
220 cinol.pl ESMTP Postfix
ehlo cinol.pl
250-cinol.pl
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:root
250 2.1.0 Ok
rcpt to:mg
250 2.1.5 Ok
data
354 End data with .
subject: test
wiadomosc testowa.
.
250 2.0.0 Ok: queued as 1B9E32841C
quit

dns client

•luty 14, 2008 • Dodaj komentarz

/etc/resolv.conf

search cinol.pl
nameserver 10.0.0.254
nameserver 10.0.0.253

Konfiguracja SSH i kluczy publicznych

•luty 10, 2008 • 1 komentarz

Plik konfiguracyjny /etc/ssh/sshd_config

—————————————————
Port 22
Protocol 2
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::

# HostKey for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
SyslogFacility AUTH
LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
MaxAuthTries 6

RSAAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Change to yes if you don’t trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
IgnoreUserKnownHosts yes
# Don’t read the user’s ~/.rhosts and ~/.shosts files
IgnoreRhosts yes

# Change to yes to enable built-in password authentication.
PasswordAuthentication yes
PermitEmptyPasswords no

# Change to no to disable PAM authentication
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# Set this to ‘no’ to disable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of “PermitRootLogin without-password”.
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to ‘no’.
UsePAM yes

AllowUsers root mg ms
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

——————————————

Najwazniejsze ustawienia to:

  • ChallengeResponseAuthentication no —> wylaczamy modul PAM 
  • PubkeyAuthentication yes —> wlacza autentykacje klucza publicznego
  • AuthorizedKeysFile .ssh/authorized_keys —> sciezka gdzie przechowywane beda klucze publiczne uzytkownika
  • PasswordAuthentication yes —> autoryzacja przy uzyciu hasel
  • AllowUsers root mg ms —> uzytkownicy zezwoleni na sesje ssh

Dla tak skonfigurowanego daemona sshd mozliwe bedzie zalogowanie przy uzyciu klucza prywatnego znajdujacego sie na zdalnej maszynie oraz klucza publicznego obecnego na naszym serwerze FreeBSD. W razie niepowodzenia authentykacji po przez klucze, system poprosi o podanie hasla.

Najpierw generujemy pare kluczy na koncie uzytkownika kowalski:

kowalski $ ssh-keygen -t rsa -b 1024

Nowo wygenerowane klucze zapisane beda w:

~/.ssh/id_rsa - klucz prywatny
~/.ssh/id_rsa.pub - klucz publiczny

Tworzymy w katalogu uzytkownika ponizsza strukture z uprawnieniami:

kowalski$ mkdir ~/.ssh
kowalski$ chmod 700 ~/.ssh
kowalski$ touch ~/.ssh/authorized_keys
kowalski$ chmod 600 ~/.ssh/authorized_keys

Kopiujemy klucz publiczny do nowo powstalego pliku authorized_keys (kazda linijka to jeden klucz)

# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys


Restartujemy daemona sshd:

# /etc/rc.d/sshd restartNastepnie przesylamy plik id_rsa zawierajacy nasz klucz prywatny na nasza zdalna maszyne z ktorej bedziemy sie laczyc do serwera. Po przeslaniu uruchamiamy Puttygen w ktorym nasz plik z kluczem konwertujemy do formatu rozumianego przez aplikacje Putty.

W celu nawiazania polaczenia otwieramy Putty i wypelniamy pole adresu. Nastepnie z menu wybieramy SSH/Auth i w polu Private key file for authentication wybieramy sciezke do naszego pliku z kluczem prywatnym. Klikamy Open podajac nazwe uzytkownika i jestesmy zalogowani.

wylaczanie stacji jesli nie sa zalogowani inny uzytkownicy

•styczeń 15, 2008 • Dodaj komentarz

strComputer = “.”   ‘ ” use “.” for local computer

Set objWMI = GetObject(“winmgmts:” _
              & “{impersonationLevel=impersonate}!\\” _
              & strComputer & “\root\cimv2″)
Set colSessions = objWMI.ExecQuery _
    (“Select * from Win32_LogonSession Where LogonType = 2″)
If colSessions.Count = 0 Then
    ’Wscript.Echo “No interactive users found”
 strShutdown = “shutdown -s -t 0 -f -m \\” & strComputer
     set objShell = CreateObject(“WScript.Shell”)
     objShell.Run strShutdown
End If

Zadanie musi zostac ustawione w harmonogramie z odpowiednimi uprawnieniami i zezwolone na wykonywanie nawet jesli nikt nie jest zalogowany.

Aby zasymulować budowanie i działanie klastra ISA, który w sposób niezawodny chroni całą sieć zbudowałem środowisko wykorzystujące 7 wirtualnych maszyn. Rysunek poniżej przedstawia utworzoną sieć i rozwiązanie które chcę zbudować, czyli klaster skladający się z dwóch węzłów oraz serwera konfiguracyjnego CSS znajdującego się na oddzielnej maszynie w sieci lokalnej. Sieć lokalna to podsieć 192.168.1.0 i znajduje się w niej również kontroler domeny DC1. Wszystkie serwery są członkami domeny dg.pl, choć nie jest to zalecane w produkcyjnym środowisku tutaj ma jedynie ułatwić konfigurację. Alternatywą do uwierzytelniania w oparciu o kontroler domeny są węzły ISA znajdujące sie w grupie roboczej i wykorzsytujące certyfikaty. Sieć 194.110.240.0 to sieć zewnętrzna. Każdy węzeł ma przypisany inny adres zarówno zewnętrzny (publiczny) jak i wewnętrzny w sieci lokalnej. Po poprawnym skonfigurowaniu klastra powstaną dwa nowe adresy wirtualne (VIP) i tak dla sieci zewnętrznej jest to adres: 194.110.240.12, a dla sieci lokalnej: 192.168.1.111. Są to adresy reprezentujące cały klaster i aktywne nawet jeżeli któryś z węzłów ulegnie awarii. Sieć 172.16.1.0 to wewnętrzna sieć za pomocą której komunikują się węzły pomiędzy sobą i w ten sposób sprawdzają czy przypadkiem któraś z maszyn nie uległa awarii. Tak więc każda maszyna (węzeł) składa się z trzech przyłączonych sieci. W sieci zewnętrznej znajduje się też serwer DNS wraz z serwerem HTTP na którym postawiona zostanie testowa witryna, a ruch z zewnątrz będzie wysyłał do klastra komputer Klient-01. Kiedy zbudowany zostanie klaster, będziemy mogli sprawdzić dostępność usług zapory ogniowej, w chwili kiedy awarii ulega jeden z węzłów.

dodawanie uzytkownikow przynaleznych do odpowiedniego OU do grupy zabezpieczen

•styczeń 14, 2008 • Dodaj komentarz

Ponizej sktypt, ktory dodaje wszsytkich uzytkownikow znajdujacych sie w OU=Uzytkownicy do grupy zabezpieczen=Marketing. Grupa Marketing musi znajdowac sie rowniez w OU=Uzytkownicy

Option Explicit
Dim objRootLDAP, objGroup, objUser, objOU
Dim strOU, strGroup, strDNSDomain
Dim intCounter

strOU = “OU=Uzytkownicy,”
strGroup = “CN=marketing,”

Set objRootLDAP = GetObject(“LDAP://RootDSE”
strDNSDomain = objRootLDAP.Get(“DefaultNamingContext”

Set objGroup = GetObject(“LDAP://”& strGroup _
& strOU & strDNSDomain)
Set objOU = GetObject(“LDAP://” & strOU & strDNSDomain)

intCounter = 1
For Each objUser In objOU
If objUser.Class = lcase(“User” then
objGroup.add(objUser.ADsPath)
intCounter = intcounter +1
End If
Next

‘ponizsza linijke mozna usunac, daje tylko podsumowanie ilu uzytkownikow zostalo
‘dodanych do grupy
WScript.Echo strGroup & ” has ” & intCounter -1 & ” new members”

Wscript.Quit

Jezeli skrypt wykonany zostanie kolejny raz a obiekty dalej istnieja w OU pojawi sie blad “object already exist” podczas proby przypisywania. Ominieciem tego jest dodanie na poczatek skryptu:

On Error Resume Next

podstawy ServerCore windows 2008

•styczeń 14, 2008 • Dodaj komentarz

Konfiguracja sieci w wersji Core servera windows 2008 zaczynamy od listowania dostepnych interfejsow sieciowych:

netsh interface ipv4 show interfaces

111.jpg

W nastepnym poleceniu konfigurujemy karty sieciowe, pierwsza uzywac bedzie statycznego adresu, druga uzyska adres z serwera dhcp:

netsh interface ipv4 set address name=2 source=static address=192.168.1.10 mask=255.255.255.0 gateway=192.168.1.1

netsh interface ipv4 set address name=3 source=dhcp

Konfiguracja dwoch adresow dns dla pierwszej karty sieciowe (name=2):

netsh interface ipv4 add dnsserver name=2 address=192.168.1.2 index=1

netsh interface ipv4 add dnsserver=2 address=192.168.1.22 index=2

Zmiana nazwy komputera, aby sprawdzic aktualna nazwe wykonujemy:

hostname

121.jpg 

Zmiana obecnej nazwy na Morfeusz: 

netdom renamecomputer ServerCore /NewName:Morfeusz

Aktywacja serwera:

slmgr.vbs -ato

network load balancing na windows server 2008

•styczeń 12, 2008 • Dodaj komentarz

Aby skonfigurowac nasz cluster NLB potrzebujemy minimum dwoch serwerow, najlepiej wyposazonych w dwie karty sieciowe kazdy. Pierwsza karta odpowiedzialna bedzie za komunikacje “ze swiatem”, druga karta bedzie wymieniac informacje tylko i wylacznie po miedzy wezlami clustra nlb. Polaczenie “ze swiatem” nazwalem – lan, a polaczenie wewnetrze po miedzy wezlami – local. Przykladowa konfiguracja ponizej:

Node 1:
lan - 10.0.0.11/24, brama: 10.0.0.1
local - 10.0.0.12/24

Node 2:
lan – 10.0.0.13/24, brama: 10.0.0.1
local - 10.0.0.14/24

Istnieje mozliwosc konfiguracji NLB na serwerach z pojedynczymi kartami sieciowymi, wybieramy wtedy multicast jako tryb pracy – … szczegoly w odpowiednim kroku.

Poniewaz do obslugi ruchu potrzebujemy piatego wirtualnego adresu, w kolejnych krokach kreatora wskazemy 10.0.0.10/24 jako adres calego klustra. Konfiguracja NLB zaczynamy od instalacji komponentu Network Load Balancing:

  1. wybieramy Start/Server Manager/Features i wybieramy Add Features
  2. w nowym oknie z listy dodatkow do zainstalowania wybieramy: Network Load Balancing oraz klikamy Next
  3. po zainstalowaniu wybieramy Finish

Tak mamy oto zainstalowana usluge NLB, to samo przeklikujemy na drugim serwerze.

1. Uruchamiamy menadzera nlb wybierajac Start/Administrative Tools/Network Load Balancing Manager. Klikamy prawym na Network Load Balancing Cluster i wybieramy New Cluster.

1.jpg

2. W nowym oknie w polu Host: wpisujemy nazwe hosta lub ip komputera ktory bedzie pierwszym wezlem naszego clustra (jest to nasz aktualny serwer) i wybieramy Connect. Ponizej pojawia sie dostepne karty sieciowe, potwierdzamy klikajac Next.

21.jpg

3. W kolejnym etapie wybieramy piorytet, gdzie 1 bedzie przypisany dla wezla pierwszego a 2 przypisujemy wezlowi drugiemu. W polu Dedicated IP addresses wybieramy adres wezla 1, ktorym bedzie przypisany do klastra. 

31.jpg

4. W tym miejscu wybieramy wirtualny adres klustra, ktory bedzie wspoldzielony po miedzy wezly. Klikamy Add, wpisujemy ip oraz maske potwierdzamy OK i w glownym oknie Next.

4.jpg

5. Dalej mozemy uzupelnic nasz adres wirtualny o nazwe domenowa oraz wybrac tryb tzw. Cluster operation mode – zaznaczamy tutaj pole Unicast. W przypadku posiadania tylko jednej karty sieciowej przez serwery w kroku tym nalezy wybrac Multicast.

5.jpg

6. Etap filtrowania i portow, dla naszych potrzeb edytujemy zakres tylko do portu 80, na ktorym pracowac bedzie nasz IIS pod kontrola NLB. W oknie wybieramy Edit a nastepnie ustawiamy opcje portow.

6.jpg7.jpg

7. Na koniec potwierdzamy OK i Finish. W tej chwili nasz kluster zawiera pierwszy skonfigurowany wezel. Konfiguracja kolejnego wezla rozpoczynamy klilkajac nazwe komputera i wybierajac Add Host To Cluster.

8.jpg

8. W znanym juz nam oknie wpisujemy adres ip drugiego serwera i wybieramy Connect, ponizej ujrzymy dostepne karty sieciowe i klikamy Next.

9.jpg

9. Ustawiamy piorytet drugiego wezla i Next.

10.jpg

10. W ostatnim kroku potwierdzamy zakres portow wybrany wczesniej podczas konfiguracji pierwszego wezla i klikamy Finish.

11.jpg

Po paru minutach oba wezly zostana zsynchronizowane, symbolizuje to status Converged naszego klustra.

12.jpg

Do testow naszego NLB najprosciej uzyc IIS, instalujemy go na kazdym z wezlow i uruchamiamy. Aby zobaczyc czy polaczenia sa rozdzielanie po miedzy wezly tworzymy prosta witryne wyswietlajaca tresc “node 1″  na serwerze pierwszym i to sama witryne wyswietlajaca tresc “node 2″ na drugim serwerze. W ten sposob zobaczymy z ktorym wezlem uzyskalismy polaczenie po wpisaniu w przegladarke wirtualnego adresu clustra 10.0.0.10. Wynik ponizej:

f1.jpg f2.jpg

Jezeli ciagle uzyskujemy witryne “node 1″ nalezy zamknac przegladarke i otworzyc ja ponownie aby rozlaczyc aktywna sesje. 

wlaczanie obslugi flasha (plikow .flv) pod iis 6.0

•styczeń 11, 2008 • Dodaj komentarz

Podczas strumieniowania zewnetrznych plikow video flash (flv) znajdujacych sie na serwerze IIS6.0 (windows server 2003) moze wystapic problem z odtwarzaniem klipow flash – IIS error code 404.

 Rozwiazaniem tego problemu jest poprawne ustawienie kodowania MIME dla rozszerzen flasha (.flv). W celu ustawienia globalnej obslugi typu flv dla calego serwera:

  1. na serwerze otwieramy przystawke Internet Information Services Manager.
  2. rozwijamy galaz Local Computer
  3. klikamy prawym przycieskiem na Local computer i wybieramy Properties 
  4. wybieramy zakladke Mime Type
  5. Klikamy New i wpisujemy:
    • w pole Associated Extension: .FLV
    • w polu MIME Type: flv-application/octet-stream
  6. klikamy ok 
  7. restartujemy iis cmd/iisreset

sprawdzanie wolnego miejsca na dyskach

•styczeń 8, 2008 • Dodaj komentarz

Skrypt ten wyswietla ilosc wolnego miejsca na wszystkich dyskach logicznych, dodatkowo jezeli ktoras z partycja ma mniej niz 40 GB wolnej przestrzeni wywala komunikat.

Dim strComputer
Set WshNetwork = WScript.CreateObject(“WScript.Network”)

strComputer = WshNetwork.ComputerName
Const HARD_DISK = 3

Set objWMIService = GetObject(“winmgmts:” _
    & “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2″)

Set colDisks = objWMIService.ExecQuery _
    (“Select * from Win32_LogicalDisk Where DriveType = ” & HARD_DISK & “”)

Wscript.Echo strComputer
Wscript.Echo ” “

For Each objDisk in colDisks
 intSpace = objDisk.FreeSpace / 1024 / 1024 /1024
   
Wscript.Echo “DeviceID: “& vbTab &  objDisk.DeviceID      
Wscript.Echo “Free Space: “& vbTab & FormatNumber(intSpace,3)

 if objDisk.FreeSpace < 40000000000 then
  Wscript.Echo “Na dysku ” & objDisk.DeviceID & ” jest ponizej 40 GB wolnego miejsca”
 end if
wscript.Echo ” “
Next