Thursday, July 27, 2006

Agimizdaki sunucu veya istemcilerin ne zaman acildigini (reboot) ettigini ogrenmek icin asagidaki scripti olusturdum. Patch dagitimi sonrasinda veya tum sunucular icin belirli araliklar ile ne zaman reboot ettiklerini ogrenmek istiyorsaniz isinize yarabilir.

Tum sunucu isimlerini "sunucu" dizisine ekleyip, diziyi sunucu sayisi kadar genisletin. Daha sonra bu sayiyi kadar for dongusu kullanın. Sonuclar d:\boot_zamanlari.txt dosyasına yazilacaktir.

'///////////////////////////////////////////////
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oWshNet = CreateObject("WScript.Network")
Const OpenAsASCII = 0
Const OverwriteIfExist = -1
sOutFile = "d:\boot_zamanlari.txt"

On Error Resume Next
dim sunucu(10)
sunucu(1) = "DCMSHOWTO1"
sunucu(2) = "DCMSHOWTO2"
sunucu(3) = "DCMSHOWTO3"
sunucu(4) = "DCMSHOWTO4
sunucu(5) = "FSMSHOWTO1"
sunucu(6) = "FSMSHOWTO2"
sunucu(7) = "EXCMSHOWTO1"
sunucu(8) = "EXCMSHOWTO2"
sunucu(9) = "SQLMSHOWTO1"
sunucu(10) = "ISAMSHOWTO1"

i=1
for i=1 TO 10 step 1
strComputer = sunucu(i)

' Connect to specified computer
Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
' Display error number and description if applicable
If Err Then ShowError

Set colItems = objWMIService.ExecQuery( "Select * from Win32_OperatingSystem", , 48 )
For Each objItem in colItems
strTimeShift = Right( objItem.LastBootUpTime, 4 ) / 60
strBootYear = Left( objItem.LastBootUpTime, 4 )
strBootMonth = Mid( objItem.LastBootUpTime, 5, 2 )
strBootDay = Mid( objItem.LastBootUpTime, 7, 2 )
strBootDate = DateValue( strBootDay & "-" & strBootMonth & "-" & strBootYear )
strBootHour = Mid( objItem.LastBootUpTime, 9, 2 ) - strTimeShift
strBootMins = Mid( objItem.LastBootUpTime, 11, 2 )
If strBootHour < 0 Then
strBootHour = strBootHour + 24
strBootDate = DateAdd( "d", -1, DateValue( strBootDate ) )
End If
If strBootHour > 23 Then
strBootHour = strBootHour - 24
strBootDate = DateAdd( "d", 1, DateValue( strBootDate ) )
End If
strBootTime = strBootHour & ":" & strBootMins
strBoot = strBootDate & ", " & strBootTime
strMsg = "Last boot time of " & strComputer & ": " & strBoot
Next

' Display results
'WScript.Echo strMsg

Set fOutFile = oFSO.CreateTextFile _
(sOutFile, OverwriteIfExist, OpenAsASCII)
fOutFile.WriteLine strMsg

Next

fOutFile.Close

'Done
WScript.Quit(0)
'///////////////////////////////////////////////////////////////////

Wednesday, July 12, 2006

Kullanıcı home folder yetkilerinin düzenlenmesi

AD'de kullanıcılar için set edilmiş home folder yetkileri, kullanıcıların home folder üzerinde full kontrol hakkı olmasından dolayı, alt klasörlerde kullanıcı tarafından değiştirilebiliyor. Administrators ve System kullanıcılarının nesne üzerinde yetkisinin kaldırılması bazı yönetimsel sorunları doğuruyor.

Aşağıdaki script, homefolders klasöründeki her klasör için Administrators ve System kullancılarına Full kontrol hakkı verip, kullanıcının Full Control hakkını modify olarak değiştirmektedir.

Script'in çalışması için home folder'ın \\sunucu\share1\%username% olarak set edildigini varsayıyorum. Yani alt klasör isimleri ile domain kullanıcı adı aynı.

Linkten script'in zip halini indirebilirsiniz. Buraya koydugumda sayfa bozuldu. Link veriyorum. http://estetikplastikcerrahi.com/herkesekonut/yetkiduzenle.zip

Script için Subinacl'ye ihtiyacınız olacaktır. Resource kit içinde bulabilirsiniz.