基本上,我希望通过批处理或PowerShell备份我的用户的无线局域网配置文件。这个命令运行得很好:
netsh wlan export profile key=clear folder="%appdata%\wlan-profiles"
我需要key=clear
,所以我可以独立于Win7 / Win8 / Win10导入这些配置文件。
问题是:命令shell需要启动(作为普通用户(而不是admin!))。否则,密码将以散列形式导出,而不是以明文形式导出。如果密码是以散列形式存储的,则无法将密码导入到另一个系统上。
是否有任何方法使批处理或PowerShell脚本进入提升模式而不键入密码?或是否有其他方法以明文导出无线局域网配置文件?
我考虑了一个预定的任务,但是如果您想给参数/RL HIGHEST
(以最高权限运行),那么您也需要运行这个命令。
有些人有什么想法或解决办法吗?
它需要以正常用户的身份工作,并且应该从Win7兼容到Win10。
发布于 2015-12-10 11:29:18
我的解决方案:
我部署了安装计划任务的安装(任务作为系统运行),如果一个新用户登录了,它每天运行一个powershell脚本,对于每个用户(带有特殊管理帐户的排除列表),将创建和导入一个用户指定的计划任务。
在您的部署系统或logonscript中,您可以触发用户调度的任务(具有最高的私密性),该任务以明文的形式导出所有配置文件(到%appdata%_wlan)。
它的工作原理很好,并且兼容Windows 7、Windows 8和Windows 10。
如果有人需要更多的细节,就问吧。
powershell脚本:
if(Test-Path "c:\temp\wlan\user.ini"){
$userliste=get-content "C:\temp\wlan\user.ini"
$userlisteneu=gci -Path c:\users -Exclude *admin*, *streaming*, *public*, *autologon* , *_* -name
foreach($user in $userlisteneu){
if (-not($pruefung=$userliste -match $user)){
$filename="c:\temp\wlan\WLAN-Backup-$user.xml"
copy "c:\temp\wlan\WLAN-Backup.xml" $filename
(Get-Content $filename) | Foreach-Object {$_ -replace 'Domain\\username',"$env:userdomain\$user"} | set-content $filename
cmd /c schtasks /Create /XML $filename /TN WLAN-Backup-$user
$user | Out-File "C:\temp\wlan\user.ini" -Append
}
}
} else {
gci -Path c:\users -Exclude *admin*, *streaming*, *public*, *autologon* , *_* -name | Out-File "C:\temp\wlan\user.ini" -Append
$userliste=get-content "C:\temp\wlan\user.ini"
foreach($user in $userliste){
$filename="c:\temp\wlan\WLAN-Backup-$user.xml"
copy "c:\temp\wlan\WLAN-Backup.xml" $filename
(Get-Content $filename) | Foreach-Object {$_ -replace 'Domain\\username',"$env:userdomain\$user"} | set-content $filename
cmd /c schtasks /Create /XML $filename /TN WLAN-Backup-$user
}
}
出口命令
%System%\schtasks.exe /Run /TN "WLAN-Backup-%username%"
进口命令
%System%\cmd.exe /c forfiles /p "%appdata%\_wlan" /m *.xml /c "cmd /c netsh wlan add profile filename=@path"
https://stackoverflow.com/questions/33874913
复制相似问题