-
ساخت یوزر
سلام عزیزان. من تازه کارم! چند تا برنامه باید بنویسم هرچی ور میرم نمیشه! میخوام یه یوزر بسازم با اسم و پسورد معلوم توی ویندوز، که Administrator باشه (که یکی از انواع یوزر ها توی ویندوزه) ممنون میشم اگه کسی بهم کمک کنه برنامشو یا کدشو یا آموزششو یا حتی تابعشو بذاره.
راستی یه توضیحی هم راجه به تبدیل یه رشته به کدهای اسکی و کد این کار هم بدین ممنون میشم.
خیلی ممنون.:10:
-
سلام.
باید از API ها کمک بگیری. NetUserAdd برات یوزر میسازه و NetLocalGroupAddMembers تو گروه ادمین ها اضافش میکنه.
-
کاملا با آقا پیمان موافقم!:10:
-
سلام
اون وقت واسه من ناوارد چطوری در میاد؟:8:چون من از توابع Api آماده استفاده کردم و جدا بلد نیستم. میخوام برنامم یه یوزر نیم یه پسورد و ادمین یا غیر ادمین رو بگیره و یوزر رو بسازه. ممنون میشم کمکم کنید.:46:
-
سلام.
کد:
Option Explicit
'Account
Private Declare Function NetUserAdd Lib "Netapi32" (ByVal ServerName As Long, ByVal Level As Long, buf As Any, Parm_Err As Long) As Long
Private Declare Function NetLocalGroupAddMembers Lib "Netapi32" (ByVal ServerName As Long, ByVal GroupName As Long, ByVal Level As Long, buf As Any, ByVal TotalEntries As Long) As Long
Private Const USER_PRIV_USER = 1
Private Const UF_SCRIPT = &H1
Private Const UF_ACCOUNTDISABLE = &H2
Private Const UF_NORMAL_ACCOUNT = &H200
Private Const UF_LOCKOUT = &H10
Private Const TIMEQ_FOREVER = -1
Private Const ERROR_INVALID_SERVICE_ACCOUNT As Long = 1057&
Private Const ERROR_INVALID_GROUPNAME As Long = 1209&
Private Type USER_INFO_3
' Level 0 starts here
Name As Long
' Level 1 starts here
Password As Long
PasswordAge As Long
Privilege As Long
HomeDir As Long
Comment As Long
Flags As Long
ScriptPath As Long
' Level 2 starts here
AuthFlags As Long
FullName As Long
UserComment As Long
Parms As Long
Workstations As Long
LastLogon As Long
LastLogoff As Long
AcctExpires As Long
MaxStorage As Long
UnitsPerWeek As Long
LogonHours As Long
BadPwCount As Long
NumLogons As Long
LogonServer As Long
CountryCode As Long
CodePage As Long
' Level 3 starts here
UserID As Long
PrimaryGroupID As Long
Profile As Long
HomeDirDrive As Long
PasswordExpired As Long
End Type
Private Type LOCALGROUP_MEMBERS_INFO_3
lgrmi3_domainandname As Long
End Type
'Account
Private Function CreateUser(UserName As String, Password As String) As Long
Dim Buffer As USER_INFO_3
Dim rc As Long, Trap As Long
If Password = "" Then Password = Chr(0)
With Buffer 'USER_INFO_3
.Name = StrPtr(UserName)
.Password = StrPtr(Password)
.Privilege = USER_PRIV_USER
.Flags = UF_NORMAL_ACCOUNT Or UF_SCRIPT Or UF_LOCKOUT
.FullName = StrPtr(UserName)
.AcctExpires = TIMEQ_FOREVER
End With
rc = NetUserAdd(0&, 2&, Buffer, Trap)
'0 Ok
'2202 NERR_BadUsername
'2224 NERR_UserExists
'2245 NERR_PasswordTooShort
'87 ERROR_INVALID_PARAMETER
'5 ERROR_ACCESS_DENIED
If rc = 2224 Then rc = 0
If rc = 0 Then CreateUser = 1 'Code return Ok
End Function
Private Function AddUserInGroup(UserName As String, GroupName As String) As Long
Dim Buffer As LOCALGROUP_MEMBERS_INFO_3
Dim rc As Long, iLastError As Long
If UserName = "" Then iLastError = ERROR_INVALID_SERVICE_ACCOUNT: Exit Function
If GroupName = "" Then iLastError = ERROR_INVALID_GROUPNAME: Exit Function
If Len(UserName) > 20 Then iLastError = ERROR_INVALID_SERVICE_ACCOUNT: Exit Function '20 caractères maximum
Buffer.lgrmi3_domainandname = StrPtr(UserName)
rc = NetLocalGroupAddMembers(0&, StrPtr(GroupName), 3&, Buffer, 1)
If rc = 1378 Then rc = 0
'1387 ERROR_NO_SUCH_MEMBER
'1378 ERROR_MEMBER_IN_ALIAS
'5 ERROR_ACCESS_DENIED
'Code return Ok
If rc = 1378 Then rc = 0
If rc = 0 Then AddUserInGroup = 1
End Function
-
:40::40::40:
سلام آقا پیمان عزیز.
شما که زحمت کشیدید و کد را گذاشته اید، یک زحمت دیگر هم بکشید و یک توضیحی هم درباره کد بدهید.
با تشکر.
:11::11::11:
-
بزار ببينيم اين دوست ما كدش جواب ميده يا نه اما اگه بنشد بيا پيش من !
من امسال خيلي خسيس شدم - پولكي شدم - اما در عوضش چيزي كه مي خواي بهت مي دم امتحانش ضرر نداره !