如何用PowerShell ForEach循环批量添加域名到HKCU注册表ZoneMap项?
PowerShell批量添加域名到Internet区域注册表
直接用ForEach循环遍历你的域名数组,把单条脚本里的固定域名替换成循环变量即可,完整脚本如下:
# 定义要处理的域名数组 $domains = '123.abc', 'xyz.abc', 'abc.abc' # 定义注册表基础路径,避免重复书写 $baseRegPath = 'HKCU:Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains' # 遍历每个域名处理 foreach ($domain in $domains) { # 拼接当前域名的完整注册表路径 $domainRegPath = Join-Path -Path $baseRegPath -ChildPath $domain # 检查路径是否存在,不存在则创建 if (-not (Test-Path -Path $domainRegPath)) { New-Item -Path $domainRegPath | Out-Null # Out-Null 抑制创建输出 } # 设置HTTPS协议的区域值(2代表信任站点区域) Set-ItemProperty -Path $domainRegPath -Name https -Value 2 -Type DWord }
关键说明:
- 用
Join-Path拼接路径比直接字符串拼接更安全,能自动处理路径分隔符问题 - 加
Out-Null是为了避免创建注册表项时输出多余的信息 - 区域值
2对应Windows Internet选项里的信任站点,如果需要其他区域可以修改数值:- 0:我的电脑
- 1:本地Intranet
- 2:信任站点
- 3:Internet
- 4:受限站点
内容的提问来源于stack exchange,提问作者Sam F
相关产品推荐
相关产品推荐

