Server 2008 Uptime kontrolleri

Server 2008 üzerinde uptime değerini alabilmek için aslında birçok şansımız var.Bu yazıda kısaca bunlardan bahsedelim.

1)Task Manager

Aslında en kolay yöntem bu sanırım.Server 2008 üzerinde task manager ekranında bizi “uptime” adında bir değer karşılıyor.Aşağıdaki resimde göreceğiniz üzere sunucunun uptime süresini öğrenebilirsiniz.

server2008uptime

2)Systeminfo komutu

Server 2008 altında systeminfo komutunu aşağıdaki parametre ile kullanırsanız size sunucunun açıldığı zamanı verecektir.

server2008uptime2

3)Eventviewer

Eventviewer altında 6005 nolu event sunucunun boot işlemini bitirdiğini bize bildirir.Aşağıdaki resimde benim sunucum üzerindeki bir örneğini görebilirsiniz.

server2008uptime3

İsterseniz filtreleme sayesinde sadece id 6005 olanları listeyerek boot süresini öğrenebilirsiniz.

4)Uptime.exe

Microsoft’un uptime.exe adında ufak bir komut satırı aracı var. http://support.microsoft.com/kb/232243 adresinden indirebilirsiniz.İndirdiğiniz bu aracı Windows Server 2008 sunucunuz üzerinde system32 altına kopyalayıp komutu çalıştırdığımızda aşağıdaki gibi bir çıktı verecektir.

server2008uptime4

5)Scriptler

Microsoft’un scripting guy üzerindeki scriptlerini araştırdığınızda karşınıza powershell ve vbs ile hazırlanmış uptime süresini veren hazır scriptleri bulabilirsiniz.Hatta iki tane hazır scriptin adresini verelim.

http://technet.microsoft.com/en-us/magazine/2008.12.heyscriptingguy.aspx?pr=blog

http://www.microsoft.com/technet/scriptcenter/resources/qanda/aug05/hey0802.mspx

Birisi powershell birisi vbs ile hazırlanmış scriptleri kullanarakda uptime değerine ulaşabilirsiniz.

  • Share/Bookmark

MSDEtoText – ISA 2006 loglarının görüntülenmesi

ISA Server 2006 varsayılan olarak log dosyalarını MSDE veritabanında saklar.Ve yine varsayılan konfigurasyonda bu logların dizini ISA Server kurulum dizini altındaki ISALogs klasörüdür.Bu klasörün içeriğini incelediğinizde .mdf uzantılı dosyaları görebilirsiniz.Bu logları text tabanlı görüntülemek için Microsoft’un güzel bir scripti bulunuyor.Buradaki adresten indirebileceğiniz MSDEtoText.vbs scriptini aşağıdaki parametreler ile kullandığınızda belirttiğiniz dizine txt formatı ile yine belirttiğiniz log database’ini export edebilirsiniz.

Scripti kullanmak için scripti yüklediğiniz dizine komut satırından inerek ;

MSDEToText.vbs ISALOG_20090315_FWS_000 FireWallLog c:\loglarım.txt

parametreleri ile kullanabilirsiniz.Bu takdirde ISALOG_20090315_FWS_000 isimli veritabanı c:\loglarım.txt dosyası içerisine export edilecektir.Aynı şekilde FirewallLog parametresi yerine WebProxyLog parametresini kullanarak bu loglarıda export edebilirsiniz.

Küçük ama kullanışlı bir script.

  • Share/Bookmark

File cannot be loaded because the execution of scripts is disabled on this system error in PowerShell

Powershell’i kurdunuz yada exchange 2007 için exchange management shell üzerinde varolan bir .ps1 dosyasını çalıştırdığımızda;

File cannot be loaded because the execution of scripts is disabled on this system error in PowerShell

