Forum
Fortigate üzerinde Active Directory ile eşleştirme yaparken FSAE
yazılımının TÜRKÇE karakterli kullanıcı tanımlarında sorun çıkardığı bu
yüzden de kullanıcıların internet çıkışlarına izin vermediğini tespit
etmiştim.
Kullanıcı sayısının az olduğu sunucularda bu bilgileri manuel olarak
değiştirmek sorun olmayabilir ancak kullanıcı sayısı 100 ve üzerine
çıktığında çok zaman alacak bir işlem olacaktır.
Durum böyle olunca da; WSH script yapısı ile Active Directory de bulunan kullanıcıların isimlerindeki TÜRKÇE karakterleri kaldırarak İNGİLİZ alfabesine uygun hale getiren script kodunu yazdım.
Aşağıdaki kodları bir text editörüne alıp dosya ismini isimdegistir.vbs
olarak kaydettikten sonra scripti çalıştırmanız halinde program size
hangi OU üzerinde işlem yapacağınızı soracak ve o Organizasyon altındaki
tüm kullanıcı isimlerini otomatik olarak düzeltecektir.
Set oRoot = GetObject("LDAP://rootDSE")
objOU = InputBox ("Çalışmak istediğiniz OU bilgisini girin","www.sekercioglu.eu")
Set oDomain = GetObject("LDAP://ou=" & ObjOU & "," & oRoot.Get("defaultNamingContext"))
Set objRootDSE = GetObject("LDAP://rootDSE")
OU = "OU=" & objOU & "," & oRoot.Get("defaultNamingContext")
a=ModifyUsers (oDomain)
Set oDomain = Nothing 'oContainer değişkenini siliyor.
Wscript.echo a & " Kullanıcı bilgisi güncellendi"
Function ModifyUsers(oObject)
Dim oUser
oObject.Filter = Array("user")
For Each oUser in oObject
eski=oUser.get ("name")
yeni=cevir(oUser.get ("name"))
oDomain.MoveHere "LDAP://CN=" & eski & "," & OU, "cn=" & yeni
a=a+1
oUser.Put "st","SAMSUN"
oUser.Put "streetAddress","Hançerli Mh. Abbasağa SK. No:8"
oUser.Put "postalCode","55020"
oUser.Put "l","ILKADIM"
oUser.SetInfo
Next
ModifyUsers=a
End Function
function cevir(veri)
dim txt
for q=1 to Len(veri)
a=mid(veri,q,1)
if a="Ş" then a="S"
if a="ş" then a="s"
if a="İ" then a="I"
if a="ı" then a="i"
if a="Ğ" then a="G"
if a="ğ" then a="g"
if a="Ü" then a="U"
if a="ü" then a="u"
if a="Ö" then a="O"
if a="ö" then a="o"
if a="Ç" then a="C"
if a="ç" then a="c"
txt=txt & a
next
cevir=txt
txt=""
end function
Bilgilendirme için Teşekkürler [Y]
Faydalı bir bilgi. Teşekkürler.