csv - powershell netsh importing xml profiles -
i have following script exports of endusers wifi profiles.
netsh wlan export profile folder="\\server\%username%\wireless" powershell.exe -executionpolicy unrestricted -file wireless_backup.ps1 then profile names put .csv using "wireless_backup.ps1". here wireless_backup.ps1.
get-childitem "\\server\$env:username\wireless" | select name | export-csv -path '\\server\$env:username\wireless' all of above works fine.... restoring these profiles onto pc getting stuck. here restoration script.
powershell.exe -executionpolicy unrestricted -file wireless_restore.ps1 the wireless_restore.ps1 contains bit of code.
$profilelist=import-csv \\server\$env:username\wireless\wireless.csv foreach ($profile in $profilelist) { netsh wlan add profile filename= $profile.name } my expectation wifi profiles automatically add pc. i'm not sure went wrong. please help!
update boss did not want use ms user state migration reason, doing mass re-imaging. needed way make backups of following: user profile data, chrome bookmarks, itunes backups, outlook pst files, printers, wireless profiles, outlook auto-complete, wallpaper , few other things.
here backup script came with
rem force outlook closed, pst files 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 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 $wallpaper = (get-itemproperty 'hkcu:\control panel\desktop\' -name wallpaper).wallpaper xcopy $wallpaper "\\itmdtren\z$\backup\$env:username\wallpaper\" rem exports installed printers csv powershell.exe -executionpolicy unrestricted -file "\\itmdtren\z$\backup scripts\print_backup.ps1" printer_backup.ps1 looks get-wmiobject -class win32_printer -computer $env:computername | select name | export-csv rem export xml wlan profiles backup netsh wlan export profile folder="\\itmdtren\z$\backup\%username%\wireless" rem exports names of wlan profiles csv powershell.exe -executionpolicy unrestricted -file "\\itmdtren\z$\backup scripts\wireless_backup.ps1" wireless_backup.ps1 looks get-childitem "\\itmdtren\z$\backup\$env:username\wireless" | select name | export-csv -path '\\itmdtren\z$\backup\$env:username\wireless\wireless.csv' after image computer, logon user , run following script. answers helped! can see wifi profile export script modified version of printer backup script shown above.
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 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 commandline utility randomly selects image folder, converts bmp, copies user profile , 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 csv powershell.exe -executionpolicy unrestricted -file "\\itmdtren\z$\backup scripts\print_restore.ps1" print_restore.ps1 looks $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 csv powershell.exe -executionpolicy unrestricted -file "\\itmdtren\z$\backup scripts\wireless_restore.ps1" wireless_restore.ps1 looks $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 } this user backup looks after script completes 
as can see xml wireless profiles did indeed exported , powershell script put names of these files in csv. 
here csv looks like

the powershell script not work local printers, can use printbrm.exe drivers. did work network printers fine. 
the restoration script puts onto newly imaged pc without problems , owe members of stackoverflow!
$profile.name not enough, should provide full unc path,
try this
foreach ($profile in $profilelist) { $fullname = join-path "\\server\$env:username\wireless" $profile.name netsh wlan add profile filename= $fullname }
Comments
Post a Comment