Имам следния скрипт, който експортира всички wifi профили на крайни потребители.
netsh wlan export profile folder="\\server\%username%\Wireless"
Powershell.exe -executionpolicy unrestricted -File wireless_backup.ps1
след това имената на профилите се поставят в .CSV с помощта на "wireless_backup.ps1". Тук е wireless_backup.ps1.
Get-ChildItem "\\server\$env:username\Wireless" | Select Name | Export-CSV -path '\\server\$env:username\Wireless'
Всичко по-горе работи добре... Възстановяването на тези профили на друг компютър е мястото, където се забивам. Ето сценария за възстановяване.
Powershell.exe -executionpolicy unrestricted -File wireless_restore.ps1
wireless_restore.ps1 съдържа този бит код.
$ProfileList=IMPORT-CSV \\server\$env:username\Wireless\wireless.csv
FOREACH ($Profile in $ProfileList) {
netsh wlan add profile filename= $Profile.name
}
Очаквах, че Wifi профилите автоматично ще се добавят към компютъра. Не съм сигурен къде сбърках. Моля помогнете!
актуализация Шефът ми не искаше да използва MS User State Migration по някаква причина, но ние извършваме масово повторно изобразяване. Имах нужда от начин лесно да правя резервни копия на всичко следно: данни на потребителския профил, отметки на chrome, резервни копия на itunes, pst файлове на Outlook, принтери, безжични профили, автоматично попълване на Outlook, тапет и няколко други неща.
ето скрипта за архивиране, който измислих
REM FORCE OUTLOOK CLOSED, PST FILES WILL NOT BACKUP IF IN USE
cscript "\\server\outlook.vbs"
REM BACKUP USERS PROFILE
xcopy "%userprofile%" "\\server\%username%\%username%" /e /y /i
REM BACKUP SIGNATURES
xcopy "%appdata%\microsoft\signatures" "\\server\%username%\Signatures" /e /y /i
REM BACKUP PINNED TASKBAR ITEMS
xcopy "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" "\\server\%username%\TaskBar" /e /y /i
REM BACKUP OUTLOOK ARCHIVES PST OUTLOOK MUST BE CLOSED
xcopy "C:\Users\%username%\AppData\Local\Microsoft\Outlook\*.pst" "\\server\%username%\Outlook" /y /i
REM BACKUP CHROME BOOKMARKS
xcopy "C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default" "\\server\%username%\Chrome" /e /y /i
REM BACKUP iTUNES MOBILE BACKUPS
xcopy "C:\Users\%username%\AppData\Roaming\Apple Computer\MobileSync" "\\server\%username%\MobileSync" /e /y /i
REM BACKUP ADVANCED COLOR SETTINGS
REG EXPORT "HKCU\Control Panel\Colors" "\\server\%username%\Wallpaper\Colors1.reg" /y
REM BACKUP ADVANCED COLOR SETTINGS
REG EXPORT "HKCU\Control Panel\Desktop\Colors" "\\server\%username%\Wallpaper\Colors2.reg" /y
REM BACKUP DESKTOP BG SETTINGS
REG EXPORT "HKCU\Control Panel\Desktop\WindowMetrics" "\\server\%username%\Wallpaper\WindowMetrics_Backup.reg" /y
REM START WALLPAPER BACKUP SCRIPT
Powershell.exe -executionpolicy remotesigned -File "wallpaper.ps1"
wallpaper.ps1 looks like this
$wallpaper = (Get-ItemProperty 'hkcu:\control panel\desktop\' -Name Wallpaper).Wallpaper
xcopy $wallpaper "\\itmdtren\z$\backup\$env:username\Wallpaper\"
REM EXPORTS ALL CURRENTLY INSTALLED PRINTERS TO CSV
Powershell.exe -executionpolicy unrestricted -File "\\itmdtren\z$\backup scripts\print_backup.ps1"
printer_backup.ps1 looks like this
Get-WMIObject -class Win32_Printer -computer $env:computername | Select Name | Export-CSV
REM EXPORT ALL XML WLAN PROFILES TO BACKUP
netsh wlan export profile folder="\\itmdtren\z$\backup\%username%\Wireless"
REM EXPORTS NAMES OF ALL WLAN PROFILES TO CSV
Powershell.exe -executionpolicy unrestricted -File "\\itmdtren\z$\backup scripts\wireless_backup.ps1"
wireless_backup.ps1 looks like this
Get-ChildItem "\\itmdtren\z$\backup\$env:username\Wireless" | Select Name | Export-CSV -path '\\itmdtren\z$\backup\$env:username\Wireless\wireless.csv'
След като изобразя компютър, влизам като потребител и стартирам следния скрипт. Тук вашите отговори помогнаха! Както можете да видите, скриптът за експортиране на wifi профил е модифицирана версия на скрипта за архивиране на принтера, показан по-горе.
REM FORCE OUTLOOK CLOSED
cscript "\\itmdtren\z$\backup scripts\outlook.vbs"
REM RESTORE USERS PROFILE
xcopy "\\itmdtren\z$\backup\%username%\%username%" "%userprofile%" /e /y /i
REM RESTORE SIGNATURES
xcopy "\\itmdtren\z$\backup\%username%\Signatures" "%appdata%\microsoft\signatures" /e /y /i
REM THIS LINE NOT USED RESTORE TASKBAR
REM xcopy "\\itmdtren\z$\backup\%username%\TaskBar" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" /e /y /i
REM RESTORE OUTLOOK DATA FILES PST
xcopy "\\itmdtren\z$\backup\%username%\Outlook\*.pst" "C:\Users\%username%\Documents\Outlook Files" /y /i
REM RESTORE USER DEFAULT CHROME BOOKMARKS/SETTINGS
xcopy "\\itmdtren\z$\backup\%username%\Chrome" "C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default" /e /y /i
REM RESTORE ITUENS BACKUPS
xcopy "\\itmdtren\z$\backup\%username%\MobileSync" "C:\Users\%username%\AppData\Roaming\Apple Computer\MobileSync" /e /y /i
REM RESTORE ADVANCED DISPLAY SETTINGS
REG import "\\itmdtren\z$\backup\%username%\Wallpaper\Colors1.reg"
REG import "\\itmdtren\z$\backup\%username%\Wallpaper\Colors2.reg"
REG import "\\itmdtren\z$\backup\%username%\Wallpaper\WindowMetrics_Backup.reg"
REM wallpaperchanger.exe IS A COMMANDLINE UTILITY THAT RANDOMLY SELECTS A IMAGE FROM A FOLDER, CONVERTS TO BMP, COPIES TO USER PROFILE AND SETS BACKGROUD
"\\itmdtren\z$\backup scripts\WallpaperChanger.exe" "\\itmdtren\z$\backup\%username%\Wallpaper" 2 "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes"
REM FORCE UPDATE USER SYSTEM PARAMETERS
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
REM RESTORE PRINTERS FROM CSV
Powershell.exe -executionpolicy unrestricted -File "\\itmdtren\z$\backup scripts\print_restore.ps1"
print_restore.ps1 looks like this
$PrinterList=IMPORT-CSV \\itmdtren\z$\backup\$env:username\Printers\printer_export.csv
FOREACH ($Printer in $PrinterList) {
Start-Sleep -s 10
Invoke-Expression 'rundll32 printui.dll PrintUIEntry /in /q /n $($Printer.Name)'
}
REM RESTORE XML WLAN PROFILES FROM CSV
Powershell.exe -executionpolicy unrestricted -File "\\itmdtren\z$\backup scripts\wireless_restore.ps1"
wireless_restore.ps1 looks like this
$ProfileList=IMPORT-CSV \\itmdtren\z$\backup\$env:username\Wireless\wireless.csv
FOREACH ($Profile in $ProfileList) {
$fullname = Join-Path "\\itmdtren\z$\backup\$env:username\Wireless" $profile.name
netsh wlan add profile filename= $fullname
}
Ето как изглежда резервното копие на потребителя, след като скриптът завърши
както можете да видите, всички XML безжични профили наистина бяха експортирани и скриптът на powershell постави имената на всички тези файлове в csv.
ето как изглежда csv
скриптът на powershell няма да работи за локални принтери, но можем да използваме printbrm.exe, за да ги архивираме с драйверите. работи добре за всички мрежови принтери.
Скриптът за възстановяване връща всичко това обратно на новоизобразения компютър без никакви проблеми и дължа всичко това на членовете на Stackoverflow!