hatası alabiliriz.Bunun sebebi aslında defaultta gelen güvenlik ayarları.Varolan güvenlik ayarları scriptin çalıştırılmasına izin vermiyor demektir.Yani teknik olarak Execution Policy durumu.Temelde varolan execution policyler aşağıdaki gibidir.

Restricted: Varsayılan ayar budur.Bazı özel komutlar çalışırken powershell scriptleri çalışmaz.
AllSigned: Scriptler çalışabilir fakat local bilgisayar üzerinde digital bir imzaya sahip olması lazım .Scriptleri çalıştırmadan önce uyarı verir.
RemoteSigned: Digital imzalara gerek yoktur.Fakat internet üzerinden yada mail ile yüklenen scriptlet için imzaya gerek vardır.
Unrestricted: Her script çalıştırılır.Dışarıdan yüklenen scriptler ise uyarı verir.

O zaman bireysel bilgisayarınızda çalışıyorsanız yani kurumsal bir ortamda değilseniz geçici olarak scripti çalıştırabilmek için policy settingsi unrestricted’a çekebiliriz.Bunun için yapmamız gereken;

Set-ExecutionPolicy Unrestricted

Aynı şekilde diğer policyleride bu komuttaki gibi koşturabiliriz.

  • Share/Bookmark

Exchange 2007 komut ile kurulum

Aşamaları takip etmeniz zor.Verdiği hataları yada eksik önyüklemeleri seçmeniz uğraştırıyor.Ama yinede bilmenizde fayda var.Sunucu üzerine exchange 2007 kurulumunu komut satırından yada powershell içerisinden gerçekleştirebilirsiniz.Aşina olduğumuz komut satırından gerçekleştirmek için Exchange 2007 dvd dizinine inerek;

Setup.Com “/r:M,HT,C” “/on:Messaging” komutunu koşturun.

Aynı işlemi powershell üzerinde gerçekleştirmek içinde;

./Setup.Com “/r:M,HT,C” “/on:Messaging” komutu işinizi görücektir.

Fakat gerçekten verdiği hataları gözlemlemek,yükleme ayrıntılarını gözlemlemek için GUI aracılığı ile yükleme yapmanız daha yararlı olucaktır.Bu komut aklımızın bir köşesinde kalsın.

Bu arada unutmadan r: parametresi bize rolleri belirtiyor.

M:Mailbox HT:Hub transport C:client access rolleri

On: parametreside kuracağımız exchange organizasyonunun ismi…

  • Share/Bookmark

Powershell ile mail gönderimi

Bildiğimiz gibi artık powershell ile sunucularımızı ve işlerimizi yönetebiliyoruz.Powershell’in bir diğer marifetide Net.Mail.SmtpClient objesini kullanarak mail gönderebilmesi.Aşağıdaki kodları kullanarak isterseniz bir.ps1 oluşturabilir ve bunu schedule ile istediğiniz zamanlarda çalıştırabilirsiniz.Powershell’de mail gönderimi için

$emailFrom = “user@yourdomain.com”
$emailTo = “user@yourdomain.com”
$subject = “your subject”
$body = “your body”
$smtpServer = “your smtp server”
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

  • Share/Bookmark

Lotus Notes’dan Exchange 2007′ye migration için örnek script

Marc Nivens’ın yazdığı aşağıdaki örnek script ile ,yapımızdaki Lotus Notes kullanıcılarını Exchange 2007′ye migrate edebiliriz.Bunun için tek yapmamız gereken kullanıcıları aşağıdaki formatla bir txt dosyasına kaydetmek:

Anil Erduran/DOMINO
Osman Yagmurdereli/DOMINO
Hülya Avsar/DOMINO

Ardından aşağıdaki scripti çalıştırarak migrate işlemine başlayabiliriz.

