Re: join a samba domain
On 22 déc, 19:37, Toff christophed...@gmail.com wrote: On 22 déc, 18:59, Jens Henrik Leonhard Jensen j...@statsbiblioteket.dk wrote: Toff wrote: d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) Shouldn't radmin\\mydom be admin\\mydom or radmin\mydom. Or maybe just admin /Jens Henrik you are right but i've got the same error. the more i look at my script the more i think it s a BUG. #ALL works great import wmi c = wmi.WMI() for computer in c.Win32_ComputerSystem(): if computer.PartOfDomain: print computer.Domain #DOMCD print computer.SystemStartupOptions # (u'Microsoft Windows XP Professionnel /noexecute=optin /fastdetect',) #error message computer.JoinDomainOrWorkGroup('DOMCD', 'adminLocal', 'admin\ \DOMCD',None,3 ) ## DOMCD (u'Microsoft Windows XP Professionnel /noexecute=optin / fastdetect',) Traceback (most recent call last): File integrdom.py, line 51, in module main() File integrdom.py, line 13, in main joindom() File integrdom.py, line 47, in joindom computer.JoinDomainOrWorkGroup('DOMCD', 'adminLocal', 'admin\ \DOMCD',None,3 ) File c:\Python25\Lib\site-packages\wmi.py, line 493, in __getattr__ handle_com_error (error_info) File c:\Python25\Lib\site-packages\wmi.py, line 189, in handle_com_error raise x_wmi, \n.join (exception_string) wmi.x_wmi -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Or maybe could I try with LoadLibrary(netapi32.dll); and the netjoindomain function ? but it doesn't look very easy -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Toff wrote: On 22 déc, 19:37, Toff christophed...@gmail.com wrote: On 22 déc, 18:59, Jens Henrik Leonhard Jensen j...@statsbiblioteket.dk wrote: Toff wrote: d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) Shouldn't radmin\\mydom be admin\\mydom or radmin\mydom. Or maybe just admin /Jens Henrik you are right but i've got the same error. the more i look at my script the more i think it s a BUG. #ALL works great import wmi c = wmi.WMI() for computer in c.Win32_ComputerSystem(): if computer.PartOfDomain: print computer.Domain #DOMCD print computer.SystemStartupOptions # (u'Microsoft Windows XP Professionnel /noexecute=optin /fastdetect',) #error message computer.JoinDomainOrWorkGroup('DOMCD', 'adminLocal', 'admin\ \DOMCD',None,3 ) Try: computer.JoinDomainOrWorkgroup (...) note the lowercase group TJG -- http://mail.python.org/mailman/listinfo/python-list
join a samba domain
hi, I 'm trying to write a script to make my computer join a samba. domeone have any idea ?? thanks regards, * # -*- coding: iso-8859-1 *-* import win32com.client import os,sys import win32api import impers import socket from win32com.client import GetObject import wmi def main(): test() joindom() def test(): import wmi c = wmi.WMI() os = c.Win32_ComputerSystem for method_name in os.methods: method = getattr(os, method_name) print method def joindom(): #Joining a computer to a domain #= JOIN_DOMAIN = 1 ACCT_CREATE = 2 ACCT_DELETE = 4 WIN9X_UPGRADE = 16 DOMAIN_JOIN_IF_JOINED = 32 JOIN_UNSECURE = 64 MACHINE_PASSWORD_PASSED = 128 DEFERRED_SPN_SET= 256 INSTALL_INVOCATION = 262144 strDomain = mydom strPassword = mydompw strUser = admin strComputer = socket.gethostname() print strComputer #objComputer = win32com.client.GetObject(rwinmgmts: {impersonationLevel=Impersonate}!\\mypc\root \cimv2:Win32_ComputerSystem.Name='mypc') import wmi c = wmi.WMI() d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) if __name__=='__main__': main() *** -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Toff wrote: hi, I 'm trying to write a script to make my computer join a samba. domeone have any idea ?? Ummm. It's not clear if you're saying that your code doesn't work, or asking for general advice, or what? I'm not in a position to have my machine join a domain or workgroup, but you seem to have got most things in place already. The only thing I would expect to have to change is this last line: import wmi c = wmi.WMI() d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) because the d is only a WMI *class*, not a WMI *instance*, so doesn't refer as it should to your computer system but to the class of computer systems. Try something like this (untested): code import wmi c = wmi.WMI () for d in c.Win32_ComputerSystem (): d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) /code TJG -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
On 22 déc, 17:02, Tim Golden m...@timgolden.me.uk wrote: Toff wrote: hi, I 'm trying to write a script to make my computer join a samba. domeone have any idea ?? Ummm. It's not clear if you're saying that your code doesn't work, or asking for general advice, or what? I'm not in a position to have my machine join a domain or workgroup, but you seem to have got most things in place already. The only thing I would expect to have to change is this last line: import wmi c = wmi.WMI() d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) because the d is only a WMI *class*, not a WMI *instance*, so doesn't refer as it should to your computer system but to the class of computer systems. Try something like this (untested): code import wmi c = wmi.WMI () for d in c.Win32_ComputerSystem (): d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) /code TJG thanks but it doesn't work I've got this errors Traceback (most recent call last): File integrdom.py, line 51, in module main() File integrdom.py, line 13, in main joindom() File integrdom.py, line 44, in joindom d.JoinDomainOrWorkGroup(None, 3, domcd, adminLocal, radmin \domcd) File c:\Python25\Lib\site-packages\wmi.py, line 493, in __getattr__ handle_com_error (error_info) File c:\Python25\Lib\site-packages\wmi.py, line 189, in handle_com_error raise x_wmi, \n.join (exception_string) wmi.x_wmi -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Toff wrote: On 22 déc, 17:02, Tim Golden m...@timgolden.me.uk wrote: Toff wrote: hi, I 'm trying to write a script to make my computer join a samba. domeone have any idea ?? Ummm. It's not clear if you're saying that your code doesn't work, or asking for general advice, or what? I'm not in a position to have my machine join a domain or workgroup, but you seem to have got most things in place already. The only thing I would expect to have to change is this last line: import wmi c = wmi.WMI() d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) because the d is only a WMI *class*, not a WMI *instance*, so doesn't refer as it should to your computer system but to the class of computer systems. Try something like this (untested): code import wmi c = wmi.WMI () for d in c.Win32_ComputerSystem (): d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) /code TJG thanks but it doesn't work I've got this errors Traceback (most recent call last): File integrdom.py, line 51, in module main() File integrdom.py, line 13, in main joindom() File integrdom.py, line 44, in joindom d.JoinDomainOrWorkGroup(None, 3, domcd, adminLocal, radmin \domcd) File c:\Python25\Lib\site-packages\wmi.py, line 493, in __getattr__ handle_com_error (error_info) File c:\Python25\Lib\site-packages\wmi.py, line 189, in handle_com_error raise x_wmi, \n.join (exception_string) wmi.x_wmi Do you not get *anything* after than wmi.x_wmi? Not even a messy exception string? TJG -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Hi! If you are under Vista, you must change the LSA parameter. See: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa LMCompatibilityLevel try with value 1 or 0 And use a Samba not too old. @-salutations -- Michel Claveau -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
On 22 déc, 17:57, Tim Golden m...@timgolden.me.uk wrote: Toff wrote: On 22 déc, 17:02, Tim Golden m...@timgolden.me.uk wrote: Toff wrote: hi, I 'm trying to write a script to make my computer join a samba. domeone have any idea ?? Ummm. It's not clear if you're saying that your code doesn't work, or asking for general advice, or what? I'm not in a position to have my machine join a domain or workgroup, but you seem to have got most things in place already. The only thing I would expect to have to change is this last line: import wmi c = wmi.WMI() d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) because the d is only a WMI *class*, not a WMI *instance*, so doesn't refer as it should to your computer system but to the class of computer systems. Try something like this (untested): code import wmi c = wmi.WMI () for d in c.Win32_ComputerSystem (): d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) /code TJG thanks but it doesn't work I've got this errors Traceback (most recent call last): File integrdom.py, line 51, in module main() File integrdom.py, line 13, in main joindom() File integrdom.py, line 44, in joindom d.JoinDomainOrWorkGroup(None, 3, domcd, adminLocal, radmin \domcd) File c:\Python25\Lib\site-packages\wmi.py, line 493, in __getattr__ handle_com_error (error_info) File c:\Python25\Lib\site-packages\wmi.py, line 189, in handle_com_error raise x_wmi, \n.join (exception_string) wmi.x_wmi Do you not get *anything* after than wmi.x_wmi? Not even a messy exception string? TJG no pessy string something strange: import wmi c = wmi.WMI() os = c.Win32_ComputerSystem for method_name in os.methods: method = getattr(os, method_name) print method it doesn't give the same parameter order for JoinDomainOrWorkGroup than MSDN doc -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
Toff wrote: d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) Shouldn't radmin\\mydom be admin\\mydom or radmin\mydom. Or maybe just admin /Jens Henrik -- http://mail.python.org/mailman/listinfo/python-list
Re: join a samba domain
On 22 déc, 18:59, Jens Henrik Leonhard Jensen j...@statsbiblioteket.dk wrote: Toff wrote: d = c.Win32_ComputerSystem d.JoinDomainOrWorkGroup(None, 3, mydom, mydompw, radmin\\mydom) Shouldn't radmin\\mydom be admin\\mydom or radmin\mydom. Or maybe just admin /Jens Henrik you are right but i've got the same error. -- http://mail.python.org/mailman/listinfo/python-list