Forum
Arkadaşlar merhaba,
Networkteki makinelerde oluşturulan local admin hesaplarının, bir gpo yada 3rd party bir program ile sürekli değişmesini ve büyük küçük harf oluşturacak şekilde kombinasyon oluşturmasını istiyorum. Bunu genellikle bankalar kullanıyor. Makine her açılışta local admin password ü örnek olarak: "A23eR5gJK" gibi değişebiliyor. Aradım ama bulmak nasip olmadı. Acaba böyle bir programı bileniniz var mı? Hatta bu parolaları, başka bir makinede monitör de edebiliyor ve tüm makinelerin local admin parolalarını merkezi bir yerden görebiliyorsunuz. (Script ler ile olsun istemiyorum. Ben tüm makinelerde parolalar ayrı ve rastgele atılsın istiyorum)
Şimdiden teşekkür ederim.
Script istememişsin ama istediğini bulamazsan işine yarar.
''''''''''''''''''''''''''''''''''''''''''''''''''''
' '
' Mail göndermek için '
' gerekli sabit ve değişkenleri tanımlayalım. '
' '
''''''''''''''''''''''''''''''''''''''''''''''''''''
Const ADMIN_EMAIL = "yö[email protected]"
Const SMTP_SERVER = "smtp_sunucumuz"
Const SMTP_PORT = 25
Const USE_AUTHENTICATION = False
Const SMTP_USER = "smtp_kullanıcı_adımız"
Const SMTP_PASS = "parolamız"
Const SMTP_SSL = False
Const ENABLE_DEBUGGING = False
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
LocalAdminAdi="admin"
RastgeleParola=Rastgele (7, 14)
dteTime = FormatDateTime(Time(),4)
dteDate = FormatDateTime(Date(),1)
LocalAdminVarmi=False
For Each objUser In colAccounts
If lcase(objUser.Name)=lcase(LocalAdminAdi) Then
LocalAdminVarmi=True
Else
Set objUser = GetObject("WinNT://" & strComputer & "/" & objUser.Name)
objUser.AccountDisabled = True
objUser.SetInfo
End If
Next
strMessage="<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" /></head><body>" _
& "<b>" & strComputer & "</b> bilgisayarindan <b>" & AccountName & "</b> kullanici adi ile sisteme giris yapildi. Detaylar asagidaki sekildedir. :<br><br>" _
& "Oturum acma tarihi: " & dteDate & "<br>" _
& "Oturum acma saati: " & dteTime & "<br>" _
& "IP Adresi: " & LAN_IP & "<br>" _
If LocalAdminVarmi=False Then
result = CreateUser (LocalAdminAdi, RastgeleParola)
strMessage = strMessage & "<b>" & LocalAdminAdi & "</b> kullanicisi yoktu. Biz onu olusturduk ve ona <b>" & RastgeleParola & "</b> parolasini atadik."
Else
Set objUser = GetObject("WinNT://" & strComputer & "/" & LocalAdminAdi & ", user")
objUser.SetPassword RastgeleParola
objUser.SetInfo
strMessage = strMessage & "<b>" & LocalAdminAdi & "</b> kullanicisi vardi. Biz ona <b>" & RastgeleParola & "</b> parolasini atadik."
End If
On Error Resume Next
result = MemberOfAdmin(LocalAdminAdi)
strMessage = strMessage & "</body></html>"
SendMail(strMessage)
Set colAccounts=Nothing
Set objNetwork=Nothing
Set objUser=Nothing
Function CreateUser(Username, Password)
Set objNet = WScript.CreateObject( "WScript.Network" )
strComputer = objNet.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", Username)
objUser.SetPassword Password
objUser.SetInfo
End Function
Function MemberOfAdmin (Username)
Set objNet = WScript.CreateObject( "WScript.Network" )
strComputer = objNet.ComputerName
Set objLocalUser = GetObject("WinNT://" & strComputer & "/" & Username)
Set objLocalAdmGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
objLocalAdmGroup.Add(objLocalUser.AdsPath)
End Function
Function Rastgele (intLowerLimit, intUpperLimit)
Randomize
intCharacters = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) + intUpperLimit)
intUpperLimit = 126
intLowerLimit = 33
For i = 1 to intCharacters
Randomize
intASCIIValue = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) + intLowerLimit)
strPassword = strPassword & Chr(intASCIIValue)
Next
Rastgele=strPassword
End Function
Function SendMail(strBody)
Set objEmail = CreateObject("CDO.Message")
With objEmail
.From = ADMIN_EMAIL
.To = ADMIN_EMAIL
.Subject = "Local Kullanici Parola Islemleri"
.HTMLBody = strBody
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP_SERVER
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTP_PORT
If USE_AUTHENTICATION Then
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = SMTP_USER
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SMTP_PASS
End If
If SMTP_SSL Then
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End If
.Configuration.Fields.Update
On Error Resume Next
Err.Clear
.Send
If Err.number <> 0 Then
SendMail = Err.Description
Else
SendMail = "Mail gönderirken herhangi bir hata oluşmadı."
End If
On Error Goto 0
End With
End Function
Function LAN_IP
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48)
For Each objItem In colItems
If Not IsNull(objItem.IPAddress) Then
LAN_IP = objItem.IPAddress(0)
Exit For
End If
Next
End Function
Function AccountName
Set WshNetwork = CreateObject("WScript.Network")
AccountName = WshNetwork.UserName
End Function
Bütün local kullanıcıları pasif hale getirip senin istediğin bir kullanıcı yok ise oluşturuyor. Var ise de parolasını değiştiriyor. Yaptığı işlemleri de sana mail olarak atıyor.
İlgin için çok teşekkkür ederim. Her ne kadar program arıyor olsam da yinede arşivimde bulunması bana yararlı olacaktır. Çözüm için teşekkürler.
Selam
Otomatik passwd üreten, uzaktan tüm makinelerin local adm. passwd'lerini değiştirebilen ve değiştirdiği passwd'leri size raporlayan bir araç:
http://www.absolutedynamics.com/cpwd/download.htm
Ben bu aracı hiç kullanmadım ama incelemenizi öneririm. Belki ihtiyacınızı karşılar.