$TargetDatabase = “EXCHANGE\First Storage Group\Mailbox Store”
$SourceFile = “c:\dominousers.txt”
$a = remove-item c:\miglog.txt -ea SilentlyContinue
$error.Clear()
$UserList = Get-Content $SourceFile
foreach($user in $UserList)
{
$message = “Migrating User ” + $user
write-output $message | out-file -filePath “c:\miglog.txt” -append -noClobber
move-dominomailbox $user -TargetMailboxDatabase $TargetDatabase
if($error.Count -ne 0)
{
$message = “User ” + $user + ” failed migration”
write-output $message | out-file -filePath “c:\miglog.txt” -append -noClobber
$message = “Error: ” + $error[0].ToString()
write-output $message | out-file -filePath “c:\miglog.txt” -append -noClobber
$error.Clear()
}
}

c:\dominousers.txt dizinindeki dosyada kullanıcıları kaydettiğimiz txt dosyası bulunuyor.Ayrıca migrate işlemi sırasında meydana gelen hatalar c:\miglog.txt dosyasına yazılıyor.
Buradaki değerleri değiştirerek yada eklemeler yaparak daha spesifik migrate çözümleri üretebiliriz.

  • Share/Bookmark

Batch File ile chkdsk – AT komutu

Komut isteminde AT komutu ile zamanlanmış görevler oluşturabiliriz.Örneğin:

AT \\bilgisayarismi 02:00 /Interactive /every:pazartesi CHKDSK C:

komutunu yazdığımızda yada batch dosyası olarak kaydedip çalıştırdığımızda chkdsk aracı her pazartesi saat 02:00′da çalışacak vaziyette zamanlanmış olur.
Aynı zamanda bu disk kontrol işlemi sırasında log tutulmasını sağlayabiliriz.Bunun için ayrı bir .bat dosyası hazırlamamız gerekiyor.AT komutunu aşağıdaki gibi kullanalım:

AT \\bilgisayarismi 02:00 /Interactive /every:Friday loglama.BAT

Bu zamanlanmış görev loglama.bat dosyasını çağıracaktır.Bunun için birde loglama.bat isminde dosya oluşturacağız.Chkdsk işlemini loglara dökmek oldukça basit.> işareti komuttan sonra konulduğunda o komutun bilgilerini export etmeye yarar.Bunun için aşağıdaki komutu kullanacağız:

CHKDSK > DURUM.LOG
Bu durumda ilk batch dosyamız ikincisini belirlenen zaman aralıklarında çağıracak.Ardından ikinci dosyada işlemini yapıp,kontrolden sonra log dosyasını oluşturucak.
Burada dikkat etmemiz gereken başka bir konu daha var.Biz bir görev oluşturduk.Yani her pazartesi saat 2′de bu komut çalışacak ve loglama işlemini yapıcak.Bu log dosyalarının isimlerini benzersiz yapmamız gerekli ki,hangi hafta hangi loglama yapılmış kolayca ayırt edebilelim.Bunun için değişkenleri kullanacağız.

for /F “tokens=2,3,4 delims=/ ” %%i in (’date /t’) do set datefile=%%i%%j%%k.log
Chkdsk > %datefile%

Buradaki komutla birlikte .log dosyasının ismini sistem tarihine göre ayarlamasını sağladık.Chkdsk komutuda log dosyasını bu değişkene göre oluşturacak

  • Share/Bookmark

Microsoft Exchange üzerinde email kota ayarı scripti

on error resume next

CONST QUOTA_EXEMPTION = 500000 ‘* > mDBOverHardQuotaLimit is exempted to use default quota
CONST EXEMPTED_WORD = “exempted”

Const ADS_SCOPE_SUBTREE = 2
Const ADS_CHASE_REFERRALS_EXTERNAL = &h40
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D
Const ADS_UF_PASSWD_CANT_CHANGE = &h00040
Const ADS_UF_PASSWORD_EXPIRED = &H80000
Const ADS_UF_LOCKOUT = &h00010

