26 Aralık 2011 Pazartesi

Deleting Files in a Specific Size Script

Belirli bir boyuttan küçük dosyaları silme Script


---------

On Error Resume Next
Function ShowFileList

Klasor = "c:\test_folder\" 'klasor yolu
Limit  = 1000000  'silinecek max dosya limiti kb
Uzanti = "log" 'silenecek dosya uzantisi


Dim fso, f, f1, fc
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Klasor)
Set fc = f.Files
For Each f1 in fc
yol=Klasor&f1.name 
Set Dosya = fso.GetFile(yol)
D_Uzanti = right(f1.name,len(f1.name)-instrrev(f1.name,"."))
if Dosya.Size > limit  and (ucase(D_Uzanti) = Uzanti or lcase(D_Uzanti) = Uzanti) then
Set Dosya_sil = fso.GetFile(yol)
Dosya_sil.Delete 
end if
Next
ShowFileList = s
End Function
ShowFileList
--------

Delete folders/files older than a specific day Script


Belli bir günden daha eski klasör/Dosyaları silme Script


----------
' X_TarihdenEskiDosyaSil.vbs Cem 2010
' ***************************************************
' * Bu vbs belirledigimiz tarihden eski file'leri 
' * folder ve alt folder'ına bakarak siler
' *
' *  Silmek istediğiniz path ve lifetime degiskenlerini girmeniz gerekir


' * Example : path = "\\Dosya\backup" 
' * Example : path = "N:\Logfiles" 


Path = "C:\WINDOWS\system32\LogFiles" 


' * AltFolder'ların içinide silmek için Example : Subfolders = True 
' * Sadece tek folder'ı silmek için  Example : Subfolders = False 


Subfolders = True


' * kac günden eski file'leri silecegiz
' * Example : lifetime = date() - 20


Lifetime = date() - 7 
' *******************************************************


FilesArray = Array() 
set fso = createobject("scripting.filesystemobject") 
SelectFiles path, lifetime, FilesArray, Subfolders
numDeleted = 0 
for n = 0 to ubound(FilesArray)
on error resume next
FilesArray(n).delete true 
on error goto 0 
next 
sub SelectFiles(sPath,vlifetime,FilesArrayToKill,bIncludeSubFolders) 
on error resume next 
set folder = fso.getfolder(sPath) 
set files = folder.files 
for each file in files 
dtlastmodified = null
on error resume Next 
dtlastmodified = file.datelastmodified 
on error goto 0 
if not isnull(dtlastmodified) Then 
if dtlastmodified < vlifetime then 
count = ubound(FilesArrayToKill) + 1 
redim preserve FilesArrayToKill(count) 
set FilesArrayToKill(count) = file 
end if 
end if 
next 
if bIncludeSubFolders then 
for each fldr in folder.subfolders 
SelectFiles fldr.path,vlifetime,FilesArrayToKill,true 
next 
end if 
end sub
----------

Copy File Script

Dosya Kopyalama Script


Bir dosyayı farklı bir yere kopyalamak için aşağıdaki script'i kullanabilirsiniz.


----------

Dim systemPath 
systemPath =  CreateObject("WScript.Shell").ExpandEnvironmentStrings("%WINDIR%")
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "c:\foldername\test.txt", "\\SharingName\test.txt"
---------

Install Fonts Windows Script



Windows Font Yükleme Script

Yeni bir font'u işletim sistemine yüklemek ve group policy ile deploy etmek için kullanılabilecek script.

----------
Option Explicit

'Windows yeni font install edilmesi

DIM objShell,objFolder,objFSO,objFile,fso

Const FONTS = &H14&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(FONTS)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fso = CreateObject("Scripting.FileSystemObject")

'c disk inde fonts.txt var ise kurulum yapmadan çık

If (fso.FileExists("C:\fonts.txt")) Then

WScript.Quit()

Else

'c disk inde fonts.txt yok ise kurulum yap sonra fonts.txt yarat

objFolder.CopyHere "\\SharingName\font_name.ttf"

Set objFile = objFSO.CreateTextFile("C:\fonts.txt")

End If

WScript.Quit()

----------

8 Aralık 2011 Perşembe

IIS7 HTTP isteklerini HTTPS sayfasına Yönlendirmek

IIS7'de HTTP isteklerini HTTPS sayfasına Yönlendirmek

IIS 7 de host ettiğiniz uygulamaya sadece https olarak erişilmesini istiyorsanız SSL sertifikanızı yükledikten sonra yapmanız gerekenler:

1. IIS Manager'dan ilgili uygulamayı çalıştıracağınız siteyi seçin , featureview de "SSL Settings" e çift tıklayıp "Require SSL" seçeneğini aktif hale getirin.


