У меня есть машина XP с несколькими профилями. Эти профили иногда имеют разные принтеры, сопоставленные каждому пользователю. Пример:
- Пользователь А имеет сетевой принтер 1, 2 и 5 подключен. Принтер 2 по умолчанию.
- Пользователь B подключен к сетевому принтеру 1, 4 и 8. Принтер 4 по умолчанию.
- У пользователя C подключен сетевой принтер 2. Принтер 2 по умолчанию.
Мой идеал - опросить каждого пользователя на машине, перечислить все сопоставленные им принтеры, а затем вычеркнуть дубликаты, чтобы у меня был список уникальных принтеров, сопоставленных с машиной. В идеале я хотел бы увидеть, какой из них был по умолчанию чаще всего, но это совершенно необязательно. Список тогда будет выглядеть так:
Machine.Old
- Printer 1
- Printer 2 [Defaulted most often]
- Printer 4
- Printer 5
- Printer 8
Затем я хотел бы восстановить весь список принтеров для каждого пользователя на его новой машине. Они мигрируют на новую машину Windows 7.
Я понял, как это сделать для однопользовательских машин, с помощью следующего кода:
Echo exporting printers
reg export HKCU\Printers\Connections %~d0\%username%\printers.reg
net use >%~d0\%username%\mappings.txt
Echo Importing Printers
reg import %~d0\%username%\printers.reg
Проблема в том, что это работает только для одного пользователя. У меня есть учетная запись администратора, и я хотел бы, чтобы это работало одновременно на многопрофильной машине.