Announcement

Collapse
No announcement yet.

USB drive problems with XP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • skroo
    replied
    Originally posted by goathead
    yeah, logon scripts defining drive mapping would do the trick.
    This would be about the best way to do it. Assuming you're in an Active Directory environment, use GPO to have everyone who needs to mount those drives run the same logon script when they log on to the AD domain. You'll still have to go manually remove the drive mappings from each client machine, but at least that's a one-time fix and can be done with a single commandline instruction (`net use * /delete`).

    Other advantages: you can synchronise system clocks on the clients to the server (very useful, I've found, for backup purposes, specifically if someone needs to recover a file as well as chain-of-evidence), any future changes are a simple tweak to the script and the clients get it the next time they log on to the domain, etc.

    This should help somewhat in finding a solution. There're a lot of ways of doing this, so running through search results probably is the best way in this case. Just make sure that the examples are applicable to an AD environment if that's what you're working in - while the NT4 and 2000 methods aren't necessarily mutually-exclusive, there are things that work in one but not the other and vice-versa.

    Also, out of curiosity: why do they need keyring drives? If it's a case of 'they don't need it but want to play with it', you might be better off (again, using GPO) disabling their access to USB devices.

    Leave a comment:


  • krumel
    replied
    Any luck yet? We have got the exact same problem. F: is mapped as the users' homedrive. App's are connected to this drive. C is the HDD, D & E DVD drives. We have 1500+ machines, so we are looking for a script solution now. When we find something we'll let you know!

    Good luck!

    Leave a comment:


  • EeeekPenguins
    replied
    That wont work because we usually dont turn off our machines because the network tech's have updates set up to run at night when no one is there.

    Leave a comment:


  • astcell
    replied
    I'd set a macro to enable USB after boot, that way the drives get the higher drive letters. Maybe run a batch file to disconnect before shutdown too.

    Leave a comment:


  • EeeekPenguins
    replied
    A program like that would be ideal. I do agree that there must be something in the registry that limits the max drive letter. Since my programming knowledge is limited I dont think I will be able to program anything that will work effectively.

    Leave a comment:


  • TheCotMan
    replied
    Originally posted by EeeekPenguins
    What I found out is that when I plugged in a USB storage device and changed the drive letter to Z and unplug it then plug it back in, it would map itself to Z. But that only works specifically for that storage device. When I plug in another device it goes back to the defaults. The only problem Iam having with adding all those registry strings is that the 'DosDevices' string is a binary string so I dont know how to script a whole binary string for 20+ drives.
    Here is a somewhat crazy idea... (There must be a better way)

    Create a program that extracts each key in the registry for each drive letter assigned device as well as the new drive which has been assigned a default key and then if the binary key data uses fixed field sizes, or a logical field separation, you can break on the known field, read in the binary data you do not know, add the new drive assignment you do want, then append the rest of the string you do not know and take the result and replace the data for the keypath found.
    It would require some system/shell/exec calls for registry dumping to file and some work with the resulting files, but I don't see why you could not build a program to help you:

    They connect the USB Drive/KeyStorageDevice,
    then they disconnect it
    Then they run your program which modifies the key for that new device,
    Now they reconnect the device and it uses the new drive letter.

    You could even have the program accept an arg for what drive letter and read it with argv/argc.

    Yeah, I know, it is a lot of work, but it is a method for automation of this task if you cannot find where the OS is limiting the max drive letter than can be assigned for new devices which are connected to the system.

    Part of me says that there must be a setting in the registry, or an env var that can be set for the system to alter the max drive letters which can be assigned.

    Leave a comment:


  • goathead
    replied
    Originally posted by EeeekPenguins
    What I found out is that when I plugged in a USB storage device and changed the drive letter to Z and unplug it then plug it back in, it would map itself to Z. But that only works specifically for that storage device. When I plug in another device it goes back to the defaults. The only problem Iam having with adding all those registry strings is that the 'DosDevices' string is a binary string so I dont know how to script a whole binary string for 20+ drives.
    yeah its prolly working off of the USB enumeration string which id's the VID/PID of the device, vendor ID and product ID. unless all pen drives are the same mfr\model then new hw enumerations will take place, tagging the registry in HKLM\system\CurrentControlSet\ENUM\USB with the VID&PID of each discrete device.

    plugging it back in after enumeration would be returning it to a known set of states / environment vizzles; drivers would already be hooked by the OS.

    but on the whole... you've tackled a cumbersome issue...

    best luck man!

    -goats

    Leave a comment:


  • EeeekPenguins
    replied
    What I found out is that when I plugged in a USB storage device and changed the drive letter to Z and unplug it then plug it back in, it would map itself to Z. But that only works specifically for that storage device. When I plug in another device it goes back to the defaults. The only problem Iam having with adding all those registry strings is that the 'DosDevices' string is a binary string so I dont know how to script a whole binary string for 20+ drives.

    Leave a comment:


  • TheCotMan
    replied
    Originally posted by EeeekPenguins
    That would work but the only problem is that all of these machines are running XP.
    What you found with the registry mod may be the Windows XP and beyond replacement for LASTDRIVE in earlier MS OS. (Sorry, I edited that into the last post a little bit ago.)

    Leave a comment:


  • EeeekPenguins
    replied
    That would work but the only problem is that all of these machines are running XP.

    Leave a comment:


  • TheCotMan
    replied
    Originally posted by EeeekPenguins
    We could do that but the problem is the USB wont assign it self do a drive below F. There will be drives that are open but it wont assign itself to that letter. I believe the default USB drive letters are D,E,F,G. When I connect the USB key I can change the drive letter to Z and it will write itself in the registry but that only works for that specific key. I thought of a possible solution though (please tell me if it doesnt work) I found in the registry where the USB drives are assigned. If I edit the registry to set the F-Z drives as DosDevices (which is what is labeled as) shouldnt it allow the USB to be assigned to any of those drives while they can still be mapped? I think this should work because as I said before the engineers were mapping network drives over the default USB drives so it shouldnt be a problem if an engineer maps drives from F-H and then the USB should auto default to I.
    At this point, I would look into the really old ENV VAR "LASTDRIVE" from MS-DOS days to see if it is respected in your version of Windows. (See the "System" control panel for adding variables.)

    Way back when, the "LASTDRIVE" would default to "E:"
    I even found a URL for this :-)

    It sounds like you might be bumping into this limit. [But I am not sure that this is how to solve this problem in present Windows, as much of my experience was the early DOS, Win95/98 and NT days for end-desktops, but you at least have something to try.]

    When you use "net use DRIVE_LETTER: \\UNC" you can generate drive letters higher than the LASTDRIVE (IIRC) and this may be a solution for you.

    HTH

    [Edit: added content below]

    Doing a search on google for: "lastdrive=" +system +"control panel"
    provided this:
    USB Drives disappear

    It looks like this might be the right track and what you point out may be the way it is done in Windows XP and beyond.
    Last edited by TheCotMan; June 23, 2004, 13:07.

    Leave a comment:


  • EeeekPenguins
    replied
    We could do that but the problem is the USB wont assign it self do a drive below F. There will be drives that are open but it wont assign itself to that letter. I believe the default USB drive letters are D,E,F,G. When I connect the USB key I can change the drive letter to Z and it will write itself in the registry but that only works for that specific key. I thought of a possible solution though (please tell me if it doesnt work) I found in the registry where the USB drives are assigned. If I edit the registry to set the F-Z drives as DosDevices (which is what is labeled as) shouldnt it allow the USB to be assigned to any of those drives while they can still be mapped? I think this should work because as I said before the engineers were mapping network drives over the default USB drives so it shouldnt be a problem if an engineer maps drives from F-H and then the USB should auto default to I.

    Leave a comment:


  • TheCotMan
    replied
    Originally posted by EeeekPenguins
    Well I'm a hardware tech and trying to find a solution. Technically I'm not in charge but it is partly my responsibility to find a solution. The problem is each end user assigns their own network drives because each engineer only needs certain network drives.
    When I worked in windows-land, I set policy much like what goathead described, but we started on Drive N: and to accomplish this, we used Policies for NT and 95 (shows how long it has been for me) and were able to specify on our end with "NET USE DRIVE_LETTER: \\UNC" in 95 land and for NT users with policies. This allowed us to ensure that all users who have drive "N" or "O" were the same network mapped volume. This also permitted people who were working together to refer to the share they were using by the network drive letter instead of trying figure out how each user chose to letter their drives. As a side benefit, it was also possible for us to configure applications to look to specific drive letters for their network volume files, and provided a level of consistency to make troublshooting problems easier (shared common base.)

    The best suggestion I can give you is to follow the very old and well known ideals in business:
    Control dictates responsibility
    If a person has control of something, then they are responsible for seeing it work.

    If your end users control naming their own drive letters, then it is up to them to resolve the problems which arise from this.

    If enough users find they cannot accomplish this task on their own, suggest a policy change for the IT department to specify assigned drive letters and use of policies to provide consistency for all users. If users want to control some drive maps, then set a policy that they may control drives from F: up to drive M: but nothing below F: or above M:.

    When you do not follow this model (Control dictates responsibility) then there are people who will set policies that others must be responsible, and since the decisions made by those who set policy do not directly impact their work or image, the person who is blamed is the person who has to implement the policy dictated to them. Your reputation is not created by how well you do your work, but by who is setting the policies that you must follow. If they decide to "dehire" you, then they only need to set policies for you which you cannot achieve and then they have "proof you cannot do your job." (bad place to be.) If your raises are hooked into productivity, then your raises are even further removed from your influence.

    Invest time now to set new policy, revise workstations drive settings, and use a short-term use of resources to solve a problem that would otherwise have a high Total Cost of Ownership as projected over years. If need be, work numbers to show the advantage of such a change to your boss who then may take your work as their own to convince their bosses; even if you do not get credit, your work-life will likely become easier and your boss will like you.
    Last edited by TheCotMan; June 23, 2004, 11:47. Reason: Fixed quote

    Leave a comment:


  • goathead
    replied
    Originally posted by EeeekPenguins
    Well I'm a hardware tech and trying to find a solution. Technically I'm not in charge but it is partly my responsibility to find a solution. The problem is each end user assigns their own network drives because each engineer only needs certain network drives.
    yeah, logon scripts defining drive mapping would do the trick.


    anyone else have a suggestion? save me from myself here?

    Leave a comment:


  • EeeekPenguins
    replied
    Well I'm a hardware tech and trying to find a solution. Technically I'm not in charge but it is partly my responsibility to find a solution. The problem is each end user assigns their own network drives because each engineer only needs certain network drives.

    Leave a comment:

Working...
X