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.
2)Systeminfo komutu
Server 2008 altında systeminfo komutunu aşağıdaki parametre ile kullanırsanız size sunucunun açıldığı zamanı verecektir.
3)Eventviewer
Eventviewer altında 6005 nolu [...]
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 [...]
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: [...]
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 [...]
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)
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)
{
[...]
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 [...]
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”)
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
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 [...]
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 = [...]
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 [...]
‘ 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″
‘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”
Ş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
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”
—————————-
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 flag0 and flag1 and flag2 and flag8 [...]
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