{"id":19954031,"url":"https://github.com/mkht/dscr_firefox","last_synced_at":"2026-05-14T19:04:16.273Z","repository":{"id":57668167,"uuid":"95228182","full_name":"mkht/DSCR_Firefox","owner":"mkht","description":"PowerShell DSC Resource for manage Firefox","archived":false,"fork":false,"pushed_at":"2021-09-22T12:12:38.000Z","size":78,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T12:16:17.426Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkht.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-23T14:33:20.000Z","updated_at":"2021-09-22T12:09:39.000Z","dependencies_parsed_at":"2022-09-07T15:50:21.156Z","dependency_job_id":null,"html_url":"https://github.com/mkht/DSCR_Firefox","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkht%2FDSCR_Firefox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkht%2FDSCR_Firefox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkht%2FDSCR_Firefox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkht%2FDSCR_Firefox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkht","download_url":"https://codeload.github.com/mkht/DSCR_Firefox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241382618,"owners_count":19953972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T01:18:38.883Z","updated_at":"2026-05-14T19:04:16.189Z","avatar_url":"https://github.com/mkht.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"DSCR_Firefox\n====\n\nDSC Resource for installing and managing Firefox\n\n----\n## Installation\nYou can install from [PowerShell Gallery](https://www.powershellgallery.com/packages/DSCR_Firefox/).\n```Powershell\nInstall-Module -Name DSCR_Firefox\n```\n\n## Dependencies\n* [DSCR_Application](https://github.com/mkht/DSCR_Application)\n* [DSCR_FileContent](https://github.com/mkht/DSCR_FileContent)\n\n----\n## Resources\n|||\n|:---:|:---:|\n|[cFirefox](#cfirefox)||\n|[cFirefoxBookmarks](#cfirefoxbookmarks)|[cFirefoxPrefs](#cfirefoxprefs)|\n|[cFirefoxPolicy](#cfirefoxpolicy)|[cFirefoxBookmarksPolicy](#cfirefoxbookmarkspolicy)|\n\n----\n## **cFirefox**\nInstall Firefox\n\n### Properties\n+ [string] **VersionNumber** (Require):\n    + The version of the Firefox you wish install. e.g) `79.0`\n\n+ [string] **Language** (Optional):\n    + Language of the Firefox.\n    + The default is `en-US`\n\n+ [string] **MachineBits** (Optional):\n    + Specify the machine's operating system architecture. (`Auto` | `x86` | `x64` | `ARM64`)\n    + If you don't specify it, the best one for the system will be selected automatically. \n\n+ [string] **InstallerPath** (Optional):\n    + The path of the Firefox installer file.\n    + If this value is not specified, The Installer will be downloaded from Mozilla. (https://ftp.mozilla.org/pub/firefox/releases/)\n    + Please use if you want to use the self-customized installer or if the target machine is not connected to the Internet.\n\n+ [string] **InstallDirectoryName** (Optional):\n    + The name of the directory where the Firefox will be installed.\n    + If this value is specified then `InstallDirectoryPath` will be ignored.\n\n+ [string] **InstallDirectoryPath** (Optional):\n    + The full path of the directory to install the Firefox.\n    + If the both `InstallDirectoryPath` and `InstallDirectoryName` not specified, the Firefox will be installed in the system's program files directory.\n\n+ [bool] **QuickLaunchShortcut** (Optional):\n    + Create a shortcut for the Firefox in the QuickLaunch directory.\n    + The default is `$false`\n\n+ [bool] **DesktopShortcut** (Optional):\n    + Create a shortcut for the Firefox on the all user's desktop.\n    + The default is `$true`\n\n+ [bool] **TaskbarShortcut** (Optional):\n    + Create a shortcut for the Firefox on the taskbar.\n    + The default is `$false`\n\n+ [bool] **MaintenanceService** (Optional):\n    + Specify whether the MozillaMaintenance service will be installed or not\n    + The default is `$true`\n\n+ [bool] **StartMenuShortcuts** (Optional):\n    + Create shortcuts for the application in the Start Menu.\n    + The default is `$true`\n\n+ [string] **StartMenuDirectoryName** (Optional):\n    + The directory name to use for the StartMenu folder\n    + The default is `Mozilla Firefox`\n\n+ [bool] **OptionalExtensions** (Optional):\n    + Set this option to `$false` to opt-out installation of any optional extensions.\n    + The default is `$true`\n    + This option can be used in Firefox 60 or later.\n\n+ [bool] **RegisterDefaultAgent** (Optional):\n    + Set to `$false` to disable creating a recurring scheduled task to run the default browser agent.\n    + The default is `$true`\n    + This option can be used in Firefox 76 or later.\n\n+ [bool] **RemoveDistributionDir** (Optional):\n    + Set to `$false` to disable removing the `distribution` directory from an existing installation that’s being paved over.\n    + By default this is `$true` and the directory is removed.\n\n+ [PSCredential] **Credential** (Optional):\n    + The credential for access to the installer on a remote source if needed.\n    + :warning: If you want to run the installation as a specific user, you need to use `PsDscRunAsCredential` standard property.\n\n\n### Examples\n+ **Example 1**: Install Firefox 78.0.2 x64 japanese\n```Powershell\nConfiguration Example1\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFirefox Firefox78\n    {\n        VersionNumber = \"78.0.2\"\n        Language = \"ja\"\n        Machinebits = \"x64\"\n    }\n}\n```\n\n+ **Example 2**: Install Firefox 78.0.2 ESR without MozillaMaintenance service\n```Powershell\nConfiguration Example2\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFirefox Firefox78ESR\n    {\n        VersionNumber = \"78.2.0esr\"\n        MaintenanceService = $false\n    }\n}\n```\n\n----\n## **cFirefoxBookmarks**\nManage bookmarks.\n\n### Properties\n+ [string] **Title** (Require):\n    + The title of the bookmark.\n\n+ [string] **Link** (Require):\n    + The URL of the bookmark.\n\n+ [string] **Type** (Optional):\n    + Specify the type of the item.\n    + `Link` / `Separator` / `Folder`\n    + The default is `Link`\n\n+ [string] **BookmarksLocation** (Optional):\n    + The location of the bookmark\n    + `BookmarksMenu` / `BookmarksToolbar` / `BookmarksFolder-(FolderId)`\n    + The default is `BookmarksMenu`\n\n+ [int] **Position** (Optional):\n    + The position of the bookmark. The smaller is placed above. (1-99)\n    + The default is `1`\n\n+ [string] **IconUrl** (Optional):\n    + The URL of the bookmark's icon.\n\n+ [string] **IconData** (Optional):\n    + The data of the bookmark's icon.\n    + You can use data URI scheme.\n\n+ [int] **FolderId** (Optional):\n    + The ID of the folder.\n    + This value only respect when the item type is `Folder`.\n    + The default is `1`\n\n+ [string] **FirefoxDirectory** (Optional):\n    + Specify the directory of the Firefox installed.\n    + The default is `\"C:\\Program Files\\Mozilla Firefox\"`\n\n### Examples\n**Example 1**: Bookmark to Google\n```Powershell\nConfiguration Example1\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFireFoxBookmarks FireFox_Bookmark_Google\n    {\n        Title = 'Google'\n        Link = 'https://www.google.com/'\n    }\n}\n```\n\n----\n## **cFirefoxPrefs**\n Manage preferences.\n\n### Properties\n+ [string] **PrefName** (Require):\n    + The name of the preference.\n\n+ [string] **PrefValue** (Require):\n    + The value of the preference.\n\n+ [bool] **IsStringValue** (Optional):\n    + When `$true` is specified, the type of preference will always be a string.\n    + The default is `$false` ( The value type will be determined automatically. )\n\n+ [string] **PrefType** (Optional):\n    + The type of the preference.\n    + `pref` / `defaultPref` / `lockPref` / `cleanPref` / `LocalizablePreferences` (Case sensitive!)\n    + The default is `pref`\n\n|Type|detail|\n|:------:|:------|\n|pref|The user can temporarily change the setting, but the changed value will be lost when exiting Firefox|\n|defaultPref|The user can change the setting, and the changed value will be saved even after Firefox exits.|\n|lockPref|The user can not change the setting.|\n|cleanPref|Delete setting value|\n\n+ [string] **FirefoxDirectory** (Optional):\n    + Specify the directory of the Firefox installed.\n    + The default is `\"C:\\Program Files\\Mozilla Firefox\"`\n\n### Examples\n**Example 1**: Disable Firefox update\n```Powershell\nConfiguration Example1\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFireFoxPrefs FireFox_Update_Disable\n    {\n        PrefName = 'app.update.enabled'\n        PrefValue = $false\n        PrefType = 'lockPref'\n    }\n}\n```\n\n----\n## **cFirefoxPolicy**\nThe DSC Resource for configuring [Firefox Enterprise Policies](https://wiki.mozilla.org/Firefox/EnterprisePolicies)  \nThis resource can be used only in Firefox 60 or later\n\n### Properties\n+ [string] **Ensure** (Optional):\n    + Whether to set or delete policies\n    + The default is `Present`  [`Present` | `Absent`]\n\n+ [string] **PolicyName** (Require):\n    + The NAME of the policy\n    + Please refer to [the document](https://github.com/mozilla/policy-templates/blob/master/README.md) for possible values\n\n+ [string] **PolicyValue** (Require):\n    + The value of the policies\n    + The value of this parameter must be a JSON formatted string\n\n+ [string] **FirefoxDirectory** (Optional):\n    + Specify the directory of the Firefox installed.\n    + The default is `\"C:\\Program Files\\Mozilla Firefox\"`\n\n### Examples\n**Example 1**: To configure the policy that removes access to about:addons\n```Powershell\nConfiguration Example1\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFireFoxPolicy FireFox_BlockAboutAddons\n    {\n        PolicyName = 'BlockAboutAddons'\n        PolicyValue = $true\n    }\n}\n```\n\n**Example 2**: To configure the policy that sets the default homepage\n```Powershell\nConfiguration Example2\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFireFoxPolicy FireFox_Homepage\n    {\n        PolicyName = 'Homepage'\n        PolicyValue = @'\n        {\n            \"URL\": \"http://example.com/\",\n            \"Locked\": true,\n            \"Additional\": [\"http://example.org/\", \"http://example.edu/\"]\n        }\n'@\n    }\n}\n```\n\n----\n## **cFirefoxBookmarksPolicy**\nThe DSC Resource for configuring Bookmarks  \nThe difference with *cFirefoxBookmarks* is set as policy, so you can enforce settings to the end-users  \nThis resource can be used only in Firefox 60 or later\n\n### Properties\n+ [string] **Ensure** (Optional):\n    + Whether to create or delete bookmarks\n    + The default is `Present`  [`Present` | `Absent`]\n\n+ [string] **Title** (Require):\n    + The name of the bookmark\n\n+ [string] **URL** (Require):\n    + The URL of the bookmark.\n\n+ [string] **Favicon** (Optional):\n    + The URL of the bookmark's icon.\n\n+ [string] **Placement** (Optional):\n    + Whether to place bookmarks in menu or toolbar.\n    + The default is `toolbar`  [`toolbar` | `menu`]\n\n+ [string] **Folder** (Optional):\n    + If a Folder is specified, it is automatically created and bookmarks with the same folder name are grouped together.\n\n+ [string] **FirefoxDirectory** (Optional):\n    + Specify the directory of the Firefox installed.\n    + The default is `\"C:\\Program Files\\Mozilla Firefox\"`\n\n### Examples\n**Example 1**: Create a bookmark\n```Powershell\nConfiguration Example1\n{\n    Import-DscResource -ModuleName DSCR_Firefox\n    cFireFoxBookmarksPolicy FireFox_BookmarksPolicy\n    {\n        Title   = 'Example1'\n        URL     = 'https://www.example.com/'\n        Favicon = 'https://www.example.com/favicon.ico'\n    }\n}\n```\n\n----\n## ChangeLog\n### 2.0.3\n+ [cFirefoxPolicy] Fixed an issue where JSON strings containing newlines were not parsed correctly.\n\n### 2.0.2\n+ [cFirefox] Firefox 90.0 or later support.\n\n### 2.0.1\n+ [cFirefox] ARM64 support (experimental).\n+ [cFirefox] No longer necessary to explicitly specify the OS architecture. It will be determined automatically.\n+ [cFirefox] Add `RegisterDefaultAgent` and `RemoveDistributionDir` params.\n+ Updates examples.\n\n### 1.2.0\n+ [cFirefoxPrefs] Add `IsStringValue` property. When `$true` is specified, the type of preference will always be a string.\n+ [cFirefoxPrefs] Fix an issue that incorrect type is set when specifying floating point number in `PrefValue`.\n\n### 1.1.3\n + [cFirefox] Fixed an issue that some garbage files remain in the `C:\\Windows\\Temp` folder after configuration.\n + minor fixes\n\n### 1.1.2\n + [cFirefoxPrefs] Improved to work properly even if the case of `PrefType` value is incorrect.\n + [cFirefoxPrefs] Fixed issue that the cFirefoxPrefs is not working correctly when the `PrefType` is `defaultPref` or `cleanPref` or `lockPref`.\n\n### 1.1.0\n + Add the dependent modules to [DSCR_FileContent](https://github.com/mkht/DSCR_FileContent).\n + Remove the dependent modules [DSCR_IniFile](https://github.com/mkht/DSCR_IniFile) and [DSCR_JsonFile](https://github.com/mkht/DSCR_JsonFile).\n\n### 1.0.1\n + Remove unnecessary files in the published package\n\n### 1.0.0\n + [cFirefox] Add the `Credential` property\n\n### 0.9.0\n+ Add new resource `cFirefoxPolicy`\n+ Add new resource `cFirefoxBookmarksPolicy`\n\n### 0.8.0\n + [cFirefox] Now you can specify the ESR version of Firefox. e.g) `VersionNumber = \"60.0esr\"`\n + [cFirefox] Add the `OptionalExtensions` param to opt-out installation of any optional extensions. (This option can be used in Firefox 60 or later)\n + [cFirefox] Add `StartMenuShortcuts` and `StartMenuDirectoryName` params.\n + [cFirefox] Add the `InstallerPath` param for offline installation.\n + [cFirefox] Change the download source URL of the installer to `https://ftp.mozilla.org/`\n\n### 0.7.1\n + Fix issue [#7](https://github.com/mkht/DSCR_Firefox/issues/7) `cFirefoxPrefs` was not loaded some systems.\n\n### 0.7.0\n + Add module dependency ([DSCR_Application](https://github.com/mkht/DSCR_Application))\n + Remove module dependency (xPSDesiredStateConfiguration)\n + Fix issue that the Download process runs even if FireFox has already been installed [#4](https://github.com/mkht/DSCR_Firefox/issues/4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkht%2Fdscr_firefox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkht%2Fdscr_firefox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkht%2Fdscr_firefox/lists"}