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 |