2. Feature view'e dönüp bu kez "Error Pages" seçeneğine çift tıklayıp açılan sayfada sağdan "Add" linkine tıklayın, gelen pencerede "Status Code" bölümüne 403.4 yazın ve en alttaki "Respond with a 302 redirect" seçeneğini seçip aktif olan bölüme sayfanızın yönlendirilmesini istediğiniz https sayfa linkini yazın ( örn: https://aaa.bbb.com/) ve OK e basın.
 

7 Aralık 2011 Çarşamba

Domain Controller Bilgisayar Hesabı Şifresi Nasıl Resetlenir

Domain Controller Bilgisayar Hesabı Şifresi Nasıl Resetlenir...
Bir windows tabanlı bilgisayarı etki alanına (domain) kattığınızda etki alanı veritabanında bu bilgisayar için bir hesap yaratılır. Aynı anda kimlik denetimi (authentication) güvenliğinin olması için bu hesap için bir de şifre (LSA Secret) oluşturulur. Bu şifre hem bilgisayar üzerinde hem de etki alanı veritabanında saklanır.

Güvenlik nedeni ile bu şifre, ait olduğu bilgisayar tarafından belli aralıklar ile değiştirilir. Varsayılan olarak bu süre 30 gündür. Bilgisayar, şifre geçmişinde (password history) geçerli şifreyi ve bir önceki şifreyi tutar. Bilgisayar şifreyi değiştirdiğinde, sunucu veya diğer etki alanı bilgisayarı ile kimlik denetimi yaparken sunucu bu değişikliği henüz algılamadığı için bir önceki şifreyi kullanır ve kimlik denetimi başarılı bir şekilde yapılır. İşlemler sonrasında da şifre değişikliği sunucuya aktarılır.


Eğer bilgisayar etki alanına dahil olduğu halde kimlik denetimini başarıyla yapamıyorsa bu şifre ile ilgili sorun olabilir. Sorun bu bilgisayarın 2 şifre değişikliği süresince senkronize olamamasından veya bu bilgisayar üzerine eski bir system state yedekten geri dönüş yapmış olmanızdan kaynaklanabilir. Yani sorun etki alanında saklanan şifreler ile yerel bilgisayar üzerindeki şifrelerin aynı olmamasından kaynaklanmaktadır. Böyle bir durumda aşağıdaki belirtilerden bir kaçı oluşabilir.


• Bilgisayara etki alanı kullanıcısı ile logon olamazsınız.
• Etki alanındaki bilgisayarlardan, command prompt’da Net view \\bilgisayaradi komutunu çalıştırdığınıca Access is denied mesajı alırsınız.

• Sorunlu bilgisayar bir etki alanı sunucusu (domain controller) ise (system state restore sonrası bu sorun yaşanabilir), veritabanının bir kopyasını taşıdığı için sunucuya etki alanı kullanıcısı ile oturum açabilirsiniz (logon). Fakat diğer etki alanı sunucuları (DC) ile replikasyon yapamayacaktır, kullanıcılar bu sunucu üzerinden kimlik denetimi yapamayacaklardır.


Peki ama bu sorunu ne şekilde çözülebilir?
Bu sorunu bilgisayarı domainden çıkarıp tekrar dahil ederek çözebilirsiniz. Fakat bu çözümü, sorunlu makine etki alanı sunucusu (DC) ise yapamazsınız. Etki alanı sunucusunun ayağa kaldırılmasında veya etki alanındaki bilgisayar hesabının değişmesini istemediğiniz durumlarda bilgisayar hesabını resetleyerek sorunu kolayca çözebilirsiniz.


Bilgisayar şifresini resetlemek için Netdom.exe’yi kullanacağız. Netdom.exe şifreyi yerel bilgisayar üzerinde ve etki alanı veritabanında aynı anda resetler. Dolayısıyla bundan sonra kimlik denetimde her iki tarafın bildiği bu şifre kullanılacaktır. Netdom.exe ile uzak makinenin şifresini resetleyemezsiniz, makine üzerinde çalıştırmanız gerekmektedir.


1. Şifresini resetlemek istediğiniz bilgisayar üzerine Windows Support Tools kurunuz.


2. Eğer bu makine Etki alanı sunucusu ise KDC (Key distribution center service) servisini durdurup, başlangıç tipini manuel konuma alın. 3. adım sonrasında başlatıp tekrar Automatic olarak ayarlayın.

3. Command Prompt’u çalıştırın ve aşağıdaki komutu yazın.

netdom resetpwd /server:Replication_Partner_Server_Name /userd:domainname\administrator_id /passwordd:*

Replication_Partner_Server_Name: PDC makinenin ismini girin.


* : Şifreyi gizli olarak girmenizi sağlar.


4. Bilgisayarı yeniden başlatın.