PSGPPreferences - a native PowerShell way to manage Group Policy Preferences (formerly PolicyMaker)
The goal of this rather ambitious project is to provide full Group Policy Preferences experience in a command-line interface. Currentlly, Microsoft gives us only cmdlets for the Registry section of GPP, which is clearly not enough.
For more information see:
(Yep, all publicly available official documentation for this functionality is retired)
The most important part of GPP for me is "Local Users and Groups", that's why I started with it.
This module is a very much work in progress — expect breaking changes ahead.
Your help is welcome and appreciated.
Installation
Install-Module PSGPPreferences
What already works
- The "Local Users and Groups" section:
- You can create new groups and their members (
New-GPPGroup
, New-GPPGroupMember
),
- retrieve groups and their members (
Get-GPPGroup
, Get-GPPGroupMember
),
- remove existing groups (
Remove-GPPGroup
),
- add/remove members to/from groups (
Add-GPPGroupMember
, Remove-GPPGroupMember
),
- set group and member properties (
Set-GPPGroup
, Set-GPPGroupMember
).
- create new users (
New-GPPUser
),
- retrieve users (
Get-GPPUser
),
- remove existing users (
Remove-GPPUser
),
- set user properties (
Set-GPPUser
).
What does not work, yet
- Other GPP sections
- Filters
- User context. Only the Machine context is supported right now
- I expect implementing this feature to be a breaking change.
- Ordering
- Cross-domain editing
- Currently you can work only with group policies from your workstation's domain.
Roadmap
- [DONE] Add Users support (Local Users and Groups" section)
- [IN PROGRESS] Tests for Users.
- Printers
- Support for changing the following properties:
- [bool]$removePolicy
- [bool]$bypassErrors
- Support for disabling whole sections
- More tests
- Devices
- User context (v.1.0)
- Services (v.1.0)
- Filters (v.1.1)
- Files (v.1.2)
- Folders
- Ordering
- Environment
- Ini Files
- Data Sources
- Shortcuts
- Network Shares
- Everything else
What will NOT be implemented in the foreseeable future
- Filters: MSI, Registry (They are too complicated)
- Sections: Registry (Windows already has built-in cmdlets for that)