473,385 Members | 1,536 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

how to create a new user in windows platform using python?

6
please give me a hand, anything about this topic is welcome.
thanks
Jul 24 '07 #1
6 15900
bartonc
6,596 Expert 4TB
please give me a hand, anything about this topic is welcome.
thanks
Expand|Select|Wrap|Line Numbers
  1. win32net.NetGroupAddMembers(server, group, level, members_data)
This is purposefully cryptic. You'll need to study the Win32 package and ensure that you know what you are doing with Windows sys/admin.

The thing is: I don't want to tell you something and have you break you machine.
Jul 24 '07 #2
bartonc
6,596 Expert 4TB
Expand|Select|Wrap|Line Numbers
  1. win32net.NetGroupAddMembers(server, group, level, members_data)
This is purposefully cryptic. You'll need to study the Win32 package and ensure that you know what you are doing with Windows sys/admin.

The thing is: I don't want to tell you something and have you break you machine.
I can provide the missing information given a little background and more details of your environment. i.e. local machine vs domain, NT variant, etc.
Jul 24 '07 #3
pydou
6
I want to create user in win2k server, win 2k professional and win XP. if the user has already exists, I also need to be able to check and change its password.

now i want to change the IP related settings, could you please give me a function list or code sample?

thanks a lot
Jul 25 '07 #4
bartonc
6,596 Expert 4TB
I want to create user in win2k server, win 2k professional and win XP. if the user has already exists, I also need to be able to check and change its password.

now i want to change the IP related settings, could you please give me a function list or code sample?

thanks a lot
From Python Programming on Win32 By Mark Hammond and Andy Robinson © 2000
Expand|Select|Wrap|Line Numbers
  1. # BatchUserCreate.py
  2. #
  3. # A sample administrative script to perform a batch 
  4. # creation of many users.
  5.  
  6. # Input to this program is a text file with one user per 
  7. # line.  Each line contains the new username and the
  8. # user's full name.
  9.  
  10. # Creates the new user, and a new share on the server 
  11. # for the user.  The new share is secure, and can only 
  12. # be accessed by the new user.
  13. import win32security, win32net, win32file, win32api
  14. import win32netcon, ntsecuritycon
  15. import os, sys, string
  16.  
  17. # The name of the server to use to create the user.
  18. serverName = None
  19.  
  20. # The logic for naming the home_drive assumes we have
  21. # a server name.  If we dont, get the current machine name.
  22. if serverName is None:
  23.     serverName = "\\\\" + win32api.GetComputerName()
  24.  
  25. # The root of each users personal directory.
  26. # This is a local reference to the directory where each 
  27. # personal directory is created.
  28. homeRoot = "C:\\Users"
  29.  
  30. def CreateUserAndShare(userName, fullName):
  31.     homeDir = "%s\\%s" % (serverName, userName)
  32.     # Create user data in information level 3 (PyUSER_INFO_3) format.
  33.     userData = {}
  34.     userData['name'] = userName
  35.     userData['full_name'] = fullName
  36.     userData['password'] = userName
  37.     userData['flags'] = win32netcon.UF_NORMAL_ACCOUNT | win32netcon.UF_SCRIPT
  38.     userData['priv'] = win32netcon.USER_PRIV_USER
  39.     userData['home_dir'] = homeDir
  40.     userData['home_dir_drive'] = "P:"
  41.     userData['primary_group_id'] = ntsecuritycon.DOMAIN_GROUP_RID_USERS
  42.     userData['password_expired'] = 1 # User must change password next logon.
  43.  
  44.     # Create the user
  45.     win32net.NetUserAdd(serverName, 3, userData)
  46.  
  47.     # Create the new directory, then the share
  48.     dirName = os.path.join(homeRoot, userName)
  49.     os.mkdir(dirName)
  50.     shareData = {}
  51.     shareData['netname'] = userName
  52.     shareData['type'] = win32netcon.STYPE_DISKTREE
  53.     shareData['path'] = dirName
  54.     shareData['max_uses'] = -1
  55.     # The security setting for the share.
  56.     sd = CreateUserSecurityDescriptor(userName)
  57.     shareData['security_descriptor'] = sd
  58.     # And finally create it.
  59.     win32net.NetShareAdd(serverName, 502, shareData)
  60.  
  61. # A utility function that creates an NT security object for a user.
  62. def CreateUserSecurityDescriptor(userName):
  63.     sidUser = win32security.LookupAccountName(serverName, userName)[0]
  64.     sd = win32security.SECURITY_DESCRIPTOR()
  65.  
  66.     # Create the "well known" SID for the administrators group
  67.     subAuths = ntsecuritycon.SECURITY_BUILTIN_DOMAIN_RID, \
  68.                ntsecuritycon.DOMAIN_ALIAS_RID_ADMINS
  69.     sidAdmins = win32security.SID(ntsecuritycon.SECURITY_NT_AUTHORITY, subAuths)
  70.  
  71.     # Now set the ACL, giving user and admin full access.
  72.     acl = win32security.ACL(128)
  73.     acl.AddAccessAllowedAce(win32file.FILE_ALL_ACCESS, sidUser)
  74.     acl.AddAccessAllowedAce(win32file.FILE_ALL_ACCESS, sidAdmins)
  75.  
  76.     sd.SetSecurityDescriptorDacl(1, acl, 0)
  77.     return sd
  78.  
  79. # Debug helper to delete our test accounts and shares.
  80. def DeleteUser(name):
  81.     try:    win32net.NetUserDel(serverName, name)
  82.     except win32net.error: pass
  83.  
  84.     try: win32net.NetShareDel(serverName, name)
  85.     except win32net.error: pass
  86.  
  87.     try: os.rmdir(os.path.join(homeRoot, name))
  88.     except os.error: pass
  89.  
  90. if __name__=='__main__':
  91.     import fileinput # Helper for reading files line by line
  92.     if len(sys.argv)<2:
  93.         print "You must specify an options file"
  94.         sys.exit(1)
  95.     if sys.argv[1]=="-delete":
  96.         for line in fileinput.input(sys.argv[2:]):
  97.             DeleteUser(string.split(line,",")[0])
  98.     else:
  99.         for line in fileinput.input(sys.argv[1:]):
  100.             userName, fullName = string.split(string.strip(line), ",")
  101.             CreateUserAndShare(userName, fullName)
  102.             print "Created", userName
  103.  
