Releases: wandersick/ws-dynamic-group
Releases · wandersick/ws-dynamic-group
ws-dynamic-group v2.3
- Version 2.3 - 20190808
- Fix display bug of currentAction variable in CSV log file
- Fix deletion action not being logged
ws-dynamic-group v2.2
- Version 2.2 - 20190806
- Add console output log file under script log directory:
_log\Executions\console_log-<current_date_time>.logachieved using Start-Transcript PowerShell cmdlet - Add (appendable) central action log file in CSV format under script log directory:
_log\action_log-<group_name>.csvwith actions "Addition" and "Deletion" recorded- 6 columns are in the central action log file (CSV):
date time directory_mode group action account
- 6 columns are in the central action log file (CSV):
- Set
$PSScriptRootas script root (where the script can be placed and executed anywhere)
- Add console output log file under script log directory:
ws-dynamic-group v2.1.1
Version 2.1.1 - 20190702
- Add helper files
ws-dynamic-group v2.1
Version 2.1 - 20190529
- Pre-check before user deletion to avoid mistake of deleting a massive number of users
- A userDeletionThreshold will be checked before user deletion
- When threshold userDeletionThreshold is reached (e.g. 0.8 meaning if over 80% of users will be deleted), skip the operation
- After user deletion operation is skipped, an email message pinpointing which execution goes wrong will be sent to alert system administrator
- Force (forceUserDeletion) parameter is supported when system administrator decides to continue even if userDeletionThreshold is reached
- A userDeletionThreshold will be checked before user deletion
- Accept several essential named parameters via command line, overriding the equivalent ones inside script
-csvPath <path to source file>-groupName <group name>-force $true
ws-dynamic-group v2.0
Version 2.0 - 20190529
- Minimize the iterations of for-loops (ForEach-Object) for performance enhancement by:
- Replacing the comparisons in Main Logic with Compare-Object
- Eliminate the use of 'ForEach-Object' for replacing characters with 'Select-Object -ExpandProperty'
- It is no longer a requirement to specify Username as the header in a flat file (CSV)
- The backupBefore parameter is no longer available for customization because backing up group members beforehand is now a hard requirement being a comparison source for Compare-Object cmdlet
- The output file of backupBefore has been reformatted to a single column in order to fit the comparison. (The output file of backupAfter has also been reformatted to align with the change, although not required technically, this still facilitate comparison in case of troubleshooting)
ws-dynamic-group v1.3
Version 1.3 - 20190414
- Maintenance release – no new feature. (Therefore, keep using the last version would be OK)
- Update README document and refactor code for the purpose of an easier reading
- Remove deprecated feature – only one group name can be specified, at the top variable section of the script (specifying multiple group names in CSV was deprecated in the last version)
ws-dynamic-group v1.2
- Performance enhancement
- Rough calculation of an execution of 10,000 objects is 3 times faster than last time
- Reduces the number of for-loops and/or nested for-loops
- Script has been separated into three sections which can be optionally enabled: Backup (Before), Main Logic and Backup (After)
- For performance reasons, only Main Logic is enabled by default
- Within Main Logic, more granularity is achieved by further separating it into User Addition and User Deletion. Each of them can be enabled and run sequentially or in parallel as required
- For example, two sets of the script with similar settings, with the only difference being set A having userAddition enabled and set B having userDeletion disabled, may be run in parallel to speed up user addition and deletion
ws-dynamic-group v1.1
- Besides already supported method of statically creating CSV input file, dynamic LDAP input mode is now supported, where incoming.csv is generated according to a LDAP query specified in the script, live from current Active Directory domain
ws-dynamic-group v1.0
- Monitor a flat file (CSV) for additions or removal of users in one or more groups (as a scheduled task)
- Apply the changes to system accordingly, locally or on a domain controller (Active Directory)
- Support local (workgroup) and domain (Active Directory) environments