有没有办法找到客户端 Windows 机器上的默认浏览器?
是否存在注册表项或其他属性可以帮助找到他们的默认浏览器?
答案1
注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\<protocol>\UserChoice\Progid
您将看到,在我的例子中,FirefoxURL 是我的 HTTP 默认设置,这使得 Firefox 成为我的 HTTP 默认浏览器。
其他浏览器记录包括:
- FirefoxURL(火狐)
- ChromeHTML(Chrome)
- IE.HTTP(Internet Explorer)
希望这可以帮助。
奖励积分:
$computerList = @("Server1", "server2")
$cred = Get-Credential
ForEach ($Computer in $computerList) {
New-PSSession -ComputerName $Computer -Credential $cred | Out-Null
Invoke-Command -Session (Get-PSSession) -ScriptBlock {
Write-Host $env:COMPUTERNAME
Write-Host (Get-ItemProperty HKCU:\Software\Microsoft\windows\Shell\Associations\UrlAssociations\http\UserChoice).Progid
Write-Host "`n"
}
Get-PSSession | Remove-PSSession
}
类似这样的事情应该会有所帮助..尽管它依赖于用户登录并且您启用了 powershell 远程处理(要启用 powershell 远程处理,请通过组策略运行 Enable-PSRemoting -Force 作为启动计算机脚本)
此外,您可以在 Windows 7 计算机上安装 PowerShell 4 以启用此功能 - 请参阅http://social.technet.microsoft.com/wiki/contents/articles/21016.how-to-install-windows-powershell-4-0.aspx更多
答案2
您不需要编辑注册表。转到Control Panel
-> All Control Panel Items
-> Default Programs
-> Associate a file type or protocol with a program
。
在扩展列表(包括.htm
和.html
)下方,您将看到协议,并且可以查看或更改相关程序。协议列表包括HTTP
、HTTPS
和FTP
。
这适用于 Win8.1。WinXP 使用Explorer
-> Tools
-> Folder Options...
-> File Types
,并且协议位于扩展之前。我不确定每个中间版本。