I have been asked to disable access to USB devices on Windows machines for information disclosure reasons.
Although this can be done with Active Directory, the problem is that the solution should let us enable access for certain users for limited authorised periods.
How can this be done with Active Directory (if it's possible)?
If not, which software can I use to do it?
You're talking about a setting that gets applied to computers, not to users. If you don't mind applying it to computers, you could create a security group and place the computers into it which aren't supposed to be "restricted". Modify the permissions of the Group Policy Object in which you're applying these restrictions to include "Deny Apply Group Policy" for the computer group you've created and the settings won't apply to those computers anymore. You can move computers in and out of the group as-necessary, but I'm fairly certain you'd be stuck rebooting the computers to get a change in restriction versus non-restriction to take effect.
From what I hear, epoxy is a very popular solution to this problem.
How do you prevent users from using USB drives which circumvent security
physical port locks for ethernet, USB, phone, etc.?
Really, though, the GP looks like the best answer:
http://windowsdevcenter.com/pub/a/windows/2005/11/15/disabling-usb-storage-with-group-policy.html
I setup a ADM in my last company and set the GP to certain groups. Enabled Mass Storage and Disable Mass Storage. They required reboot if there groups changed. Its a registry change to basically disable the USB mass storage driver.
Here is the ADM I used. Grabbed it from Google years ago.
If disabled USB mass storage device using gpedit in windows7
Device manager -> update driver -> browse : c -> windows ->inf-> usbsstore.disabled (rename usbstore.disabled to usbstore.inf then select usbstore.inf) -> next Finish