採用Delphi
回答
您可以使用JEDI Headers中聲明的NetUserAdd和NetUserSetGroups函數。
看到這個簡單的例子。
program ProjectAddNewUser;
{$APPTYPE CONSOLE}
uses
JclWin32,//Jedi Library
Windows,
SysUtils;
function CreateWinUser(const wServer, wUsername, wPassword, wGroup:WideString): Boolean;
var
Buf : USER_INFO_2;//Buf for the new user info
Err : NET_API_STATUS;
ParmErr : DWORD;
GrpUsrInfo: USER_INFO_0;//Buf for the group
wDummyStr : WideString;
begin
wDummyStr:='';
FillChar (Buf, SizeOf(USER_INFO_2), 0);
with Buf do
begin
usri2_name := PWideChar(wUsername);
usri2_full_name := PWideChar(wUsername);//You can add a more descriptive name here
usri2_password := PWideChar(wPassword);
usri2_comment := PWideChar(wDummyStr);
usri2_priv := USER_PRIV_USER;
usri2_flags := UF_SCRIPT OR UF_DONT_EXPIRE_PASSWD;
usri2_script_path := PWideChar(wDummyStr);
usri2_home_dir := PWideChar(wDummyStr);
usri2_acct_expires:= TIMEQ_FOREVER;
end;
GrpUsrInfo.usri0_name:=PWideChar(wGroup);
Err := NetUserAdd(PWideChar(wServer), 1, @Buf, @ParmErr);
Result := (Err = NERR_SUCCESS);
if Result then //NOw you must set the group for the new user
begin
Err := NetUserSetGroups(PWideChar(wServer),PWideChar(wGroup),0,@GrpUsrInfo,1);
Result := (Err = NERR_SUCCESS);
end;
end;
begin
if CreateWinUser('localhost', 'MyNewUser','ThePassword','MyWindowsGroup') then
Writeln('Ok')
else
Writeln('False');
Readln;
end.
非常感謝我的朋友 – Wel 2010-03-15 19:25:34
@RRUZ:我試着這個代碼,但它在NetUserSetGroups上出現錯誤2220(組名無法找到)失敗。我正嘗試使用「管理員」組創建用戶。 – 2012-11-07 12:12:09
爲了使它與本地'Administrators'組一起工作,我必須更改三行代碼。 'GrpUserInfo:USER_INFO_0'成爲'LOCALGROUP_MEMBERS_INFO_3'。 'GrpUserInfo.usri0_name:= PWideChar(wGroup)'變成'GrpUsrInfo.lgrmi3_domainandname:= PWideChar(wUsername)'。和'Err:= NetUserSetGroups(PWideChar(wServer),PWideChar(wGroup),0,@ GrpUsrInfo,1)'成爲'Err:= NetLocalGroupAddMembers(PWideChar(wServer),PWideChar(wGroup),3,@GrpUsrInfo,1)' 。 – 2014-03-23 08:30:32
創建新的Windows用戶以管理員身份我覺得API調用你需要的是NetUserAdd。
首先,檢查Delphi是否爲此調用提供包裝。如果沒有,你必須自己寫。如果您不知道如何使用Delphi進行Windows API調用,那麼您需要做更多的研究。
+1,我找不到它。我有一種感覺,德爾福可以直接調用這些函數,假設它們符合正確的調用約定...就像我不知道。 – 2010-03-15 01:35:25
- 1. 創建採用Delphi
- 2. 尋求採用Delphi
- 3. 繪圖應用程序MAINMENU採用Delphi
- 4. 獲取採用Delphi東京10.2
- 5. 如何使用功能SQLGetPrivateProfileString從ODBCCP32.DLL,採用Delphi
- 6. 如何調用與where子句MySQL存儲過程中採用Delphi 7 ADO
- 7. 用Delphi
- 8. 用Delphi
- 9. 如何創建「新」功能,採用Delphi XSD數據綁定向導
- 10. Delphi中使用
- 11. 用Delphi 7
- 12. 枚舉用delphi
- 13. 如何用Delphi
- 14. 如何用delphi
- 15. EOleException用delphi
- 16. 確定用delphi
- 17. 使用動態採樣計數對採樣進行採樣
- 18. 採用了android
- 19. 採用POI 3.16
- 20. 採用Socket
- 21. AVL樹採用
- 22. 採用div類
- 23. XQuery採用者
- 24. 採用Android MediaRecorder
- 25. 採用NSIS nsisdl
- 26. 採用visual basic
- 27. 採用Android
- 28. 採用Android 4.4.4
- 29. 採用滑蓋
- 30. 採用NSIS
或命令行實用工具,可以做到這一點 由於使用net用戶 – Wel 2010-03-15 01:21:01
解決,但如果有任何其他解決方案PLZ發佈 感謝 – Wel 2010-03-15 01:50:17