Releases: sorengranfeldt/psma
psma.6.0.1023.2025
This pull request introduces significant improvements to the PowerShell 7 engine integration, focusing on enhanced type handling between PowerShell and .NET, better compatibility with Windows PowerShell 5.1, and extended build/test automation support. The changes ensure that complex and primitive types are correctly marshaled, session and engine variables are consistently set, and development workflows are streamlined with new VSCode tasks.
PowerShell 7 Engine Improvements:
Enhanced object serialization and deserialization: The engine now outputs type information alongside property values (in the format TypeName|Key=Value), allowing the .NET side to reconstruct the original types using the new ConvertFromJSONString method. This ensures accurate handling of booleans, numbers, strings, and complex objects. [1] [2] [3] [4]
Added engine identification variables (PSMAEngineType, PSMAEngineVersion, PSMAEngineSelected) for improved compatibility and diagnostics, especially with Windows PowerShell 5.1. [1] [2]
Session variables are now injected into the PowerShell runtime when provided, increasing flexibility for script execution. [1] [2]
Type and Dependency Updates:
Added a reference to System.Runtime.Serialization in the project file to support JSON deserialization of complex types.
Updated the assembly file version to 6.0.1022.2025.
Bug Fixes:
Improved error handling in import logic to avoid false anchor errors when an error name is already set.
Other Technical Enhancements:
Added System.Runtime.Serialization.Json using directive to support new serialization logic.
psma.6.0.1004.2025
The PSMA now supports both Windows PowerShell 5.1 and PowerShell 7.5+ through a configurable engine selection system:
- Windows PowerShell 5.1 (default) - Maintains full backward compatibility
- PowerShell 7.5+ - Modern features, better performance
Configure the PowerShell version in the Connectivity parameters. Windows PowerShell 5.1 remains the default to ensure compatibility with existing implementations. For detailed information, see PowerShell Version Support.
Huge thanks to Darren Robinson for this major update.
5.6.0327.2024
Updates
Breaking Change (Possible)
- Description: The software now requires .NET Framework 4.8.
- Action: Recompilation for earlier versions is feasible if necessary.
New Features
- ImportPageNumber Parameter
- Purpose: Introduced for import scripts.
- Details: Refer to the Wiki for instructions.
- ExportPageNumber Parameter
- Purpose: Added for export scripts.
- Details: Refer to the Wiki for instructions.
Enhancements
- ExportMaxPageSize Increase
- Change: Maximum export page size raised from 500 to 9999.
- Code Optimization and Revision
- Improvement: Optimized and revised sections of the code.
- Impact: No functional changes, but enhanced performance.
Documentation Updates
- Revision: Documentation has been updated to reflect changes.
- Importance: Review the updated documentation for accurate guidance.
Version 5.6.4.2022
- New feature: Added ImportOnly/ExportOnly specifiers for schema attributes (see documentation)
What's Changed
- Added ImportOnly/ExportOnly specifiers for Schema Attributes by @benoitboudeville75 in #24
New Contributors
- @benoitboudeville75 made their first contribution in #24
Full Changelog: 5.6.3.2022...5.6.4.2022
Version 5.6.3.2022
- New feature: Added option to specify auxilary set of credential passed to scripts (see documentation)
- New feature: Added option for new parameter to support configuration parameters passed to scripts (see documentation)
- Merged try/catch pull request (#18 Added a try catch to the resolving of group names)
- Streamlined names of parameters passed to scripts (fixed inconsistencies)
Note that any existing PSMA need a refresh for this version. So on installation the properties of the MA need a revisit.
psma.5.5.3.1309
- New feature - added support for $Schema parameter. Gets passed to Import and Export script
- Optimized tracing and fixed minor bugs in tracing for errors and warnings
psma.5.5.1.1017
Requires .NET 4.5.2.
- Added support for Write-Verbose/Debug/Progress/Error in scripts.
- Changed PowerShell host to use PowerShell instead of RunSpace to remedy memoryleak in System.Automation.dll if using RunSpace.
- Optimized import code to be more responsive after script returns.
- Also, added support for control values naming to be case-insensitive.
- Added additional parameter to all scripts to pass a PSCredential object for use in scripts.
- Simplified logging information for import objects.
fim-usergroup-sample-scripts
Sample script for FIM Team User Group presentation in 2013
office365-sample-scripts
Office 365 sample scripts
lync-sample-scripts
Sample script for use with Lync 2013