У мене є машина XP з декількома профілями. Такі профілі іноді мають різні принтери, прив'язані до кожного користувача. Приклад:
- Користувач A має мережевий принтер 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
Проблема полягає в тому, що це працює тільки для одного користувача. У мене є обліковий запис адміністратора, і я хотів би, щоб це працювало відразу для багатопрофільної машини.
C:\Documents and Settings
? Можливо, ви захочете залишити деякі жорсткі коди, наприклад, Guest.