Set rootDSE = GetObject(”LDAP://RootDSE”)
sObjectDN = “LDAP://” & rootDSE.Get(”defaultNamingContext”) Devamini oku »

  • Share/Bookmark

Active Directory Users Export

Active Directory üzerindeki tüm kullanıcıları bir excel dosyasına export etmek için aşağıdaki scripti kullanabiliriz.
Eğer Office sürümü ingilizce ise script içindeki “sayfa1″ değerini “sheet1″ olarak değiştirmeliyiz.

http://anilerduran.com/ad-export.vbs

  • Share/Bookmark

Oturum açma-kapama işlemini loglama

Networkümüzde bulunan istemci makinalara hangi tarihte kim saat kaçta oturum açmış yada kapamış gibi bilgilere erişmek için ufak bir script kullanabiliriz.

echo Oturum Açma %username% %computername% %date% %time% >> \\192.168.x.x\sysvol\OTURUM_ACMA_KAYITLARI\%username%.txt

Bu komut ile oturum açan kullanıcılar belirttiğimiz ip adresindeki OTURUM_ACMA_KAYITLARI klasörü altına kullanıcı isimleri kullanılarak loglanacaktır.

echo Oturum Kapama %username% %computername% %date% %time% >> \\192.168.x.x\sysvol\OTURUM_KAPAMA_KAYITLARI\%username%.txt

Burada ise aynı işlemi oturum kapama için kullanıyoruz.Sondaki .txt uzantısını .cvs yaparak excel ile daha ayrıntılı bir tablo elde edebiliriz.

Scriptleri hazırladıktan sonra yapmamız gerekn GPO ile logon ve logoff script olarak tüm organizasyona bunu atamak.Aşağıda anlatımı mevcut..

http://www.anilerduran.com/index.php/logon-scripts/

  • Share/Bookmark

Mailbox boyutları belirtilen değerden daha büyük olan alıcıların listesi için script

strComputer = “.”
intMailboxSize = 2048 ’size in KB, all recipient who exceeds this amount will be displayed

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

Set colItems = objWMIService.ExecQuery(”Select * from Exchange_Mailbox where size > ” & intMailboxSize)
if colItems.count = 0 then ‘no recipients were found
wscript.echo “No items were found”
wscript.quit
end if

mbs_len = len(”MAILBOX SIZE(KB)”)
mbdn_len = len(”MAILBOX DISPLAY NAME”)
wscript.echo “MAILBOX DISPLAY NAME” & space(30 – mbdn_len) & “MAILBOX SIZE(KB)”

For Each objItem in colItems
if len(objItem.MailboxDisplayName) > 30 then
padding = 0
Wscript.stdOut.write left(objItem.MailboxDisplayName,27) & “…” & space(padding)
else
padding = 30 – len(objItem.MailboxDisplayName)
Wscript.stdOut.write objItem.MailboxDisplayName & space(padding)
end if
Wscript.stdOut.write space(mbs_len – len(cstr(objItem.Size))) & objItem.Size
wscript.echo
next

  • Share/Bookmark

Exchange servislerinin otomatik durdurulması

Exchange 2003 bulunan serverımızı restart etmek istediğimizde bir müddet bizi bekleticektir çünkü exchange servislerinin durdurulması biraz sürer.
Bu sebeple yada başka bir sebeple exchange servislerini durdurmamız gerekirse aşağıdaki komutları batch file olarak kaydedip tek bir tıkla bunu halledebiliriz.

net stop “Microsoft Exchange Information Store” /y
net stop “Microsoft Exchange System Attendant” /y
net stop “Microsoft Exchange IMAP4″ /y
net stop “Microsoft Exchange Routing Engine” /y
net stop “Microsoft Exchange POP3″ /y
net stop “Microsoft Exchange Management” /y

  • Share/Bookmark

Bağlantısı kesilen mailboxların purge edilmesi scripti

‘ On Error Resume Next
Dim cComputerName
Dim objWMIService
Dim oDisMbox
Dim mBox
Dim dmBoxes
Dim strAnswer
Const cWMINameSpace = “root/MicrosoftExchangeV2″
Const cWMIInstance = “Exchange_Mailbox”
cComputerName = “SRVEXC01″ Devamini oku »

  • Share/Bookmark

Microsoft Exchange Mailboxlarına erişim sağlayan kullanıcıların listesi için script

‘Who Has Access – By Alan Mosley, ThatsIT Solutions Australia

‘Writes report to text file, showing who has access to Exchange users mailboxes
‘Must be run on email Server

Const DOMAIN = “IT”
Const EMAIL_SERVER = “HANK”
Const LDAP_DOMAIN = “LDAP://dc=ThatsIT,dc=local” Devamini oku »

  • Share/Bookmark

Kullanılmayan Computer Account’ların silinmesi

Şu adresten indirebileceğimiz script sayesinde 90 gün içinde herhangi bir işlem yapmamış olan bilgisayar hesaplarını .html olarak rapor alabilir ve ardından silme işlemini gerçekleştirebiliriz.Komut satırına düştüğümüzde toplam 3 komuttan oluşuyor.
oldcmp.exe /report
oldcmp.exe /disable
oldcmp.exe /delete

  • Share/Bookmark

Paylaşımdan Printer ekleme scripti

Bir grup kullanıcı farklı makinalarda oturum açtığında belli başlı 3 yazıcının tanıtılması istenebilir.Bunun için her seferinde uğraşmamak için logon script olarak şunu kullanabiliriz.

—————————-
Set objNetwork = CreateObject(”WScript.Network”)
objNetwork.AddWindowsPrinterConnection “\\banko3\hpLaserJ”
—————————-

  • Share/Bookmark

Networkde bulunan diğer PC’leri scriptle kapamak.

Networkümüzde gerekli haklarımız tanımlanmışsa uzak bir makineyi kapatabilir,restart yada logoff edebiliriz.Bruce Walton ‘ın hazırladığı script:

———————

msg=”Yapmak istediginiz islemi seciniz:” & vbcrlf & “0 – Log off” & vbcrlf & _
“1 – Shutdown” & vbcrlf & “2 – Reboot” & vbcrlf & “8 – Power Off”

flag=inputbox(msg)

if flag<>0 and flag<>1 and flag<>2 and flag<>8 then
msgbox “Incorrect selection”
wscript.quit
end if

Servers=array(”computer1″, “computer2″, “computer3″)
for x=lbound(servers) to ubound(servers)
for each OS in getobject (”winmgmts:{(Shutdown)}//” & servers(x) & _
“/root/cimv2″).InstancesOf(”Win32_OperatingSystem”)

set Security = OS.Security_
set PrivObj = Security.Privileges
PrivObj.Add(18)

RetVal = OS.Win32ShutDown(flag,0)
next
if RetVal = 0 then
wscript.echo “Shutdown ” & servers(x)
else
wscript.echo “Unable to shutdown ” & servers(x)
end if
next

  • Share/Bookmark

Bilgisayar Hesaplarını otomatik , istenilen OU’ya taşımak

Google gruplarında bir arkadaşın sorusu üzerine araştırıp bulduğum bir script gerçekten beni çok şaşırttı.
Şöyle bir senaryo düşünelim.3 Tane OU’muz var.

Muhasebe-Finans-Yönetim
Bir de computers container’ımız var built-in gelen.Şimdi Muhasebe grubuna bilgisayar üzerinden bir policy çakmak istiyoruz.Ama bilgisayar isimleri oldukça karmaşık ve hepsi default gelen computers grubunun altında.Bu durumda bir scriptle işimizi çok Devamini oku »

  • Share/Bookmark
Toplam 519 yazi ve 248 yorum bulunmaktadir.
  1. Son eklenen yazilardan haberdar olmak icin mail adresinizi yazin

  2. Kategoriler

  3. Son Yazılar

    En Populer 25 Yazi

    Bugun En Cok Okunan 25 Yazi

    Su an Okunanlar