[python-win32] Connection to remote machine registry fails.
siddhartha veedaluru
siddhartha.veedaluru at gmail.com
Fri Sep 18 13:53:00 CEST 2009
Thanks Tim,
That worked,
Also i wrote few lines of code to reboot a remote machine.
Here is it
------------------------------------------------
import win32api, win32security
hdl =
win32security.LogonUser(userName,domain,password,win32security.LOGON32_LOGON_NEW_CREDENTIALS,win32security.LOGON32_PROVIDER_WINNT50)
win32security.ImpersonateLoggedOnUser(hdl)
win32api.InitiateSystemShutdown(hostName, "This Machine will reboot in 5
seconds", 5, False, True)
win32security.RevertToSelf()
hdl.close()
------------------------------------------------------
issues here is:
when i place this code in
if __name__ == "__main__":
it runs successfully(reboots the remote machine). But if i place this code
in a function of a module ( like logon part in a function and
initiateshutdown in other fuction) or whole code in a function it fails
giving this error:
error: (5, 'InitiateSystemShutdown', 'Access is denied.')
I'm i missing anything or any window's way of doing this kind of things.
Thank you very much for the responce.
Thanks,
Siddhartha
> 1. Connection to remote machine registry fails.
> (siddhartha veedaluru)
> 2. Re: Connection to remote machine registry fails. (Tim Roberts)
> 3. Re: problem in calling excel object quit method (Tim Roberts)
> 4. window events via SetWindowsHookExA (Antoine Martin)
> 5. Re: window events via SetWindowsHookExA (Tim Roberts)
> 6. python-win32 : cross database automation (Threader Slash)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 17 Sep 2009 18:04:15 +0530
> From: siddhartha veedaluru <siddhartha.veedaluru at gmail.com>
> To: python-win32 at python.org
> Subject: [python-win32] Connection to remote machine registry fails.
> Message-ID:
> <424b71ec0909170534i36c31653ic277b39699e38300 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi ,
>
> I'm trying to connect to a remote windows machine's registry using
> ConnectRegistry and try to get the process architecture information.
>
>
> Here is the code snippet for it
> #processRegKey = "System\CurrentControlSet\Control\Session
> Manager\Environment"
> #processRegValue = "PROCESSOR_ARCHITECTURE"
> #try:
> # regHandle =
>
> ConnectRegistry(r"\\atom",HKEY_LOCAL_MACHINE<file://atom%22,hkey_local_machine/>
> )
> # regHandleObj = OpenKey(regHandle, processRegKey)
> # processType = QueryValueEx(regHandleObj, processRegValue)[0].split("
> ")[0]
> # print processType
> #except Exception, erno:
> # print "Exception:"
> # print erno
>
> but it fails with access denied errors.
> I assume that there is credentials issue.
> but i have the credential, but where should i have to provide this.
>
>
> Please help in accesing remote machine adderss.
> Also the machine might be in another domain.
>
> i know that we have wmi module. just try to achive it with win32 Api.
>
> Thanks,
> sid.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://mail.python.org/pipermail/python-win32/attachments/20090917/daf021f3/attachment-0001.htm
> >
>
> ------------------------------
>
> Message: 2
> Date: Thu, 17 Sep 2009 09:49:26 -0700
> From: Tim Roberts <timr at probo.com>
> To: Python-Win32 List <python-win32 at python.org>
> Subject: Re: [python-win32] Connection to remote machine registry
> fails.
> Message-ID: <4AB26896.70207 at probo.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> siddhartha veedaluru wrote:
> >
> > I'm trying to connect to a remote windows machine's registry using
> > ConnectRegistry and try to get the process architecture information.
> >
> > Here is the code snippet for it
> > #processRegKey = "System\CurrentControlSet\Control\Session
> > Manager\Environment"
> > #processRegValue = "PROCESSOR_ARCHITECTURE"
> > #try:
> > # regHandle = ConnectRegistry(r"\\atom",HKEY_LOCAL_MACHINE
> > <file://atom%22,hkey_local_machine/>)
> > # regHandleObj = OpenKey(regHandle, processRegKey)
> > # processType = QueryValueEx(regHandleObj,
> > processRegValue)[0].split(" ")[0]
> > # print processType
> > #except Exception, erno:
> > # print "Exception:"
> > # print erno
> >
> > but it fails with access denied errors.
> > I assume that there is credentials issue.
> > but i have the credential, but where should i have to provide this.
>
> If the user you are currently logged in as is valid on the other
> machine, this should just work.
>
> Otherwise, you will have to call win32security.LogonUser and
> win32security.ImpersonateLoggedOnUser before calling ConnectRegistry.
>
> handle = win32Security.LogonUser( 'username', 'domain', 'password',
> win32con.LOGON32_LOGON_INTERACTIVE,
> win32con.LOGON32_PROVIDER_DEFAULT )
> win32security.ImpersonateLoggonOnUser( handle )
>
> # ... connect to to registry here ...
>
> win32security.RevertToSelf()
> handle.Close()
>
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
>
>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 17 Sep 2009 09:51:19 -0700
> From: Tim Roberts <timr at probo.com>
> To: Python-Win32 List <python-win32 at python.org>
> Subject: Re: [python-win32] problem in calling excel object quit
> method
> Message-ID: <4AB26907.7050408 at probo.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Puneet Singh wrote:
> >
> > Hi,
> >
> > I am calling quit() from a thread but its not working
> >
>
> You need to call Quit from the thread that created the Excel object.
> Are you doing that?
>
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
>
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 18 Sep 2009 02:14:33 +0700
> From: Antoine Martin <antoine at nagafix.co.uk>
> To: python-win32 at python.org
> Subject: [python-win32] window events via SetWindowsHookExA
> Message-ID: <4AB28A99.5000407 at nagafix.co.uk>
> Content-Type: text/plain; charset=UTF-8
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> Hi,
>
> I am trying to use SetWindowsHookExA via ctypes to be notified when
> Windows are mapped/unmapped, to get the same functionality as
> SUBSTRUCTURE_MASK events on the root X-window (or is there a better way
> that I have missed?)
>
> Here is the code:
>
> WIN_HOOK = CFUNCTYPE(c_long, c_int, c_uint, c_long)
> def register_hook()
> WH_CALLWNDPROCRET = 4
> dll_handle = ctypes.windll.user32._handle
> self.call_next_hook = ctypes.windll.user32.CallNextHookEx
> self.hook_handle =
> types.windll.user32.SetWindowsHookExA(WH_CALLWNDPROCRET,
> WIN_HOOK(window_hook), dll_handle, 0)
>
> def window_hook(self, nCode, wParam, lParam):
> print "hello"
> return self.call_next_hook(self.hook_handle, nCode, wParam, lParam)
>
> Something with the callback signature must be wrong because the hook
> does get registered (hook_handle>0), but as soon as a window event
> fires, my application is terminated. It does not even get to say hello...
>
> Here's what I used to figure out the C method signature:
> http://msdn.microsoft.com/en-us/library/ms644960(VS.85).aspx
>
> Apologies if this is not the right list (please let me know which one
> is), it definitely looks like people here are most likely to be able to
> help me.
>
> Thanks
> Antoine
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEAREKAAYFAkqyipIACgkQGK2zHPGK1rsYnACfSmX8S99kF0JZbvjRAeFSMAGU
> hIMAniBF8mbW3/9xbhSU3zD0c+xluf/p
> =rWxJ
> -----END PGP SIGNATURE-----
>
>
> ------------------------------
>
> Message: 5
> Date: Thu, 17 Sep 2009 14:03:48 -0700
> From: Tim Roberts <timr at probo.com>
> To: Python-Win32 List <python-win32 at python.org>
> Subject: Re: [python-win32] window events via SetWindowsHookExA
> Message-ID: <4AB2A434.4000701 at probo.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Antoine Martin wrote:
> >
> > I am trying to use SetWindowsHookExA via ctypes to be notified when
> > Windows are mapped/unmapped, to get the same functionality as
> > SUBSTRUCTURE_MASK events on the root X-window (or is there a better way
> > that I have missed?)
>
> WH_CALLWNDPROC is a bit extreme. The equivalent to mapping and
> unmapping in the Windows world is activation, done with the WM_ACTIVATE
> and WM_DEACTIVATE messages. You should be able to monitor those with
> WH_CBT, which is a bit lighter weight than the WH_CALLWNDPROC hooks.
>
> There is a problem with your code, however:
>
>
> > Here is the code:
> >
> > WIN_HOOK = CFUNCTYPE(c_long, c_int, c_uint, c_long)
> > def register_hook()
> > WH_CALLWNDPROCRET = 4
> > dll_handle = ctypes.windll.user32._handle
> > self.call_next_hook = ctypes.windll.user32.CallNextHookEx
> > self.hook_handle =
> > types.windll.user32.SetWindowsHookExA(WH_CALLWNDPROCRET,
> > WIN_HOOK(window_hook), dll_handle, 0)
>
> You are telling it that the function to be called is inside of
> user32.dll. When you install an invasive hook like this, the operating
> system actually injects that DLL into every process that owns a window.
> Your hook function is then called in the context of those other
> processes. That's why they tell you that most hook procedures must
> reside in a DLL.
>
> In your case, the function address you gave is local to your EXE. It
> won't exist in other processes (or it will point to random memory).
> When the first event occurs, your callback will be called in a thread in
> some other process. That thread gets an exception, because that address
> points into random space, and your app is terminated.
>
> There used to be a great project at the University of North Carolina
> called pyAA that could do this, but it hasn't been updated past Python
> 2.4. At this point, I do not know of a way to implement Windows hooks
> in straight Python.
>
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
>
>
>
> ------------------------------
>
> Message: 6
> Date: Fri, 18 Sep 2009 14:17:09 +1000
> From: Threader Slash <threaderslash at gmail.com>
> To: python-win32 at python.org
> Subject: [python-win32] python-win32 : cross database automation
> Message-ID:
> <f1fcc2170909172117g470c47d2vcf461c7192c71e1c at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello Everybody...
>
> I working on a client-server database solution. The system is normalized
> and
> is using MySQL. To automate some of processes I using Python. Part of the
> old database will be still running on Lotus Notes.
>
> After working on it, it seems that the best choice to directly manipulate
> Lotus is to use Python with win32COM -
> http://www.boddie.org.uk/python/COM.html . I installed ActivePython 2.6
> compiler, which comes with integrated win32com.
>
> However, when I try to run.. it gives me the error:
>
> --x--x--
>
> ActivePython 2.6.2.2 (ActiveState Software Inc.) based on
> Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit
> (Intel)]
> on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import win32com.client
> >>> sess=win32com.client.Dispatch("Lotus.NotesSession")
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "C:\dev\python\Py26\lib\site-packages\win32com\client\__init__.py",
> line 95, in Dispatch
> dispatch, userName =
> dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
> File "C:\dev\python\Py26\lib\site-packages\win32com\client\dynamic.py",
> line
> 98, in _GetGoodDispatchAndUserN
> ame
> return (_GetGoodDispatch(IDispatch, clsctx), userName)
> File "C:\dev\python\Py26\lib\site-packages\win32com\client\dynamic.py",
> line
> 78, in _GetGoodDispatch
> IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx,
> pythoncom.IID_IDispatch)
> pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
>
> --x--x--
>
> Any suggestions? Some help is mostly appreciated.
>
> I will keep working to get it fixed, after I post the working solution
> here.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://mail.python.org/pipermail/python-win32/attachments/20090918/6c4af594/attachment.htm
> >
>
> ------------------------------
>
> _______________________________________________
> python-win32 mailing list
> python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
>
>
> End of python-win32 Digest, Vol 78, Issue 16
> ********************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20090918/eecc8a3e/attachment-0001.htm>
More information about the python-win32
mailing list