For further support on this, you'll need to buy the book.
Jul 27 '07 #5
pydou
6
thanks. very useful for my task.
Aug 8 '07 #6
bartonc
6,596 Expert 4TB
thanks. very useful for my task.
You are welcome. I'm glad to know that you received the material.
Aug 8 '07 #7

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: David Isal | last post by:
hi all, i'm new to python and i'm trying to build a python extension on win98, written in c++, with cygwin. but i keep having the same error message, and i didnt't find much resources on the web...
2
by: Bernhard Mulder | last post by:
I am using Python on Itanium Windows 64 (Server 2003) with a Win32 version. Is there a native version available or planned? Are testers needed for this platform? Windows 64 is a bit unusual in...
3
by: Ryan Smith | last post by:
Hello All, I am new to the list and python community as well. I was wondering if anyone knows of any good python books emphasizing Windows 2000? I am a network engineer in an Active Directory...
9
by: Skip Montanaro | last post by:
I'd like to package up my typing watcher script in a bundled form (no separate Python install required) for use on Windows. (Un)fortunately, I don't have access to a Windows computer. Do any of...
35
by: Michael Kearns | last post by:
I've been using python to write a simple 'launcher' for one of our Java applications for quite a while now. I recently updated it to use python 2.4, and all seemed well. Today, one of my...
1
by: abcd | last post by:
I am using Python to create a process on another computer. Both computers are on the same domain with admin privileges. On computer B I have a batch script which starts a python script. From...
8
by: bhochstetler | last post by:
I am needing to build python 2.5 on Windows XP x64 Windows Server 2003 sp1 Platform SDK and am not finding anything documented on the process to use. Has anyone had any success with this? If so has...
2
by: p.lavarre | last post by:
Let's suppose you get Python for Vista Windows today from http://www.python.org/download/. Should you then conclude that the tests: if platform.system() in ('Windows', 'Microsoft'): if not...
4
by: Joshua Kugler | last post by:
We've recently been doing some profiling on a project of ours. It runs quite fast on Linux but *really* bogs down on Windows 2003. We initially thought it was the simplejson libraries (we don't...
8
by: Theo v. Werkhoven | last post by:
hi, In this code I read out an instrument during a user determined period, and save the relative time of the sample (since the start of the test) and the readback value in a csv file. #v+...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.