On 04/01/2010 17:06, Wade Dyck wrote:
[...]

At this point I want to use Win32_Process.create() to xcopy some files from
a third server, so I switch to delegation since impersonate won't allow
access to network resources:

     remote = wmi.connect_server(server=self.server, user=r"%s\%s"
             % (self.domain, self.user), password=self.password,
             impersonation_level="delegate")
     self.c = wmi.WMI(wmi=remote)

But then when I try to create the process using:

     pid, res = self.c.Win32_Process.Create('cmd.exe /c xcopy %s %s \
                     /s /e /i /y /c /q' % (src, dest))

As a tiny aside here, I suspect that: (a) you don't need the cmd.exe
to run xcopy: it's actually an executable; and (b) you might to
double-quote the %s params to xcopy. Neither of these things are
going to be causing the error you report, but just to be helpful...



I get the following exception:

AttributeError: '<win32com.gen_py.Microsoft WMI Scripting V1.2
Library.ISWbemSer
vices instance at 0x12790040>' object has no attribute 'Win32_Process'

However, this works fine if I don't set the userAccountControl attribute
above using adsi. It also seems specific to actually setting the attribute,
as the code is always using adsi to get DNs and the current value of
userAccountControl.

It is peculiar, assuming you are running exactly the same code, only
with AD setting switched as you describe. ie there's no possibility
that self.c has become something other than a WMI instance?

I'll try to look it at it when I get back to work (which won't be
till Monday now; I'm just back from a week away). If you manage
to fix it in the meantime, please do post back.

TJG
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to