May 25

Kısıtlı kullanıcıların sabit bir dizinde bulunan uygulamayı tam yetkileri ile kullanabilmeleri için group policy ile script/batch file oluşturalım.
isterseniz Group Policy üzerinde Computer Configuration / Windows Settings / Security Settings /  File System altındanda düzenleyebilirsiniz. Anlatım script yönetmi üzerine.

Kullanacağımız komut cacls (vista ile daha gelişmiş icacls komutu mevcut ama bizim istemcilerimiz xp ve cacls komutunu vista üzerinde de kullanabiliriz)

Parametreler:
parametrelere cacls /? yazarak ulaşabilirsiniz.
/t ACL listemizin alt dizin/dosyalara da etki etmesini sağlar
/e değiştirme yapmamızı sağlar. (bunu kullanmazsak mevcut ACL bilgileri silinir yeni yetkiler aktarılır
/p mevcut olan yetkileri değiştirmek için
/r kullanıcıyı acl listesinden silmek için
/c hata oluşsa bile devam etmesi için
/d kullanıcı erişimini engellemek için
yetkiler:
R Oku
W Yaz
C Değiştir (yaz)
F Tam denetim

Örnekler
CMD /c Echo E| komutunu başa yazarak bize onay sormasını engelliyoruz.(Ingilizce olan işletim sistemleri için E yerine Y koymamız gerekiyor. Bunları ayırt etmemize gerek yok hem E hemde Y olan satırları peş peşe çalıştırırsanız bir tanesi geçerli olacaktır.)

CMD /c Echo E| cacls c:\test /t /c /g Administrators:F system:f users:r musti:f
Üstteki örnekte c:\test klasörü ve alt klasörlerindeki tüm yetkiler silinip administrators,system gruplarına tam yetki users grubuna ise okuma yetkisi veriyoruz.

CMD /c Echo E| cacls c:\test /e /t /r users
Bu örnekte ise mevcut acl listemizden sadece users grubuna verdiğimiz yetkileri siliyoruz

CMD /c Echo E| cacls c:\test /t /e /p users:r musti:f
mevcut acl üzerindeki yetkileri users grubuna sadece okuma musti kullanıcısına tam yetki verdik.

CMD /c Echo E| cacls c:\test /e /d musti
musti isimli kullanıcının dizine erişimini engelliyoruz

Bu kodları bat dosyası içerisine yazabileceğimiz gibi vbs üzerine de ekleyebiliriz.
Örnek vbs dosyamız.

Option Explicit
Dim klasor
Dim intRunError, objShell, objFSO
klasor = "c:\test"
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(klasor) Then
intRunError = objShell.Run("CMD /c Echo E| cacls " & klasor & " /t /c /g Administrators:F ", 2, True)
If intRunError <> 0 Then
Wscript.Echo klasor & " Klasörünün izinleri değiştirilirken hata ile karşılaşıldı."
End If
End If
WScript.Quit

May 4

Scriptimiz çalıştırıldığı bilgisayarın envanterini çıkartarak, paylaşıma koyduğumuz mdb dosyası üzerine kayıtı yazıyor. Veritabanına yazdıktan sonra C: dizini altına env.txt isimli dosya oluşturuyor. Aynı bilgisayarda tekrar çalışmaması için ise env.txt dosyasının varlığını kontrol ediyor dosya varsa eğer envanteri çıkartmadan çıkıyor.

Active Directory üzerinden logon script olarak uygulayıp envanter bilgisi toplayabiliriz.

Envanter içeriği,
Network kartları ve ip,dns,gateway,subnetleri.
cdrom, fiziksel disk sürücüler ve partition yapilari, bilgisayara takılı olan ramler vb

'==========================================================================
'
' notsayfam.com
'
'==========================================================================


Option Explicit
dim envanter

envanter = "c:\env.txt"
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Dim iCursorType        ' The Cursor Type for the Recordset
Dim iLockType        ' The Lock Type for the Recordset

Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

' c:\env.txt dosyasi mevcut degilse envanter cikarilmasini sagliyoruz
if not fso.FileExists(envanter) then

Dim output
Dim wmiService
Dim bilgiler

Dim hostname
Dim islemci
Dim islemcifiziksel
Dim islemcicekirdek

Yazının tamamını okumak için tıklayın…»



Bu site en iyi internet explorer 7 ve firefox üzerinde görüntülenebilir. Sitemap Mustafa KULLUKÇU
Powered by Wordpress.org     Wordpress tema