2012-03-09 16 views
5

मैं NetUserAdd API के साथ उपयोगकर्ता बना रहा हूं। यह सफलतापूर्वक लौटाता है, उपयोगकर्ता के पास उपयोगकर्ता फ़ोल्डर है और मैं उपयोगकर्ता नाम wmic useraccount get name देख सकता हूं। हालांकि, बनाया गया उपयोगकर्ता नियंत्रण कक्ष के नीचे दिखाई नहीं देता है, न ही लॉगऑन स्क्रीन पर। मुझे लगता है कि मुझे उपयोगकर्ता को कुछ समूह में जोड़ने की ज़रूरत है लेकिन मुझे नहीं पता कि कौन या कैसे।NetUserAdd() सफल, लेकिन उपयोगकर्ता "अदृश्य"

यहाँ कैसे मैं उपयोगकर्ता बनाने है:

USER_INFO_1 user_info; 
ZeroMemory(&user_info, sizeof(user_info)); 
user_info.usri1_name = userName; 
user_info.usri1_password = password; 
user_info.usri1_priv = USER_PRIV_USER; 
user_info.usri1_flags = UF_SCRIPT | UF_DONT_EXPIRE_PASSWD; 

DWORD dwLevel = 1; 
DWORD dwError = 0; 
NET_API_STATUS nStatus = NetUserAdd(NULL, dwLevel, (LPBYTE)&user_info, &dwError); 

मैं कैसे उपयोगकर्ता लॉगऑन स्क्रीन पर दिखाई कर सकते हैं?

+1

क्या आपका मतलब इस तरह से कुछ है http://stackoverflow.com/q/93771/960757? – TLama

+0

दुर्भाग्य से काम नहीं किया। –

+0

इसके अलावा, अन्य उपयोगकर्ताओं में से कोई भी वहां प्रविष्टि नहीं था, इसलिए एक और तरीका होना चाहिए। –

उत्तर

2

उपयोगकर्ता स्वागत स्क्रीन पर नहीं दिख रहा था क्योंकि यह उपयोगकर्ता समूह में नहीं जोड़ा गया था। ऐसा करने के लिए यह है:

LOCALGROUP_MEMBERS_INFO_3 lmi3; 
ZeroMemory(&lmi3, sizeof lmi3); 
lmi3.lgrmi3_domainandname = user_info.usri1_name; 
DWORD err = NetLocalGroupAddMembers(NULL, L"Users", 3, (LPBYTE) &lmi3, 1); 
6

आपने उपयोगकर्ता बनाया है लेकिन आपको इसे NetLocalGroupAddMembers का उपयोग करके उपयोगकर्ता समूह में जोड़ने की आवश्यकता है।

संपादित करें: बस एहसास हुआ कि मैं .NET के लिए विधि प्रदान कर रहा था। C++ के लिए यह example देखें।

+0

तो समूह "उपयोगकर्ता" कहलाता है? और नहीं, मुझे पी/आवेदक की आवश्यकता नहीं है, टैग देखें :) –

+0

हां, बिल्टिन \ उपयोगकर्ता। मैंने अभी अपना जवाब संपादित कर लिया है। –

+0

हां, प्रयास के लिए धन्यवाद। कृपया धैर्य रखें, मैं सप्ताहांत में काम नहीं कर रहा हूं :)। जब मैंने इसे सोमवार को चेक किया तो मैं आपके पास वापस आऊंगा। –

संबंधित मुद्दे