PDA

View Full Version : چند سوال در مورد یوزرهای ویندوز Xp



Payman62
یک شنبه 17 دی 1385, 15:51 عصر
سلام.
چند تا سوال در مورد یوزر های ویندوز دارم. فقط قبلش بگم جوابمو از طریق برنامه نویسی و API ها بدید. با دستورات تحت داس خودم آشنایی کامل دارم.


1- چطور میشه تو ویندوز XP یه یوزر تعریف کرد.
2- چطور میشه یوزر لیمیت رو ادمین (و برعکس) کرد.
3- چطور میشه پسورد یه یوزر رو عوض کرد.
4- جطور میشه یوزر ساخته شده رو از صفحه welcome screen محخفی کرد. چون بعضی مواقع دیدم یوزر ساخته میشه ولی موقع بالا اومدن ویندوز نشونش نمیده.( اینو هم از طریق داس میخوام هم برنامه نویسی).

romina2006
دوشنبه 18 دی 1385, 15:33 عصر
جواب سوال 3 :


Private Declare Function NetUserChangePassword Lib "Netapi32.dll" (ComputerName As Any, User As Any, OldPass As Any, NewPass As Any) As Long
Private Const ERROR_ACCESS_DENIED = 5&
Private Const ERROR_INVALID_PASSWORD = 86&
Private Const NERR_InvalidComputer = 2351
Private Const NERR_NotPrimary = 2226
Private Const NERR_UserNotFound = 2221
Private Const NERR_PasswordTooShort = 2245
Private Const ERROR_CANT_ACCESS_DOMAIN_INFO = 1351

Function ChangeUserPassword(ByVal Server As String, ByVal User As String, ByVal OldPassword As String, ByVal NewPassword As String) As String
Dim r As Long, msg As String
Dim bComputer() As Byte: bComputer = GetByteArray(Server)
Dim bUser() As Byte: bUser = GetByteArray(User)
Dim bOldPassword() As Byte: bOldPassword = GetByteArray(OldPassword)
Dim bNewPassword() As Byte: bNewPassword = GetByteArray(NewPassword)
r = NetUserChangePassword(bComputer(0), bUser(0), bOldPassword(0), bNewPassword(0))
Select Case r
Case ERROR_ACCESS_DENIED: msg = "Error: Access denied."
Case ERROR_INVALID_PASSWORD: msg = "Error: Invalid password."
Case NERR_InvalidComputer: msg = "Fehler: Invalid Computer-/Domainname."
Case NERR_NotPrimary: msg = "Error: This operation can only performed on the primary domain controler."
Case NERR_UserNotFound: msg = "Error: User not found."
Case NERR_PasswordTooShort: msg = "Error: Password does not match Password-Restrictions. (Password to short, to long or has already been used by this user.)"
Case ERROR_CANT_ACCESS_DOMAIN_INFO
msg = "Error: Error accessing info for domain controler. Maybe the computer is not available or access was denied."
Case 0: msg = "Operation performed successfully."
Case Else: msg = "Error: Unexpected Error " & r & " occured."
End Select
ChangeUserPassword = msg
End Function

Private Function GetByteArray(ByVal str As String) As Byte()
Dim Buf() As Byte
Buf = str
ReDim Preserve Buf(Len(str) * 2 + 1)
GetByteArray = Buf
End Function

Private Sub ChangePassword_Click()
ChangeUserPassword "ComputerName", "UserName", "OldPassword", "NewPassword"
End Sub


برای تعریف کردن و مخفی کردن یوزر می تونی از رجیستری استفاده کنی