![](/img/trans.png)
[英]Alternative to BluetoothGetRadioInfo on Windows Server 2008 r2
[英]NetUserAdd failing when running on workgroup Windows Server 2008 R2
我正在嘗試使用網絡管理API將本地用戶添加到Windows。 在Windows 7(在域或工作組上)或Windows 2008 R2服務器上運行時,在域上時我沒有任何問題。 但是,如果我在不在域中的Windows Server 2008 R2上運行此命令,則會收到錯誤消息。 問題是返回的錯誤代碼為-1,而不是文檔中給定的錯誤之一
bool CLocalUsers::AddUser(LPCTSTR lpszUserName, LPCTSTR lpszPassword)
{
// Clear error code
m_dwLastError = 0;
USER_INFO_1 ui;
ui.usri1_name = (LPTSTR)(LPCTSTR)lpszUserName;
ui.usri1_priv = USER_PRIV_USER;
ui.usri1_home_dir = NULL;
ui.usri1_comment = NULL;
ui.usri1_flags = UF_SCRIPT | UF_DONT_EXPIRE_PASSWD;
ui.usri1_script_path = NULL;
// Point to a zero character password if null
if(lpszPassword == NULL)
{
lpszPassword = _T("");
ui.usri1_flags |= UF_PASSWD_NOTREQD;
}
ui.usri1_password = (LPTSTR)(LPCTSTR)lpszPassword;
// Add the user
NET_API_STATUS nStatus = ::NetUserAdd(NULL, 1, (LPBYTE)&ui, &m_dwLastError);
if(nStatus != NERR_Success)
{
// DEBUG ONLY
CString szErrorMsg;
szErrorMsg.Format(_T("Error code %d"), m_dwLastError);
::AfxMessageBox(szErrorMsg, MB_OK);
// DEBUG ONLY
return false;
}
return true;
}
它正在以管理員權限運行。 我可以毫無問題地調用其他網絡功能(NetUserGetInfo,NetLocalGroupAddMembers)。
我嘗試使用不同的密碼大小,但是可以使用Windows 2008附帶的服務器管理器工具來愉快地創建具有相同信息的相同帳戶。
謝謝
查看狀態代碼而不是m_dwLastError后,發現它是NERR_PasswordTooShort,因為在新的Windows 2008服務器上的最低密碼要求為8個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.