tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bilal S <>
Subject Re: runtime.exec "cmd.exe /C net use"
Date Wed, 10 Apr 2013 18:47:47 GMT
On Sun, Mar 24, 2013 at 10:20 AM, Patrick Flaherty

> On Mar 23, 2013, at 10:00 PM, David Kerber wrote:
>  On 3/23/2013 8:13 PM, Harris, Jeffrey E. wrote:
>>>  -----Original Message-----
>>>> From: André Warnier []
>>>> Sent: Saturday, March 23, 2013 8:10 PM
>>>> To: Tomcat Users List
>>>> Subject: Re: runtime.exec "cmd.exe /C net use"
>>>> Harris, Jeffrey E. wrote:
>>>>>  -----Original Message-----
>>>>>> From: Patrick Flaherty [mailto:pflahrty@rampageinc.**com<>
>>>>>> ]
>>>>>> Sent: Saturday, March 23, 2013 5:22 PM
>>>>>> To: Tomcat Users List
>>>>>> Subject: runtime.exec "cmd.exe /C net use"
>>>>>> Hi,
>>>>>> I'm trying to run the following command ( runtime.exec "cmd.exe /C
>>>>>> net use" ) from my tomcat app and it's returning :
>>>>>> net use
>>>>>> New connections will be remembered.
>>>>>> There are no entries in the list.
>>>>>> This only happen when I run as a Windows service. If I run the
>>>>> tomcat
>>>>> batch file to start tomcat then "net use" returns all my mapped
>>>>>> network drives. The service login is an account that has access to
>>>>>> the network shares as my app uses those shares, but the service
>>>>> login
>>>>> should not preclude the command from executing properly. If I
>>>>>> substitute "dir" for "net use"
>>>>>> that works and I get a directory listing. The combo of "net use"
>>>>>> command using cmd.exe and running as a service seems to be the
>>>>>> conflict.
>>>>>> Any input much appreciated.
>>>>>> Thanks
>>>>>> Pat
>>>> I would add that it is kind of doubtful that this has anything directly
>>>> to do with Tomcat, or even Java.  Maybe that question would belong more
>>>> to some Windows forum.
>>>> ------------------------------**------------------------------**
>>>> ---------
>>> I absolutely agree.  I would expect to see the same behavior with Apache
>>> HTTPD, IIS, or
>>> any other service that accesses mapped drives.  It is a question of how
>>> service accounts behave
>>> in the windows architecture, rather than something specific with Tomcat.
>>> Jeffrey Harris
>> It will depend on what user your TC service is running under.    If it's
>> running as the LocalSystem user,  it will not have access to any network
>> drives, or many other network resources.  It can hit some, such as
>> databases.
>> If you want your TC to be able to see networked drives, you need to run
>> it under the logged-on user's ID.  Keep in mind, though, that if the user
>> logs off, the drives will be disconnected.  Your best bet in that case it
>> to not connect by drive letter, but rather by the UNC name (what you used
>> to map it when you were logged on).  That will work if the user TC is
>> running has has the appropriate permissions to the network resource.
>> D
> Hi,
> Thanks for all the input. I know about service logins being only able to
> use UNC paths (not drive letters) to access network shares. I know the
> service login & password have to
> have a matching account on the server with the shares in order for the
> tomcat app to use (access) those shares. We do all of this. Out tomcat app
> depends on
> network shares to function and it always has worked as long as the service
> login account matches an account on the server with the shares.
> What I'm trying to do in an html interface is make a pulldown menu list of
> my mapped drives as a location for our database backup. It's a preference
> setup to
> where an automated scheduled backup will write the backups. I'm using "net
> use" to produce what you would expect for output (all the mapped network
> drives)
> and parsing the output to produce the pulldown menu item containing the
> unc portion gleaned from the "net use" output. I need the unc portion as
> this is what
> a tomcat app needs. No matter what I do outside the app I cannot produce
> the effectively empty list that the app is producing. I'm logged into
> Windows as the same
> account as the service and I open a command prompt and see all my mapped
> drives via "net use". I have tried UAC on and off and it changes nothing. I
> added a simple
> "dir" to the app and I can get that output but not the "net use" output. I
> do know it has to do with the service as I said because when tomcat is
> started via the startup.bat
> it works great.
> Maybe it is a Windows question but thought someone may have had some
> similar experience.
> Thanks for eveyone's thoughts.
> -Pat
I believe the Windows workstation service is required to map drives.
Background services in general run under a different context, thus, they
cannot map drives.
That being said you should be able to achieve this by allowing your Tomcat
service to "interact with desktop" then actually mapping your drives in
scripted fashion using a series of
net use F: \\target\one /PERSISTENT:YES
net use G: \\target\two /PERSISTENT:YES

Now when you do a list using "net use" it should list drives for your


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message