update-mozillafirefox.ps1
| OS: | 视窗 |
| 类型: | Windows PowerShell脚本 |
| 语言: | Windows PowerShell |
| 描述: | Update-Mozillafirefox下载了最新的Firefox版本号列表,它与该版本中的Firefox版本编号和显示(是否需要Firefox更新)进行了比较。 Update-MozillafireFox通过向Windows注册表查询安装程序来检测已安装的Firefoxes。 HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall and HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall仅在64位计算机上读取hklm:路径已访问。在步骤7上,更新莫氮杂志下载并写下几个与Firefox相关的文件,即“ firefox_current_versions.json ”,“ firefox_release_history.json ”, firefox_regions.json firefox_languages.json firefox_major_versions.json “用作数据源。当以“正常”的Powershell窗口运行,并且所有检测到的Firefox版本似乎都是最新的,更新Mozillafirefox将检查一切都还好,并在步骤11中没有进一步的仪式。 如果在具有旧Firefox版本的机器中运行Update-Mozillafirefox没有提高权利(但使用工作的Internet连接),则需要显示需要Firefox更新,但是更新Mozillafirefox将在第12步中退出,然后再下载任何文件。 。要使用Update-MozillafireFox执行更新,PowerShell必须在高架窗口中运行(作为管理员运行)。如果Update-Mozillafirefox在高架的PowerShell窗口中运行并且未检测到Firefox,则该脚本提供了在“ Admin Corner ”中安装Firefox的选项(步骤11),与Update Mozillafirefox的主要自治性,相反选择比特扭转和语言需要最终用户输入。在“管理角”中,可用语言之一的32位或64位版本的一个实例可安装使用更新Mozillafirefox - 语言选择涵盖30多种语言。 在更新过程中,本身更新mozillafirefox下载了Mozilla的完整Firefox安装程序,该安装程序等于已经安装的类型(相同的位版本和语言)。在编写了安装配置文件( firefox_configuration.ini到$path在第14步,例如,自动Mozilla维护服务被禁用并启用了默认快捷方式)并停止了几个与Firefox相关的过程,Update-Mozillafirefox安装下载已下载的下载。 Firefox在现有的Firefox安装之上,这触发了内置的Firefox更新过程。 |
| 首页: | https://github.com/auberginehill/update-mozilla-firefox 短URL:http://tinyurl.com/gr75tjx |
| 版本: | 1.6 |
| 资料来源: | 表情符号: | 表情符号表 |
| Tobias Weltner: | Powertips月刊2014年1月8日(或Archive.org版本之一) |
| PS1: | 测试Internet连接(或Archive.org版本之一) |
| Goyuix: | 在PowerShell 2.0中读取JSON对象 |
| LAMAAR75: | 创建一个菜单(或一个Archive.org版本之一) |
| Alejandro5042: | 如何在PowerShell中使用/没有提高特权的方式运行EXE |
| Jaredpar和Matthew Pirocchi: | 确定当前PowerShell脚本的位置的最佳方法是什么? |
| 杰夫: | Powershell显示经过的时间 |
| Microsoft Technet: | 在Windows Powershell脚本中添加简单菜单 |
| 下载: | 例如更新mozillafirefox.ps1。或所有内容都是.zip-file。 |
截屏
输出
| ➡️ | - 在控制台中显示与Firefox相关的信息。如果找到了旧的Firefox安装,并且是否在高架的PowerShell窗口中运行了Update-Mozillafirefox,则试图将过时的Firefox更新为最新版本。除此之外...
|
|---|
| - 在步骤7上,基线Firefox版本编号被写入文件(
firefox_current_versions.json ),还创建了四个附加的Auxillary JSON文件,即: Firefox JSON文件(第7步): | 文件 | 小路 | firefox_current_versions.json | %TEMP%firefox_current_versions.json | firefox_release_history.json | %TEMP%firefox_release_history.json | firefox_major_versions.json | %TEMP%firefox_major_versions.json | firefox_languages.json | %TEMP%firefox_languages.json | firefox_regions.json | %TEMP%firefox_regions.json |
%TEMP%位置代表当前Windows临时文件文件夹。在PowerShell中,例如命令$env:temp显示临时折线路径。
- 如果启动了包括安装文件的实际更新过程,则使用一个活动参数(文件中的其他参数评论了),Firefox安装配置文件(
firefox_configuration.ini )是创建的,并且在更新了Firefox之后,一个网页显示最新版本在默认浏览器中打开。 安装配置文件(步骤14): | 文件 | 小路 | firefox_configuration.ini | %TEMP%firefox_configuration.ini |
%TEMP%位置代表当前Windows临时文件文件夹。在PowerShell中,例如命令$env:temp显示临时折线路径。
- 要查看写入安装配置文件(
firefox_configuration.ini )的实际值,请参阅脚本本身中的步骤14,其中写了以下值: | 价值 | 描述 | MaintenanceService=false | Mozillaintance服务用于无声更新,可用于其他与维护相关的任务。这是一个可选的组件。此选项可以在Firefox 16或更高版本中使用,以跳过安装服务。 |
有关可用设置的全面列表以及上述值的更详细的描述,请参阅“安装程序:命令行参数”页面。
- 在资源管理器窗口中打开这些文件位置,例如命令
Invoke-Item $env:temp
可以在PowerShell提示窗口[PS>]上使用。
|
|---|
笔记
| 配x | - 需要(a)PowerShell V3或更高版本或(B)3.5或更高版本以导入和转换JSON-FILE(步骤8)。
|
|---|
| - 需要一个工作的Internet连接,以下载最新的Firefox版本编号的列表,并从Mozilla下载完整的Firefox安装程序(但是,如果系统被认为是最新的,则不会启动后一个过程)。
- 为了使用Update-MozillafireFox执行任何实际更新,必须在高架的PowerShell窗口中运行此脚本(其中PowerShell已从“作为管理员”选项开始使用PowerShell)。在现有的Firefox安装之上安装Firefox需要提高权利。
- Update-MozillafireFox旨在仅更新一个Firefox实例。如果检测到多个Firefox的实例,则该脚本将在步骤5通知用户,此外,如果检测到旧的Firefox(ES),则该脚本将在第15步下载安装文件之前退出。
- 请注意,在步骤14上编写的Firefox安装配置文件禁用Mozilla维护服务,以便在Firefox更新期间不会安装Mozilla维护服务。使用安装配置文件(
firefox_configuration.ini )设置的值正在更改系统文件,并且似乎将Mozilla Firefox半完美的内部内部写入更深的位置。 - 另请注意,当检测到高架PowerShell窗口和旧的Firefox版本中运行时,Update-MozillafireFox将自动尝试从Internet下载文件,而无需事先提示最终用户或无需任何确认即可(在步骤16及以后)在第17步中,关闭了一堆流程,没有任何进一步的通知。
- 请注意,下载的文件放在目录中,该目录用
$path变量指定(在第42行)。 $env:temp变量指向当前临时文件夹。 $env:temp变量的默认值是C:Users<username>AppDataLocalTemp (即每个用户帐户都有自己的单独的temp文件夹,at path %USERPROFILE%AppDataLocalTemp )。要查看当前的温度路径,例如命令
[System.IO.Path]::GetTempPath()
可以在PowerShell提示窗口[PS>]上使用。例如,要将临时文件夹更改为C:Temp ,例如,请按照临时文件文件夹的说明进行操作 - 在Windows中更改位置,从本质上讲,这些位置与行相符:- 右键单击计算机图标,然后选择属性(或选择“开始”→控制面板→系统。在Windows 10上,也可以通过右键单击“启动”并选择控制面板→系统...或按
[Win-key] + X和选择控制面板→系统)。在窗口上,有有关计算机的基本信息... - 单击左图上的高级系统设置,然后在“系统属性”弹出窗口上选择高级选项卡。
- 单击底部标记为环境变量的按钮。
- 在列出用户变量的最上方部分中,可以看到TMP和TEMP。每个不同的登录帐户都分配了自己的临时位置。可以通过双击值或突出显示值并选择编辑来更改这些值。 Windows和许多其他程序将用于临时文件。建议为TMP和TEMP设置相同的值(目录路径)。
- 任何运行程序都需要重新启动以使新值生效。实际上,可能需要重新启动Windows本身才能开始为其自己的临时文件使用新值。
|
|---|
例子
| 例如,在Windows PowerShell中打开此代码: |
|---|
| -
./Update-MozillaFirefox 运行脚本。请注意到脚本名称之前插入./或. 。 -
help ./Update-MozillaFirefox -Full 显示帮助文件。 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine 此命令正在更改Windows PowerShell权利,以在默认( LocalMachine )范围中启用脚本执行,并定义Windows PowerShell加载配置文件并通常运行脚本的条件。在Windows Vista和后期版本的Windows版本中,对于更改LocalMachine范围的执行策略的运行命令,Windows PowerShell必须以提高权利运行(作为管理员运行)。默认策略( LocalMachine )范围是“ Restricted ”的,并且命令“ Set-ExecutionPolicy Restricted ”将“撤消”上面原始示例所做的更改(如果策略在...之前没有更改...)。本地计算机( LocalMachine )和当前用户( CurrentUser )的执行策略存储在注册表中(例如, HKLM:SoftwarePoliciesMicrosoftWindowsPowerShellExecutionPolicy键),直到它们保持有效再次改变。特定会话( Process )的执行策略仅存储在内存中,并在关闭会话时被丢弃。 参数: Restricted | 不加载配置文件或运行脚本,而是允许单个命令。 Restricted是默认执行策略。 | AllSigned | 脚本可以运行。要求所有脚本和配置文件均由受信任的发布者签名,包括在本地计算机上写的脚本。签名但恶意的风险脚本。 | RemoteSigned | 需要从脚本和配置文件上从Internet下载(包括电子邮件和即时消息传递程序)上的脚本和配置文件上的数字签名。不需要在本地计算机上写的脚本上的数字签名。如果使用Unblock-File cmdlet未阻止脚本,则可以运行从Internet下载的无符号脚本的许可。从互联网以外的来源运行未签名脚本并签名但恶意的脚本的风险。 | Unrestricted | 加载所有配置文件并运行所有脚本。在运行从Internet下载的脚本和配置文件之前,请警告用户。不仅有风险,而且实际上允许最终从任何来源运行任何未签名的脚本。风险运行恶意脚本。 | Bypass | 什么都没有被阻止,也没有任何警告或提示。不仅有风险,而且实际上允许从任何来源运行任何未签名的脚本。风险运行恶意脚本。 | Undefined | 从当前范围中删除当前分配的执行策略。如果将所有范围的执行策略设置为Undefined ,则有效的执行策略Restricted ,这是默认执行策略。此参数不会更改或删除使用组策略设置设置的(“主”)执行策略。 | | 笔记: | - 请注意,组策略设置“
Turn on Script Execution ”覆盖了Windows PowerShell中所有范围中设置的执行策略。为了找到此(“主”)设置,例如,请打开本地组策略编辑器( gpedit.msc ),并导航到计算机配置→管理模板→Windows组件→Windows PowerShell。
| | - 本地组策略编辑(
gpedit.msc )在Windows的任何家庭或入门版中都不可用。 组策略设置“ Turn on Script Execution ” | powershell等效(有关所有范围) | Not configured | 无效,此设置的默认值 | Disabled | Restricted | Enabled - 仅允许签名的脚本 | AllSigned | Enabled - 允许本地脚本和远程签名脚本 | RemoteSigned | Enabled - 允许所有脚本 | Unrestricted |
|
|---|
有关更多信息,请键入“ Get-ExecutionPolicy -List ”,“ help Set-ExecutionPolicy -Full ”,“ help about_Execution_Policies ”或访问set-executionpolicy或about_execution_policies。 -
New-Item -ItemType File -Path C:TempUpdate-MozillaFirefox.ps1 为C:Temp Directory创建一个空的PS1文件。 New-Item CMDLET在其中内置了固有的-NoClobber模式,因此,如果即将发生现有文件的覆盖(替换内容),则该过程将停止。用New-Item CMDLET覆盖文件需要使用该Force 。如果路径名和/或文件名包含空格字符,请将整个-Path参数值包装在引号(单个或double)中: New-Item -ItemType File -Path "C:Folder NameUpdate-MozillaFirefox.ps1"
有关更多信息,请键入“ help New-Item -Full ”。
|
|---|
贡献
| 错误: | 可以通过创建新问题来报告错误。 |
|---|
| 功能请求: | 可以通过创建新问题来提交功能请求。 |
|---|
| 编辑源文件: | 可以通过打开拉动请求来详细讨论新功能,修复和其他潜在更改。 |
万维网
| 脚本主页 |
|---|
| Tobias Weltner:Powertips月刊2014年1月8日(或Archive.org版本之一) |
|---|
| PS1:测试Internet连接(或Archive.org版本之一) |
| goyuix:在PowerShell 2.0中读取JSON对象 |
| LAMAAR75:创建一个菜单(或Archive.org版本之一) |
| Alejandro5042:如何在PowerShell中使用/没有提高特权的方式运行EXE |
| Jaredpar和Matthew Pirocchi:确定当前PowerShell脚本位置的最佳方法是什么? |
| 杰夫:Powershell Show经过的时间 |
| Microsoft Technet:在Windows PowerShell脚本中添加简单菜单 |
| Microsoft Technet:使用哈希表 |
| 确定已安装的PowerShell版本 |
| convert依 |
| convertfrom-stringdata |
| POWERTIP:将JSON文件转换为PowerShell对象 |
| 从功能返回时,Powershell V2将字典转换为数组 |
| 与Json和Powershell合作 |
| PowerShell的完美进度栏 |
| Mozillazine:软件更新 |
| Mozilla Wiki:安装程序:命令行参数 |
| Mozilla Wiki:软件更新:检查更新 |
| Mozilla释放工程 |
| Mozillazine:app.update.url |
| ASCII艺术:http://www.figlet.org/和ASCII艺术文本生成器 |
相关脚本
| disable-defrag |
|---|
| 表情符号表 |
|---|
| Firefox自定义文件 |
| 可镇定 |
| 获得batteryinfo |
| 获取computerinfo |
| 获取培养 |
| Get-DirectorySize |
| 竞选 |
| 加入的程序 |
| 加入安装的Windowsupdates |
| 获取可杀手 |
| 获取POWERSHELLSPECIALFOLTERS |
| 获取Raminfo |
| 聚会 |
| 获得时间为Zonetable |
| 固定的滴虫 |
| Get-Windows10lockscreenWallPaper |
| Java-update |
| 删除DplicateFiles |
| 删除空的福利士 |
| 删除偏羊长石 |
| 重命名文件 |
| 岩纸剪裁 |
| 折腾 |
| 无拉链 |
| Update-Adobeflashplayer |