Skip to content

Releases: wandersick/ws-dynamic-group

ws-dynamic-group v2.3

08 Aug 07:45

Choose a tag to compare

  • 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

08 Aug 07:44

Choose a tag to compare

  • Version 2.2 - 20190806
    • Add console output log file under script log directory: _log\Executions\console_log-<current_date_time>.log achieved using Start-Transcript PowerShell cmdlet
    • Add (appendable) central action log file in CSV format under script log directory: _log\action_log-<group_name>.csv with actions "Addition" and "Deletion" recorded
      • 6 columns are in the central action log file (CSV): date time directory_mode group action account
    • Set $PSScriptRoot as script root (where the script can be placed and executed anywhere)

ws-dynamic-group v2.1.1

02 Jul 08:36

Choose a tag to compare

Version 2.1.1 - 20190702

  • Add helper files

ws-dynamic-group v2.1

04 Jun 10:51

Choose a tag to compare

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
  • 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

29 May 14:23

Choose a tag to compare

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

14 Apr 03:06
293a1ee

Choose a tag to compare

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

13 Apr 14:48
5a5ccf8

Choose a tag to compare

  • 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

12 Apr 09:18
f01a25b

Choose a tag to compare

  • 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

12 Mar 14:48

Choose a tag to compare

  • 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