Subject isn't exactly samba, but samba people usually know a lot about windows bat scripting. Here's my problem: Currently our domain login script is doing this (among other things): ifmember.exe "WINDOWS-DOMAIN\Projects" if errorlevel 1 ( net use p: \\server1\projects ) This works fine. The problem is I'm moving the projects storage to a different server called server 2 (which is linux running samba 3, so it is samba related somewhat). The logic I need is: If p: is on server 1, remove the persistant share \\server1\projects, then if p: does not exist, create a persistant share p: \\server2\projects. Sounds easy enough, but I have no idea how to test if a share is on a particular remote server. I'm trying "if exist \\server1\projects", but that doesn't work the way I want it as scripts seem to only understand the local drive letter names, not the remote names. I could try to spit out the contents of "net use p:" to a file, then parse out the remote name string, and compare that, but that seems like a hard way to accomplish it and I don't want the script parsing out stuff during a login. There's got to be an easier way. I could also just always remove the p:, then mount it from server2. But that adds an extra /delete every single time someone logs on, I'd prefer not to do that. I only want to /delete p: if p: is remote server1, not if it's remote server 2. Anyone have an idea? Thanks in advance, Alex
You could always create an empty txt file, set it to read only on server1, and test in your batch script if the file exists; if esists then re-map, else just map to server 2... If the file doesn't exist, then it's either already mapped to server2 (cause' the file only resides on server1), or there even isn't anything mapped to p:, then it will fix your problem... Sure there's other ways, but this would seem simplest to me; again only my two cents here, try it else see what anyone else comes up with for you. -- Nathan Vidican nvidican@wmptl.com Windsor Match Plate & Tool Ltd. http://www.wmplt.com/ -----Original Message----- From: samba-bounces+nvidican=wmptl.com@lists.samba.org [mailto:samba-bounces+nvidican=wmptl.com@lists.samba.org] On Behalf Of Alexander Lazarevich Sent: Wednesday, March 09, 2005 11:51 AM To: samba@lists.samba.org Subject: [Samba] windows /bat script question Subject isn't exactly samba, but samba people usually know a lot about windows bat scripting. Here's my problem: Currently our domain login script is doing this (among other things): ifmember.exe "WINDOWS-DOMAIN\Projects" if errorlevel 1 ( net use p: \\server1\projects ) This works fine. The problem is I'm moving the projects storage to a different server called server 2 (which is linux running samba 3, so it is samba related somewhat). The logic I need is: If p: is on server 1, remove the persistant share \\server1\projects, then if p: does not exist, create a persistant share p: \\server2\projects. Sounds easy enough, but I have no idea how to test if a share is on a particular remote server. I'm trying "if exist \\server1\projects", but that doesn't work the way I want it as scripts seem to only understand the local drive letter names, not the remote names. I could try to spit out the contents of "net use p:" to a file, then parse out the remote name string, and compare that, but that seems like a hard way to accomplish it and I don't want the script parsing out stuff during a login. There's got to be an easier way. I could also just always remove the p:, then mount it from server2. But that adds an extra /delete every single time someone logs on, I'd prefer not to do that. I only want to /delete p: if p: is remote server1, not if it's remote server 2. Anyone have an idea? Thanks in advance, Alex -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba
This is definitely a kludgy way of doing it, but if I had that problem and wanted to solve it quickly, I would put a file named THISISSERVER1 on \\server1\projects\. This way you can do an "if exist p:\THISISSERVER1" test. This is ugly, but it will work. -Marc> -----Original Message----- > From: samba-bounces+marc_kaplan=adaptec.com@lists.samba.org[mailto:samba-> bounces+marc_kaplan=adaptec.com@lists.samba.org] On Behalf OfAlexander> Lazarevich > Sent: Wednesday, March 09, 2005 8:51 AM > To: samba@lists.samba.org > Subject: [Samba] windows /bat script question > > Subject isn't exactly samba, but samba people usually know a lot about > windows bat scripting. Here's my problem: > > Currently our domain login script is doing this (among other things): > > ifmember.exe "WINDOWS-DOMAIN\Projects" > if errorlevel 1 ( net use p: \\server1\projects ) > > This works fine. The problem is I'm moving the projects storage to a > different server called server 2 (which is linux running samba 3, soit> is samba related somewhat). The logic I need is: > > If p: is on server 1, remove the persistant share \\server1\projects,then> if p: does not exist, create a persistant share p: \\server2\projects. > > Sounds easy enough, but I have no idea how to test if a share is on a > particular remote server. I'm trying "if exist \\server1\projects",but> that doesn't work the way I want it as scripts seem to only understandthe> local drive letter names, not the remote names. I could try to spitout> the contents of "net use p:" to a file, then parse out the remote name > string, and compare that, but that seems like a hard way to accomplishit> and I don't want the script parsing out stuff during a login. There'sgot> to be an easier way. > > I could also just always remove the p:, then mount it from server2.But> that adds an extra /delete every single time someone logs on, I'dprefer> not to do that. I only want to /delete p: if p: is remote server1, notif> it's remote server 2. > > Anyone have an idea? > > Thanks in advance, > > Alex > -- > To unsubscribe from this list go to the following URL and read the > instructions: https://lists.samba.org/mailman/listinfo/samba