PWPS_DAB_ChangeLog.txt

2023-08-02 Version 23.2.5.0
 
General Made some changes to the module to make it easier to nstall manually (without Internet access to the PowerShell Gallery). In that case, you'd grab the .nupkg
                  file from a good install and copy it to a folder on the target machine. Then run this:
 
                    # start PW ISE as Admin
                    Set-ExecutionPolicy -ExecutionPolicy Bypass -Force
                    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
                    Install-PackageProvider -Name NuGet
                    Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.208
 
                    # .nupkg stored here…
                    Register-PSRepository -Name 'PWPS_DAB' -SourceLocation 'C:\BentleyDownloads\powershell\PWPS_DAB' -InstallationPolicy Trusted
                    Install-Module -Name PWPS_DAB -Scope AllUsers -Force -Verbose -Repository PWPS_DAB
                    Unregister-PSRepository -Name 'PWPS_DAB'
 
2023-08-02 Version 23.2.4.0
 
Changed Cmdlets Get-PWDocumentsBySearch, Get-PWDocumentsBySearchExtended - Fixed a bug in the spatial search
                  Export-PWRichProjectDefinitions - now informs the user when a project type they enter is not found. Also the comparisons are not case sensitive anymore.
 
2023-07-27 Version 23.2.3.0
 
General Note that the titleblock update on Office docs (XLSX and DOCX) is a two step process. The first step is to transfer the ProjectWise metadata
                    to the document properties on the file. Next (normally done by opening the file in the appropriate application) is to transfer the data from the
                    document property to a "field" in docx file or to run the =GetDocumentProperty("property") function in Excel whith is loaded from the integration DLL
                    idOfficeAttributes16.dll.
 
Changed Cmdlets Update-PWWordDocumentFields - Enhanced output and added -DoNotUpdateContent switch
                  Get-PWDocumentsBySearch - Fixed bug related to identifying pathed saved searches
 
Added Cmdlets Set-PWOfficeDocumentProperties - Will update the file properties on a docx or xlsx document. Will attempt to update content if desired. Supports
                        setting arbitrary custom properties on files. If desired this will update DOCX files. It will attempt to update XLSX files, but you may
                        have to open them in Excel to get the functions to calculate properly.
                  Get-PWXLSXDocumentFields - Display XLSX document properties
 
2023-07-12 Version 23.2.2.0
 
Changed Cmdlets Get-PWManagedWorkspaceConfigBlocks - Cleaned the cmdlet up and fixed reported issues with specific levels
 
Added Cmdlets Remove-PWProjectShareFilesOIDC - Deletes files from a from Project Shares
 
2023-07-11 Version 23.2.1.0
 
General Consistently abbreviated ConfigurationBlock ConfigBlock. Now
                        New-PWManagedWorkspaceConfigurationBlock is now New-PWManagedWorkspaceConfigBlock
                        Remove-PWManagedWorkspaceConfigurationBlock is now New-PWManagedWorkspaceConfigBlock
                        Update-PWManagedWorkspaceConfigurationBlock is now Update-PWManagedWorkspaceConfigBlock
 
                  Updated the MS Word and PDF handling assemblies. Please try the Word or PDF manipulation cmdlets again if you've been having trouble.
 
Changed Cmdlets Get-PWUserByLastLogin - Fixed an issue
                  Set-PWManagedWorkspaceForFolders - Removed the NoInheritance switch. It never worked.
                  New-PWRenditionRequest - Added check for email defined for current user.
                  Get-PWManagedWorkspaceConfigBlocks - Cleaned the cmdlet up and fixed an issue with the Workset level
                  Get-PWFolders - Changed the search by name (-FolderName) to use the faster search APIs.
                        Use a subsequent call to .GetFolderProperties() or .GetFullPath() on the resulting array to get the additional
                        values filled in on the folder objects if necessary.
 
Added Cmdlets Remove-PWManagedWorkspaceInheritanceForFolder - Stops inheritance of CSBs from folders above
                  Restore-PWManagedWorkspaceInheritanceForFolder - Restores inheritance of CSBs from folders above
                  Copy-PWFolderConfigurationBlockAssignments - Copies CSB assignments from on folder to another
                  Remove-PWProjectShareFilesOIDC - Removes files from a connect project share. Replacement functionality
                                                                   available via remove, then add.
2023-06-14 Version 23.2.0.0
 
General Updated constituent libraries to latest
 
Changed Cmdlets Get-PWConnectedProjectUsersOIDC, Add-PWConnectedProjectUsersOIDC, Remove-PWConnectedProjectUsersOIDC, Confirm-PWConnectedProjectUsersOIDC,
                  Sync-PWRichProjectUsersAndConnectUsersOIDC - Updated all of these to use iTwins access control APIs.
                  New-PWRenditionRequest - Added check for email defined for current user.
 
2023-06-09 Version 23.1.10.0
 
Added Cmdlets Add-SynchroProject - Creates a Synchro project and optionally associates it with a rich project
                  Open-SynchroProject - Navigates to Synchro project page.
 
Changed Cmdlets Get-PWDocumentsBySearch - Added -PathOfSearchProject parameter to more precisely specify the searches and fixed some bugs in
                                              the way pathed searches were found and executed.
                  Rename-PWDocument - If the DocumentNewName paramter value does not have an extension and the RenameFile parameter is
                                              specified, the filname's old extension is used with the value provided for DocumentNewName for
                                              renaming the file name.
                  Export-PWDocuments - Attempt to speed up processing when the InputDocuments parameter is used. Also metadata should
                                              all end up in one spreadsheet rather than one spreadsheet per document.
                  Remove-PWDocumentSecurity - Correctly removes document workflow security.
 
2023-06-02 Version 23.1.9.0
 
Changed Cmdlets New-PWRenditionRequest - Improvements to handling of parameters that support in-profile non-default options.
                  Set-PWUserIdentity - added support for users input on the pipeline
                  Get-PWFolders - now returns nothing when invalid folder id passed in.
 
2023-05-17 Version 23.1.8.0
 
Added Cmdlets Set-PW365AutoSyncUserIdentity - use to reset user that performs the auto sync for work area connections
 
Changed Cmdlets New-PWRenditionRequest - Added parameters to support in-profile non-default options.
                  Get-OIDCToken - added new scope projectwise-user-sync-api, so you will probably need to generate new tokens.
 
2023-05-10 Version 23.1.7.0
 
Changed Cmdlets Remove-PWEnvironmentColumn - Added the RemoveDatabaseColumn parameter. If you use it, PWPS_DAB
                                               actually deletes the column data and removes the column in the database
                                               environment table
                  Add-PWSavedSearch - Added DocumentGUID property. Value supports SQL Queries returning document GUIDs
                  Add-PWSavedSearchOrGroup - Added DocumentGUID property. Value supports SQL Queries returning document GUIDs
                  Set-PWFolderWorkflow - Improved functionality. Added Force parameter.
 
2023-05-02 Version 23.1.6.0
 
Changed Cmdlets Import-PWDocumentsBySpreadsheet, Save-PWDocumentReport - changes to date formats to make these cmdlets more
                    compatible with each other
 
2023-05-01 Version 23.1.5.0
 
General Changed initialization to support v 23.0.0.x of ProjectWise Explorer
Changed Cmdlets Get-PWManagedWorkSpaceConfigurationBlocks - A couple of fixes by Bentley development staff.
 
2023-04-20 Version 23.1.3.0
 
Added Cmdlet Export-PWDocumentsSimple - Initial version. Intent is to mimic ProjectWise Explorer export functionality.
Changed Cmdlets Remove-PWApplicationActions - Fixed reported issues.
 
2023-04-13 Version 23.1.2.0
 
Changed Cmdlets Import-PWAccessControlFromExcel - Help more complete, AlternateXLSXImport no longer mandatory
 
Improved support of $Field$ expressions
 
2023-04-03 Version 23.1.1.0
 
Changed Cmdlets Get-PWUserByLastLogin - Running without parameters should not produce dumplicates
                 Export-PWDocuments - Fixed bug where all files were ending up in the target folder root rather than subdirectories
                 Rename-PWDocuments - Matching should now be case insensitive
 
Changed PWDoc CustomAttributes property so that key should not be case sensitive
 
2023-03-27 Version 23.1.0.0
 
Major Security release; hence the version change
 
Added Cmdlets Get-PWProjectShareFilesFromFoldersOIDC - Download the Project Share files from an array of rich project folders
                    Get-PWProjectShareFileReportOIDC - Generate a report of the Project Share files
 
Changed Cmdlets Import-PWDocuments - SkipDateCheck parameter now honored
 
                    Add-PWASavedSearch - Added Status parameter
                    Add-PWSavedSearchOrGroup
 
2023-03-17 Version 23.0.5.0
 
Changed Cmdlets Add-PWSavedSearch - Improved help
 
                    Copy-PWSavedSearch2 - Changed the name of FromRoot switch to FromDatasourceLevel. This switch
                                                         now functions correctly.
 
2023-03-10 Version 23.0.4.0
 
Changed Cmdlets Remove-PWFolder - If the Enable 'Deleted Items' folder datasource setting is checked,
                                                         folders and documents deleted by this cmdlet will be sent to the
                                                         'Deleted Items' folder.
 
                    Import-PWDocuments - The IncludeEmptyFolders switch now functions correctly.
 
Changed function New-PWScanForReference - The RecursePriority and RecurseMasterFolders switches now work correctly for
                                                         multiple paths. The Proximity parameter will accept all values that its
                                                         corresponding ScanRefs command line parameter does.
 
 
2023-03-03 Version 23.0.3.0
 
Changed Cmdlets Copy-PWDocumentsBetweenDatasources - Added ConvertToUTC switch.
 
2023-02-27 Version 23.0.2.0
 
Added Cmdlets Get-PWProjectShareFilesOIDC - Lists files in a Connected Project's project share storage and optionally downloads and deletes them.
 
Changed Cmdlets Copy-PWDocumentsBetweenDatasources - Misc. changes
                    Copy-PWFolder - Added CopyVersions switch
                    Get-PWFileChecksumReport - Will no longer invoke Excel of no output file is specified. Added DoNotOpenExcel switch to
                                                         prevent output file from being displayed if this is not wanted.
                    New-PWLogin - Will issue error message if -Token is used without -BentleyIMS
                    Remove-PWFolder - Misc. tweaks
 
2023-02-15 Version 23.0.1.0
 
Added Cmdlets Remove-PWDocumentSecurity - Removes ACL records added directly to documents
                    Get-PWMonthlyUserAdminActions - Generates a report counting monthly user admin actions by administrator. Can be used
                        to gauge user administration workload.
                    Remove-PWView, Remove-PWInterface - initial versions
 
Changed Cmdlets Get-PWDSCOnfigEntry - Added the Slow switch. Using this will populate returned properties that take awhile
                                          to obatain. Presently these are the ODBC Datasource name and ODBC user name. Note you
                                          also need sufficient credentials for these to be populated.
                    Set-PWDocumentVersion - Added support for using an attribute to update the version string
                    Export-PWDocuments - Improved exporting of versions
 
2023-01-30 Version 23.0.0.0
 
General Bentley is adopting a new version naming scheme. Now versions are going to begin with the year of
                    release (e.g. '23.X.X.X'). The PowerShell team is adopting this nomenclature for this release. Fear
                    not, there are no real differences under the covers, but it does make sense for all of Bentley to be
                    using a consistent version naming convention. This version won't break any existing scripts and won't
                    require any system upgrades.
 
Changed Cmdlets All managed workspace cmdlets now accept types of "Project" or "Workset" These types are synonymous.
                    Copy-PWMailMessagesFromExchange - Added Delete Mode parameter. Outputs exception info if deleting of
                        message fails.
                    Update-PWFolderNameProps - made changes to reduce the number of required parameters. Added
                        -ClearDescription switch.
 
2023-01-19 Version 2.2.1.0
 
General Updated to .Net Framework 4.8 previously for enhanced security. Download from here:
                    https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-web-installer
 
Changed Cmdlets All iModel cmdlets were changed to NOT require an admin login to the ProjectWise datasource. Since this is basically a read-only action
                        from ProjectWise, it seems too restrictive to require an admin login to the datasource. Your permissions on the PW365 project
                        and in iTwins will really control what you can do when creating iModels.
 
Added Cmdlet Switch-PWReference - allows user to swap an existing reference with another document.
 
2023-01-11 Version 2.2.0.0
 
General Updated to .Net Framework 4.8 for enhanced security. Download from here:
                    https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-web-installer
                    Changed copyright date to 2023.
                    Incremented minor version number to 2.
                    Updated .Net Framework version for all dependent applications: GetOIDCToken.exe, MicroStationKeyinProcessor.exe and
                        PWPS_DAB_Reporting.exe.
 
Changed Cmdlets Get-PWUserByLastLogin - More tweaks. Works more like you would expect.
 
2022-12-22 Version 2.1.23.0
 
General Updated SQLite Assemblies to latest due to possible security issue
 
Changed Cmdlets Add-PWSavedFolderSearch - Now functions again
                    Get-PWUserByLastLogin - added more verbose messages and changed processing procedure to look at dms_audt first
 
2022-12-13 Version 2.1.22.0
 
Added Cmdlets Update-PWDocumentsOnServer - Updates local copies on server. Equivalent functionaly to the Update Server Copy of
                                                                                  ProjectWise Explorer's Check-in dialog.
                                           
Changed Cmdlets Copy-PWDocumentsBetweenDatasources - Now correctly accepts documents from the pipeline
 
2022-12-02 Version 2.1.21.0
 
Added Cmdlets Copy-PWSavedSearch2 - More flexibility for copying search from between datasource and project levels and
                                          also between global and personal.
                    Reset-PWReferencesToActive - When references have been changed to use document versions, reverts them to the active document.
 
2022-11-23 Version 2.1.20.0
 
Changed Cmdlets Add-PWEnvironmentColumn - Internal improvements
                    Update-PWFolderSecurity - fixed bug
 
2022-11-16 Version 2.1.19.0
 
Changed Cmdlets Import-PWDocumentsFromArchive - Added an UpdateExistingEnvironments switch, other improvements
                    Export-PWDocumentsToArchive - Corrected behavior when no documents are found
                    Add-PWEnvironmentColumn - Internal improvements
                    Import-PWDocumentsBySpreadsheet - Improved reading of date columns in environments tabs
                    New-PWRichProject - Improved help
                    ConvertFrom-EncodedToken - Fixed bug
 
2022-11-01 Version 2.1.18.0
 
Changed Cmdlets Add-PWSavedSearch - Now supports $field expressions
                    Add-ImodelNamedVersion - Added parameters NumberToSkip and NumberOfChangesets
 
2022-10-28 Version 2.1.17.0
 
Changed Cmdlets Update-PWDocumentAttributes - Fixed null handling for attribute values. Fixed version attribute updating.
                    New-PWReplicatedStorageAreas - Made performance enhancements
                    Import-PWDocumentsFromArchive - Fixed issue with FileUpdated property having the wrong value
                    Export-PWDocumentsToArchive - Fixed issue with FileUpdated property having the wrong value
 
2022-10-20 Version 2.1.16.0
 
Changed Cmdlets Export-PWProjectAccessControl - Fixed more extraneous permissions issues. Fixed issue where ParentProjectName and
                                                    columns were missing values for some rows
                    Get-PWManagedWorkspaces - Added the -IncludedInherited switch to retrieve inherited CSBs
                    Get-PWManagedWorkspaceVariables - Now populates values property
                    New-PWProjectShareFileFromProjectWise - corrected example
                    Get-PWManagedWorkspaceConfigBlocksFromFolder - Changed data table column names
                    Select-PWSQL, Select-PWSQLDataTable - enhanced security. These now require admin logins to use.
 
2022-10-01 Version 2.1.15.0
 
Changed Cmdlets Export-PWDocumentsToArchive - Added -Overwrite switch to overwrite the SQLite database file. Default behavior was and is to merge data into the
                        export SQLite file if it exists. Improved capability with complex environments.
                    Import-PWDocumentsFromArchive - Added -ExcludeEnvironments swtich. If used environment definitions will not be updated from input SQLite.
                        Improved capability with complex environments.database
                    Export-PWProjectAccessControl - Fixed an extraneous permissions issue.
                    Add-PW365Project - changed Work Area Connection creation logic to exclude creation of Documents WAC when using Organizational templates.
                        Use -RetainDefaultWAC switch to retrain the default Documents WAC.
 
2022-09-27 Version 2.1.14.0
 
Changed Cmdlets Add-PW365Project - changed "wait for provisioning" logic to ensure all of the component elements are created before proceeding.
 
2022-09-22 Version 2.1.13.0
 
Added Cmdlets Get-PW365ProjectWorkAreaConnections - Get a list of work area connections for a PW365 Project
                    Remove-PW365ProjectWorkAreaConnections - Remove a work area connection from a PW365 Project
                    Update-PW365ProjectWorkAreaConnections - Update a work area connection with -SetAsPrimary, -SetDriveSync, -SetAutoUserSync, -SetOnAccessUserSync
 
Changed Cmdlets Export-PWDocumentsToArchive, Import-PWDocumentsFromArchive - various bug fixes
 
2022-08-29 Version 2.1.12.0
 
Changed cmdlet Add-PW365Project - Add -RetainDefaultWAC switch. Default behavior is to remove.
 
2022-08-26 Version 2.1.11.0
 
Various bug fixes.
 
Changed cmdlet Checkin-PWDocumentsOrFree - Added ImportFolder parameter. Allows you to specify alternate folder for exported files to be re-imported.
                    Add-PW365Project - Now defaults to using new PW365 APIs. Defaults to released version of APIs. Defaults to removing "Documents" WAC.
                        Use -UseLegacyAPIs if you have issues with the new ones.
 
2022-08-05 Version 2.1.10.0
 
Added Cmdlets New-PWPDFDocuments - Create valid PDFs with given text and QR code or optionally random text. Save to disk or in ProjectWise. Use for generating test content.
 
Changed Cmdlet Import-PWDocuments - Added verbose messages to help troubleshoot timestamp issues. Fixed date values in validation report. Fills in missing file name / extension
 
2022-07-28 Version 2.1.9.0
 
Added Cmdlets Add-PWSavedFolderSearch - Add a saved search for folders to the datasource
 
Changed Cmdlet Get-PWDocumentsBySearchWithReturnColumns - Found documents that are not abstract have their
                                                               FileUpdateDate property populated
 
2022-07-18 Version 2.1.8.0
 
General To suppress the startup messages with version and bitness of session, set the system environment variable SuppressPSOutput.
 
Added Cmdlets Get-PWAdobeSignParameters - Get the AdobeSign Parameters for the current datasource
                    Send-PWDocumentsToAdobeSign - Send PDFs to AdobeSign for signing using the Web API (PWPTS)
                    Set-PWAdobeSignParameters - Set the AdobeSign Parameters for the current datasource (default URL, Integration Key, Flat Set folder, etc.)
 
Changed Cmdlets Copy-PWUser - Fixed issue with settings copy when a user logged into PowerShell is in the admin group but does not have ultimate privileges
 
2022-06-29 Version 2.1.7.0
 
Changed Cmdlets Get-OIDCToken - changed this to always use the web page rather than the dedicated dialog box. Changes were made on the authorization side that made
                        the dialog box no longer work.
                    Add-PWDocumentReference - changed to support reference model id
                    Add-PW365Project - changed Billing Country defaults
 
2022-06-17 Version 2.1.6.0
 
Changed Cmdlets Copy-PWUser
 
2022-06-17 Version 2.1.5.0
 
Changed Cmdlets Copy-PWDocumentsBetweenDatasources, Copy-PWFoldersBetweenDatasources - Changed -OriginalsOnly switch to -ActiveDocumentsOnly to better describe effect
 
2022-06-17 Version 2.1.4.0
 
Changed Cmdlets Get-OIDCToken - Due to a change in token retrieval mechanism this is changed to force use of web page. Will try to reinstate dialog in the future.
 
2022-06-17 Version 2.1.3.0
 
Added Cmdlets Save-FileFromWeb - Utility function makes it easy to download files from URLs. Creates target directory if it does not exist.
                    Get-FilesInFolder - Attempt to provide a a faster version of Get-ChildItems. Allows filtering by update times.
                    Copy-PWUser - Initial Version
 
Changed Cmdlets Show-PWFolderBrowserDialog, Show-PWDocumentSelectionDialog - Added -DialogTitle parameter.
 
2022-06-14 Version 2.1.2.0
 
Changed Cmdlets Get-OIDCToken - Added -UnattendedMode switch which will throw an exception when the token can't be refreshed rather than launching
                        the authorization dialog. Added -PreserveRegistryValues switch which will prevent the registry from getting cleared if the refresh fails.
                        Added -ForceError switch for testing your script as it will force the cmdlet to throw an exception. Note that two Client Ids have been
                        registered for this cmdlet: powershelltokengen and powershelltokengen2. There is nothing stopping you from creating your own client id
                        at developer.bentley.com. Multiple client ids are necessary if you switching between authorities or changing scopes.
 
2022-06-01 Version 2.1.1.0
 
General Added ProjectWiseWebViewLink and ProjectWiseWebLink to the Document and Folder objects. If the web view link does not resolve, make sure
                        the datasource is registered. ProjectWiseWebLink should give the option to open in PW Explorer.
 
Changed Cmdlets Copy-PWSavedSearch - Fixed bug when copying search across projects.
                    Get-PWFolders - Fixed longstanding bug where path was not the default parameter
                    CopyOut-PWDocuments - for when Export-PWDocuments is insufficient. Has -KeepUpToDateLocalCopy and -OverwriteLocalCopy switches
                    Copy-PWFoldersBetweenDatasources - add -OriginalsOnly switch
                    Copy-PWDocumentsBetweenDatasources - add -OriginalsOnly switch
 
2022-04-28 Version 2.1.0.0
 
Added Cmdlets Add-PW365WorkAreaConnectionOIDC - Adds one or more rich projects to a PW365 as Work Area Connections. Very detailed example included.
                    Set-PWWorkAreaConnectionDisabledOIDC - Allows you to disable an existing PW365 Work Area Connection which will hide it from users and remove
                        PW Drive Sync from WAC.
 
2022-04-22 Version 2.0.8.0
 
Changed Cmdlets Import-PWDocuments - Added -MultiThreaded switch. Seems to provide substantial improvement in import speeds.
                    Export-PWDocuments - Fixed a bug with trailing periods in folder names.
                    Update-PWFolderSecurity - Made requested fixes to help and parameter handling.
                    Get-PWFileChecksumReport - Changed output to be datatable including more information about all the processed files.
 
2022-04-08 Version 2.0.7.0
 
Added Cmdlets Add-PWApplicationAction - Adds an application action
                    Get-PWDocumentReferenceElementIds - Provides a report of reference elements in DGNs. Valid Element ID is required for Add-PWDocumentReference.
 
Changed Cmdlets Add-PWSavedSearch - Added the -AllEnvironments switch.
 
2022-03-25 Version 2.0.6.0
 
Added Cmdlets Remove-PWApplicationActions - remove application actions
 
Changed Cmdlets Update-PWFolderNameProps - where if the -NewName parameter is omitted, the cmdlet renames the supplied folders with a non-sensical name.
 
2022-03-22 Version 2.0.5.0
 
Changed Cmdlets {Folder}.GetFullPath() - fixed bug preventing this from working correctly.
                    Export-PWDocuments - fixed bug with folder names with trailing period (illegal on file system).
 
2022-03-16 Version 2.0.4.0
 
Changed Cmdlets Set-PWDocumentApplication - added -ChangeVersionApplications and -ChangeFinalStatusApplications switches.
                    Export-PWTagMappings, Import-PWTagMappings - fixed bugs having to do with Folder Property mappings which were not exporting or
                        importing properly.
 
2022-03-08 Version 2.0.3.0
 
Changed Cmdlets Copy-PWDocument - fixed example in the help.
                    Add-PWSavedSearch - fixed bug where an invalid search was created if the Environment parameter was not passed. Now will create
                        a search that searches all environments if no Environment parameter
                    Update-PWFolderStorageArea - fixed bug where rich project folders were getting downgraded to regular folders.
 
2022-02-16 Version 2.0.2.0
 
General Changed the default mechanism for XLSX generation and replaced a dependent file with the right version inadvertently substituted
                        in v 2.0.1.0.
 
2022-02-15 Version 2.0.1.0
 
General Updated to .Net Framework 4.7.2.
 
Added Methods Enhanced the document object to include .GetFolder() to return the document's containing folder object, .CopyOut() and .CopyOut(TargetFolder) to make
                        it easier to retrieve a file, and .CopyOutReplicateFolders(TargetFolder) to copy out the file and replicate the ProjectWise folder
                        path on disk. The target or parent path must be provided. Supports long paths, so it is possible to copy out a file to a path you
                        can't get to with Windows Explorer. There are File Explorer replacements that do allow you to navigate to deep folders (see
                        FreeCommander at freecommander.com).
 
Changed Cmdlets Get-OIDCToken - changed default scopes. Seems to be required to get Start-ImodelConnectionProcessing and Get-ImodelConnectionRunStatus to
                        work properly.
                    Get-PWUsersByMatch - added -LoginInfo switch to ensure that the Federated Identity and Provider are populated in the user object
                    Get-PWUserByLastLogin - added -IdentityInfo switch to populate the Federated Identity and Provider in the user object
 
2022-01-31 Version 2.0.0.0
 
General No real big changes, but since this module was first released in 2017, the five year anniversary seems like a good time to increment the major version.
 
Added Cmdlets Add-PWRendtionPresentationOptions, Set-PWRendtionPresentationOptions - Presentation options allow you to associate an IPLOT .set file to a rendition profile.
 
Changed Cmdlets Get-PWRendtionPresentationOptions - changed the data reported for the presentation options
                    Export-PWDocuments - added -UseUnderscores switch so that illegal characters in the ouput file path are replace with underscores rather then the character
                        names (e.g. {colon}, {pipe}, etc.).
 
2021-12-08 Version 1.30.13.0
 
Changed Cmdlets Get-PWUsersByMatch, Get-PWUserByLastLogin - enhanced the user type to pick up Windows Synchronized users. Type is now WinSync.
 
2021-12-08 Version 1.30.12.0
 
Changed Cmdlets Remove-PWUserFromUserlist - fixed error message.
 
2021-12-06 Version 1.30.11.0
 
Added Cmdlets Update-PWFolderStorageArea - cmdlet to update a folder's storage area. Use with care since this does not change a contained document's storage area.
 
Changed Cmdlets Update-PWUserProperties - changed Password parameter to require secure string.
 
2021-11-08 Version 1.30.10.0
 
Changed Cmdlets Get-PWProjectTemplates (and related) - fixed a bug with finding the template locations.
 
2021-11-03 Version 1.30.9.0
 
Added Cmdlets Remove-PWIndexServerFileExtensionFilters - we had Add and Get. Needed Remove. Manages the file extensions you don't want to process for
                        FullText, Thumbnail or FileProperties.
 
Changed Cmdlets New-PWRichProjectsFromSpreadsheet - added some extra data validation
 
2021-10-19 Version 1.30.8.0
 
Changed Cmdlets Get-PWUsersByMatch, Get-PWUsersLoggedIn, Get-PWConnectedUserList - fixed bug where -LastLogin switch was being ignored. Should have desired
                        behavior now where that expensive query is bypassed unless explicitly included.
 
2021-10-05 Version 1.30.7.0
 
Changed Cmdlets Export-PWAuditTrailToSQLite - added support for additional audit trail actions and objects
                    Add-PW365Project - removed rich project association logic. At this time, PW365 projects don't associate with PWDI Rich Projects properly.
 
2021-09-21 Version 1.30.6.0
 
Changed Cmdlets Get-PWDMTransmittalsForDocuments - modified version handling a bit
                    Add-PWDocumentsWithCode - added handling for some additional document code definition features
 
2021-09-20 Version 1.30.5.0
 
Added Cmdlets Get-PWDMTransmittalsForDocuments - get a table with the containing transmittals/submittals for a collection of documents.
                    Export-PWWorkflows - writes workflows and states out to a spreadsheet
                    Import-PWWorkflows - imports workflows and states from a spreadsheet
 
Changed Cmdlets Set-PWDocumentState - added hidden -Force parameter
 
2021-09-02 Version 1.30.4.0
 
Changed Cmdlets Add-PWDocumentsWithCode - slight change in the way the code columns are processed.
 
2021-08-30 Version 1.30.3.0
 
General Changed module start-up script to force TLS 1.2 security and report module version.
 
Changed Cmdlets Export-PWEnvironments - changed the way the column names are to preserve consistency.
 
2021-08-17 Version 1.30.2.0
 
General Added digital signatures to some artifacts in order to allow loading under AllSigned and RemoteSigned execution policies.
 
2021-08-11 Version 1.30.1.0
 
Added Cmdlets Update-PWGroupProperties - modify group properties
 
Changed Cmdlets Get-OIDCToken - made changes to support new IMS protocols. Federated accounts should work now.
                    Get-OIDCClientToken - removed. This was unnecessary.
 
2021-07-22 Version 1.29.4.0
 
Changed Cmdlets New-PWPowerShellScript - functionality removed because there are better approaches built into ISE like Edit>Start Snippets
                    Import-PWDocuments - Fixed a lot of bugs. Sometimes -FoldersOnly or -IncludeEmptyFolders had anomalous results. The files in the root of an import folder would get erroneously removed on a
                        second import run if -MakeProjectWiseMatchDisk was set. The validation reports did not populate correctly on the first import run. File last write dates were not getting properly
                        recorded in ProjectWise leading to repeated imports of files with no changes. Make sure you use -ServerIsUtc when importing to Bentley-hosted datasources because they are all UTC
                        by default.
                    Copy-ValueToClipboard - utility to copy a string value to the clipboard
                    Get-PWUsersLoggedIn - added -ReturnCount switch for performance purposes.
 
2021-07-20 Version 1.29.3.0
 
Changed Cmdlets Get-OIDCToken - added more debugging information
                    Update-PWUserSetting - added General_CanAccessTrashCan as an option
 
2021-07-14 Version 1.29.2.0
 
General Module publishing issues
 
2021-07-14 Version 1.29.1.0
 
General Fixed problem with help file
 
2021-07-14 Version 1.29.0.0
 
Added Cmdlets Get-PW365Templates - Get PW365 Templates.
                    Get-ImodelsForProject - Get the imodels in the given Connected project
                    Add-ImodelToProject - Add a new imodel to a Connected project
                    Get-ImodelConnections - Get the connections for a given iModel
                    Add-PWConnectedProjectOIDC - Add a new connected project with OIDC Token
                    Get-ImodelConnectionInputFiles - Gets the PW Documents referenced in a connection
                    Add-ImodelConnection - Add PW Documents to an Imodel (creates as many connections as necessary)
                    Start-ImodelConnectionProcessing - Start processing the files in the connection
                    Get-ImodelConnectionRunStatus - Check and see if the processing has completed successfully
                    Add-ImodelNamedVersion - Adds "Named Version" to the imodel to view results
 
Changed Cmdlets Get-OIDCToken - Saves more information about the token to hopefully reduce login interactions
 
2021-06-22 Version 1.28.2.0
 
General Dropped support for version 10.0.5.XXX of Deliverables Management Connector. Only supporting 10.6.0.XXX at the moment.
 
Changed Cmdlets Get-OIDCToken - Added -UseCacheIfAvailable option (picks up the last token generated to bypass dialog). Otherwise, using the defaults we will try to
                        refresh your token automatically. Probably will deal with the long running operation case in most scenarios.
 
                        General approach:
 
                        $oidcToken = Get-OIDCToken ## will attempt to get a new token using the refresh token saved during the last session, otherwise will display dialog
                        foreach ($x in $xs) {
                            if ($oidcToken.TTL() -lt 100) { $oidcToken.Refresh() }
 
                            OIDC-Operation $x -OIDCToken $oidcToken
                        }
 
                    Update-OIDCToken - now just requires Refresh Token and should generate usable OIDC Token directly.
 
2021-06-22 Version 1.28.1.0
 
Added Cmdlets Get-DirectoryListing - Fast directory listing you can output to XLSX or SQLite.
 
Changed Cmdlets Get-OIDCToken - Added -UseWebPage option (if you don't want to use the dialog). Changed default scopes to support User-Sync and Drive-Sync setting.
                    Sync-PWRichProjectAndConnectUsersOIDC - Added -NoDelete option.
                    Set-PWWorkAreaConnectionUserSync - Now enables Drive by default. Added -SetPrimary switch which will turn on WAC primary setting.
 
2021-06-10 Version 1.28.0.0
 
Added Cmdlets Get-PWConnectedProjectUsersOIDC - Get the Connected Project Users. Supports report output.
                    Open-PWConnectedProject - navigates to Connected Project page
                    OIDCToken Class - added TTL() (time-to-live) and Refresh() methods to the object. Use offline_access scope to get a "refreshable" token.
                    Get-PWFolderTreeAccessObjects - Get a list of all the user lists and groups with access assigned in a folder tree
                    Get-PWFolderTreeAccessUsers - Get a list of all the userss with access assigned in a folder tree. Supports report output.
                    Remove-PWConnectedProjectUsersOIDC - Removes users from a Connected Project
                    Add-PWConnectedProjectUsersOIDC - Adds users to a Connected Project
                    Sync-PWRichProjectAndConnectUsersOIDC - Synchronizes users from PWDI rich project to associated connected project. Removes users as necessary.
 
Changed Cmdlets Get-OIDCToken - changed to present dialog rather than navigate to web page
                    Update-PWFolderSecurity - change to consistently return $true on success and $false if errors occur.
 
2021-04-28 Version 1.27.2.0
 
Added Cmdlets Get-PWFoldersHashTableById, Get-PWFoldersHashTableByGuid - returns hash tables of all the folder paths allowing for easy lookup when reporting.
                    Save-PWFoldersHashTable, Import-PWFoldersHashTable - when datasource has a lot of folders and is relatively static, may be useful to save the list
                        and reuse rather than continually rebuild.
 
Changed Cmdlets Get-PWManagedWorkspaceVariables – fixed bug that was crashing PowerShell.
                    Add-PWUsersToConnectedProject (and related cmdlets) - added -SuppressTeamMemberRole parameter.
 
2021-03-16 Version 1.27.1.0
 
General Added .UpdateName(string newName) and .UpdateDescription(string newDescription) to the Group object.
 
Changed Cmdlets Add-PWDocumentsWithCode – updated to allow specifying a serial number. Previous behavior was to ignore serial number if specified.
 
2021-03-05 Version 1.27.0.0
 
General Changed the feature usage tracking logs in order to improve performance. The change should be noticeable.
 
Added Cmdlets Show-JWTValue - use to show the formatted content of an OIDC Token. Can be used to validate or debug.
 
2021-02-24 Version 1.26.1.0
 
General Added .LocateRichProject() and .LocateConnectedProject() to the Folder object
                    Added .LocateRichProject() to the Document object
 
Added Cmdlets Get-OIDCToken - first cut at getting OIDC token for use with some of the new web services. Won't work in unattended use case.
                    Get-PWWorkAreaConnectionsOIDC - uses new web services to get the Work Area Connection objects
                    Set-PWWorkAreaConnectionUserSync - uses new web services to set User Sync for Work Area Connection objects. Rquires both
                        Connection Client and OIDC tokens.
 
Updated Cmdlets Get-PWWorkAreaConnections - updated to allow passing in list of Connected Project Ids in additon to folder objects
 
2021-02-20 Version 1.26.0.0
 
General Made changes to to the feature usage tracking which should make it less delay-inducing and more secure.
                    Updated the Aspose.PDF library to v 21.2.0.0. In the past, these updates have generally been improvements in terms of performance and fidelity.
                        All the PDF cmdlets will be affected.
                    Added the Aspose.Words library v 21.2.0.0 to support Word file manipulation.
                    Added StatusChangeDate property to the document object properties
 
Added Cmdlets Update-PWWordDocumentFields - update the defined fields in a Word Document (title block update)
 
2021-01-27 Version 1.25.0.0
 
General Updated the Aspose.PDF library to v 21.1.0.0. In the past, these updates have generally been improvements in terms of performance.
                        All the PDF cmdlets will be affected.
                    New versions of PWSearchWrapper.dll and PWSearchWrapperX64.dll are delivered to support Get-PWDocumentsBySearchExtended.
 
2021-01-28 Version 1.25.1.0
 
General Made changes to support recently released versions of the Deliverables Management Connector
 
2021-01-27 Version 1.25.0.0
 
General Updated the Aspose.PDF library to v 21.1.0.0. In the past, these updates have generally been improvements in terms of performance.
                        All the PDF cmdlets will be affected.
                    New versions of PWSearchWrapper.dll and PWSearchWrapperX64.dll are delivered to support Get-PWDocumentsBySearchExtended.
 
Added Cmdlets Get-PWDocumentsBySearchExtended - latest search cmdlet. Adds parameters for Environments, Workflows, Storages, Applications,
                        Creators, Updaters, CheckOutUsers, Status (CheckedIn, CheckedOut, FinalStatus, Exported, ComingIn, GoingOut),
                        and ItemTypes (Abstract, Set, Normal). Includes Geospatial search support (Requires LL84 Coordinate system to be installed).
                        Includes ReturnColumns list like Get-PWDocumentsBySearchWithReturnColumns. The populated properties on the returned document
                        objects is also extended.
 
Changed Cmdlets Add-PWProjectShareConnection - changed this to allow you to pass an existing Connected Project ID rather than requiring the rich
                        project to already be a Connected Project.
                    Update-PWRichProjectProperties - updated to include optional explicit ordered list of properties to update from auto-lookups
                        and auto-select. Subsequently, will attempt to do all other lookups and classes.
 
2020-12-22 Version 1.24.4.0
 
Added Cmdlets Switch-PWDatasourceDatabaseUser - use to switch between database users. Changes ODBC user in the ODBC entry and changes dmskrnl.cfg
                    Reset-PWServerWhiteList - use to install least restrictive rule set for the SQL Whitelist version of ProjectWise (10.0.3.293)
 
2020-12-17 Version 1.24.3.0
 
Changed Cmdlets Get-PWUsersInGroup, Get-PWUsersInUserList - fixed bug dealing with invalid CreatedDate for users
 
2020-12-16 Version 1.24.2.0
 
Changed Cmdlets Copy-PWDocumentsBetweenDatasources - fixed problem with flat set support and fixed issues with audit trail copy
                    Get-PWUsersInGroup, Get-PWUsersInUserList - updated to include correct values for IsConnected, IsDisabled, CreatedDate
 
2020-12-15 Version 1.24.1.0
 
Added Cmdlets Added a .GetSubFolders() method to the Folder object. Will return a list of subfolders and populate the .SubFolders list property.
                    Get-PWFolderView - returns Document List view and Preview Pane view for a folder.
 
Changed Cmdlets Add-PWUsersToConnectedProjectByGroup - fixed bug when Connected Project ID not explicitly provided
                    Copy-PWDocumentsBetweenDatasources - fixed to support copying attributes, audit trail, dates and ownership along with file
 
2020-12-10 Version 1.24.0.0
 
Added Cmdlets Added a .Locate() method to the Document and Folder objects. Will attempt to locate the document or folder in PW Explorer.
                    Added a .GetFolderDocuments() and .GetTreeDocuments() method to the Folder object. Will populate the FolderDocuments
                        list and TreeDocuments list respectively.
                    Remove-PWSavedSearchBySearchID - delete search by ID
 
Changed Cmdlets Update-PWFolderSecurity, Remove-PWFolderSecurity - updated to return more informative error messages
                    Remove-PWDocuments - now returns Error ID on failure
                    Set-PWFolderWorkflow - added help information and now returns Folder Objects for use in the pipeline.
                    Updated Clear-PWFolderWorkflow, Set-PWFolderView - added help information
                    Update-PWFolderNameProps - change to accept an InputFolder object and emit updated ProjectWise Folder object
                    Get-PWSavedSearches - added more informative warning messages
                    Remove-PWSavedSearch - added more informative messages and fixed bug where ALL saved searches were deleted if no parameters provided.
                    Add-PWUsersToConnectedProjectByUserList - fixed bug. Should work now.
                    Add-PWUsersToConnectedProjectByGroup - fixed bug. Should work now.
 
2020-12-07 Version 1.23.12.0
 
Added Cmdlets Get-PWRichProjectForFolder - get the parent Rich Project of a folder
                    Get-PWRichProjectForDocument - get the parent Rich Project of a document
                    Get-PWWorkAreaConnections - list the existing Work Area Connections (called ProjectWise Connections on your Connected Project home page)
                    Update-PWWorkAreaConnections - update the stored Web Service Gateway address and datasource for exisiting Work Area Connections (called
                        ProjectWise Connections on your Connected Project home page)
 
2020-11-16 Version 1.23.11.0
 
Changed Cmdlets Reset-PWPDFText - added support for over-stamping text. Should be used with invisible text. Added switches are -StampOverText to force stamping,
                        -Rotation to override text's rotation, -Opacity to control opacity, -Font to override existing font, -OverrideSize replacement font size
 
2020-11-12 Version 1.23.10.0
 
Changed Cmdlets Convert-PWUserToFederated - added test to determine if the user's email or the specified identity already exists within the current datasource
                    Update-PWFolderSecurity - fixed bug with -IncludeInheritance switch
 
2020-11-09 Version 1.23.9.0
 
Added Cmdlets Update-PWFolderSecurityByGroupSwapWithWorkflow - supports group substition for access control
                    Get-PWManagedWorkspaceConfigBlocksFromFolder - returns a data table containing the Managed Workspace configuration blocks for the input folders.
                    Get-PWEncodedPassword, Get-PWDecodedPassword - provides a standard way to hash and decode a password
 
2020-10-27 Version 1.23.8.0
 
Changed Cmdlets Import-PWDocumentsFromArchive - fixed bug where the archive was required to contain an exported audit trail table. Now is not required.
                    Add-PWDocumentsWithCode - fixed bug where "optional" code elements were being ignored.
 
2020-10-15 Version 1.23.7.0
 
Changed Cmdlets Export-PWDocumentsToArchive, Import-PWDocumentsFromArchive - added support for version stacks where name/filename may vary through
                        the stack, references and flat sets. Calling this archive format version 2.
 
2020-10-07 Version 1.23.6.0
 
Add Cmdlets Get-PWFolderTreeDocumentSizeByDepth - reports size and max update date for folder trees by depth
 
Changed Cmdlets Copy-PWFoldersBetweenDatasources - added support for version stacks where name/filename may vary through the stack
 
2020-10-05 Version 1.23.5.0
 
Changed Cmdlets Get-PWTagSetAttributes – had not been included properly in the module
                    Get-PWTagSetAttributeBindings – had not been included properly in the module
                    Copy-PWFoldersBetweenDatasources - added version string support for copied documents
                    Add-PWConnectedProject - fixed a bug where a retired endpoint was being accessed
 
2020-09-24 Version 1.23.4.0
 
Added Cmdlets Get-PWViewColumns - lists columns in a view.
                    Remove-PWViewColumn - removes a column from a view.
                    Remove-PWEmptyFoldersFromDatasource - removes all the empty leaf folders
                    Add-PWDocumentsToEmptyFoldersForAzure - when using blob storage connected with RClone, all storage folders need to contain a file
                    Add-PWDocumentLogicalSet - make ad hoc logical sets of documents with a parent and multiple children
 
Changed Cmdlets Copy-PWFoldersBetweenDatasources - add -IncludeAuditTrail switch and added support for copying flat sets and recreating them
                    New-PWRichProjectFromTemplate - fixed a bug where target storage area was not being properly set
 
2020-09-16 Version 1.23.3.0
 
Added Cmdlets Add-PWSavedSearchOrGroup - adds an OR page to an existing saved search.
                    Get-PWFlatSetsBySearch - search for flat sets.
                    Get-PWTagSetAttributes – returns all attributes associated with a TagSet.
                    Get-PWTagSetAttributeBindings – returns all bindings associated with an attribute
 
Changed Cmdlets Import-PWDocuments - fixed bug with -Exclusions parameter
 
2020-09-09 Version 1.23.2.0
 
Changed Cmdlets Import-PWDocuments - improved long folder path handling (with directory names longer than 63 characters). Added -Exclusions
                        parameter. Can include an exclusion list like 'thumbs.db','*.lnk','*.tmp', etc.
 
Added Cmdlets Get-PWUsersLoggedIn - get a list of currently logged in users.
 
2020-09-04 Version 1.23.1.0
 
Changed Cmdlets Get-PWUsersByMatch - you should see exponential performance improvements. Probably only noticeable on large datasources, but
                        should improve operations that would take minutes to under a second. A lot of the other user-related cmdlets will probably
                        benefit, too, from these changes.
                    Get-PWDocumentsBySearch - fixed bug with where nested personal saved searches were not being found.
 
2020-08-28 Version 1.23.0.0
 
General changes IMPORTANT NOTE: All of the web related cmdlets (creating/manipulating CONNECTED projects, Transmittals, RFIs, etc.)
                    now require a token as a MANDATORY parameter. Previously, when a token was not provided, we were just querying
                    your Connection Client for the token. Now, we want you to do that explicitly and save the token in a variable
                    for reuse. Use this:
                    $token = Get-PWConnectionClientToken
                    or this:
                    $token = Get-PWNonFederatedLoginToken -UserName dave.brumbaugh@eagle.bentley.com -Password $ss -CreateWebToken
                    to get a token appropriate for use in the -Token $token or -ConnectToken $token parameter.
 
Add Cmdlets New-PWManagedWorkspaceConfigurationBlock - create new configuration block (CSB) for any of the various types.
                    Update-PWManagedWorkspaceConfigurationBlock - allows the updating of name and description of CSBs.
                    Remove-PWManagedWorkspaceConfigurationBlock - allows for the deletion of a CSBs.
 
Changed Cmdlets Get-PWDocumentsBySearch - added support for nested personal saved searches.
 
2020-08-20 Version 1.22.4.0
 
Changed Cmdlets Copy-PWFoldersBetweenDatasources - Fixed bug where copying ownership and attributes wasn't working.
 
2020-08-17 Version 1.22.3.0
 
Changed Cmdlets Copy-PWFoldersBetweenDatasources - Added support for copying documents. Will copy document ownership, create, update and file update dates,
                        document state, workflow and attributes (if environments match). Copies versions. Will preserve reference relationships if master
                        and references are contained in the folder tree to be copied. Will preserve reference relationships to/from version documents.
                    Add-PWUsersToConnectedProject, Add-PWExternalUsersToConnectedProject, Add-PWUsersToConnectedProjectByGroup,
                        Add-PWUsersToConnectedProjectByUserList - fixed bug relating to RBAC Roles. Was reporting spurious error.
 
2020-08-07 Version 1.22.2.0
 
Added Cmdlets Import-PWWREWorkbook - import Workflow Rules Engine definition workbook
                    Export-PWWREWorkbook - export Workflow Rules Engine definition workbook
                    Get-PWWREActionsForWorkflow - list Conditions and Actions for each workflow/state
 
Changed Cmdlets Get-PWFolders and Get-PWRichProjects - fixed bug with path building.
 
2020-08-04 Version 1.22.1.0
 
Added Cmdlets Update-PWWREUsers - add Workflow Rules Engine Super User and Rollback User
                    Add-PWWREOperationType - add/replace Workflow Rules Engine operation types
                    Get-PWWREOperationTypes - list Workflow Rules Engine operation types
                    Copy-PWWRETablesBetweenDatasources - copies Workflow Rules Engine rules, actions, conditions, opeations between datasources
 
Changed Cmdlets Get-PWFolders and Get-PWRichProjects - using the -PopulatePaths switch should be much faster.
 
2020-07-30 Version 1.22.0.0
 
Added Cmdlets Remove-PWUserListByMatch - remove a user list with a wild card search definition
                    Remove-PWGroupByMatch - remove a group with a wild card search definition
                    Update-PWUserListProperties - allows update to user list name or description
                    Test-PWWREActionsWithSuperUser - test your workflow rules engine defintions for valid rules that require super
                        user actions. Will return True if no super user actions for all valid rules. False if there are
                        super user actions associated with valid rules. If False, you should redefine the rules to prevent
                        unauthorized access and to prevent data corruption.
 
Changed Cmdlets Import-PWProjectAccessControl - fixed bug where "Everyone" would not get added to folder/document security.
                    Update-PWFolderSecurity - added -MemberAccessString parameter to allow users to pass desired access control
                        in the following format "FPCDrwSRWf-".
                    Select-PWSQLDatatable - updated to allow access in reporting user mode.
                    Get-PWCurrentUser - updated to all usage in reporting user mode.
                    New-PWDocument - updated to ensure file extension inclued in file name.
 
2020-07-22 Version 1.21.12.0
 
Added Cmdlets Add-PWWREUserGuardTrigger - inserts a trigger on the wre_setting table to prevent removal of super user and rollback user settings
                    Enable-PWWREUserGuardTrigger - enables trigger on the wre_setting table to prevent removal of super user and rollback user settings
                    Disable-PWWREUserGuardTrigger - disables trigger on the wre_setting table to allow removal of super user and rollback user settings
 
Changed Cmdlets Add-PWWREGuardActionToWorkbook - changed default behavior so that all action sequences are incremented. Use switch -OnlySuperUserActionSequences
                        to just update the sequences that use the super user (original behavior).
 
2020-07-15 Version 1.21.11.0
 
Added Cmdlets Add-PWWREGuardActionToWorkbook - inserts a super user action as the first action in a workflow definition spreadsheet. Prevents
                        workflow execution when client and server versions are mismatched.
                    Get-PWConnectedProjectRoles - will return a list of all roles available in project and organization
 
Changed Cmdlets Add-PWUsersToConnectedProject - now handles Role membership more correctly. You can just pass a list of emails and roles now
                        and all listed users will be added to the listed roles. If users are not already project users, they will be added.
 
2020-07-14 Version 1.21.10.0
 
Added Cmdlets Copy-PWFoldersBetweenDatasources - copies trees of folders between datasources.
                    Get-PWRenditionProfileComponentsSourceDistributionFolder - returns the source distribution folder associated with the provided
                        destination option output folder name.
                    Update-PWRenditionProfileComponentsSourceDistributionFolder - updates the source distribution folder associated with the provided
                        destination option output folder name with the provided value.
 
Changed cmdlets Import-PWDocumentsBySpreadsheet - fixed bug where attributes sometimes would not import.
                    Get-PWRichProjectTypes - fixed bug where sometimes not all project types were listed.
                    Get-PWRichProjects - changed behavior to report when an invalid folder path was passed and then exit.
 
2020-07-07 Version 1.21.9.0
 
Added Cmdlets Copy-PWFolderViewsToFolders - replicate global document list views and preview pane views from one folder tree to another.
 
Changed cmdlets New-PWRichProject - changed to copy global document list views and preview pane views from template to target.
                    Add-PWUsersToConnectedProject - changed to support Connected Projects simply identified by ID and users identified simply by emails.
 
2020-06-30 Version 1.21.8.0
 
Added Cmdlets Get-PWDocumentCopyOutLocationCounts - returns document copy out location record counts by node or user or date.
                    Remove-PWDocumentCopyOutLocations - remove document copy out location records by nodes, users, or date.
 
Changed cmdlets Import-PWDocuments - added -ValidationReport parameter.
 
2020-06-23 Version 1.21.7.0
 
Changed cmdlets Import-PWDocuments - fixed bug with -MakeProjectWiseMatchDisk switch. Should be some performance improvements, too.
 
2020-06-22 Version 1.21.6.0
 
Added Cmdlets Get-PWDocumnentByURN - returns a document object when given a URN copied from PW Explorer.
                    Get-PWFolderByURN - returns a folder object when given a URN copied from PW Explorer.
 
Changed cmdlets Export-PWDocuments - fixed bug with setting last update date on exported files.
                    Copy-PWConnectedProjectSettings - fixed bug having to do with locating source connected project for copy.
 
2020-06-09 Version 1.21.5.0
 
Changed cmdlets Update-PWFolderSecurityByUserListSwapWithWorkflow - made some (possible) performance improvements.
                    Import-PWDocuments - added -SuppressOutput switch which may have performance benefits.
                    New-PWRichProject (and related) - fixed a bug where a bad list of properties to update would cause the process to end
                        before moving the new project to the right spot.
 
2020-05-20 Version 1.21.4.0
 
Changed cmdlets Add-PWUsersToConnectedProjectByUserLists - fixed bug with -Filter and with explicit user lists entry.
 
2020-05-12 Version 1.21.3.0
 
Changed cmdlets Import-PWDocuments - fixed problem where long path syntax was failing on older operating systems.
                    Get-PWUserByLastLogin - fixed bug when accessing backup audit trail tables.
 
2020-05-01 Version 1.21.2.0
 
Added features The ProjectWiseDocument object now contains methods .GetGeneralProperties(), .GetCustomAttributes(), .GetFullPath() and .GetFolderPath().
                        Run Get-PWDocumentsBySearch and use the methods to interrogate each document object individually.
                        Usage will be like $docs = Get-PWDocumentsBySearch -FolderPath "Test" and then $docs[0].GetFullPath().
 
Added cmdlets Get-PWWorkAreaConnections - gets the work area connections for the Connected Project of a Rich Project.
                    Purge-PWDocumentLocalCopy - removes local document copy from working folder.
 
Changed cmdlets Get-PWEmptyLeafFolders - fixed bug where this was failing.
                    Export-PWDocuments - now does not overwrite files on disk where the dates match. Improved long path support.
                    Import-PWDocuments - added some additional options for checking dates (-IsServerUtc, -SkipDateCheck). Improved long path support.
                    Update-PWStorageAreaForProjectTree - fixed bug related to long paths.
                    Get-PWStorageAreaReport - fixed bug related to long paths.
 
2020-04-17 Version 1.21.1.0
 
Changed cmdlets Import-PWDocuments - fixed issue with importing from UNC path, fixed some issues with importing from long paths,
                        added -IncludeEmptyFolders switch and -FoldersOnly switch
 
2020-04-13 Version 1.21.0.0
 
Added features The User object now contains methods .GroupsMemberOf() and .UsersListsMemberOf(). Run Get-PWUsersByMatch and use the methods to interrogate
                        the returned objects individually. Usage will be like $users = Get-PWUsersByMatch and then $users[0].GroupsMemberOf().
                    The ProjectWiseGroup and ProjectWiseUserList objects now contain .GetMembers() methods. Usage will be like $groups = Get-PWGroups, and then
                        $groups[0].GetMembers().
                    The ProjectWiseWorkflow object now contains a .GetStates() method. Usage $wfs = Get-PWWorkflows and then $wfs[0].GetStates().
 
Added cmdlets Update-PWDocumentFileFromProjectWise - copies the file from one document to another.
                    Add-PWConnectedProjectUsersToRoles - adds all the users in a connected project to the specified RBAC Enterprise Roles.
 
Changed cmdlets Get-PWRichProjectResources - now returning resource names properly.
                    Set-PWRichProjectResource - now supports folder objects as input.
                    Add-PWUsersToConnectedProject, Add-PWUsersToConnectedProjectByUserList, Add-PWUsersToConnectedProjectByGroup, Add-PWExternalUsersToConnectedProject -
                        now all support a -Roles parameter where you can specify a list of RBAC Enterprise roles you want to assign to the users. Role assignment only works
                        for new users on the project unfortunately. Hope to enhance this in the future.
 
2020-04-02 Version 1.20.6.0
 
Changed cmdlets New-PWRichProject, New-PWRichProjectsFromDataTable, New-PWRichProjectsFromSpreadsheet - added -FolderDepthToCopy switch. Defaults to -1
                        which means all subfolders, 0 is just top level (create rich project with no sub-folders), 1 is top-level and 1 sub-level, etc.
                    Copy-PWFolders - now supports user list security replication like New-PWRichProject. Use this to build out variable folder structures beneath a rich project.
                    Add-PWUsersToConnectedProjectByUserLists - added -Filter parameter to allow you to filter for just the user lists you want to add to the Connected Project
                        (e.g. "*Project Managers" or "*Drafters").
                    Move-PWDocumentsToFolder - now checks for "Documents having versions cannot be moved" setting in datasource.
                    Get-PWDocumentsBySearchWithReturnColumns - added -DocumentUpdatedAfter and -DocumentUpdatedBefore parameters in addition to the
                        -FileUpdated... search parameters.
 
2020-03-30 Version 1.20.5.0
 
Changed cmdlets Add-PWConnectedProject - Fixed bug where Repository Links were getting created without a valid Project GUID.
                    Add-PWProjectShareConnection - Fixed bug where Repository Links were getting created without a valid Project GUID.
                    Get-PWRichProjects - Fixed bug where -PopulateProjectProperties didn't work properly.
                        Added -OnlyConnectedProjects and -OnlyNonConnectedProjects switch.
 
2020-03-24 Version 1.20.4.0
 
Added cmdlets Add-PWUsersToConnectedProjectByUserList - Add project users by user list to Connected Project
 
2020-03-23 Version 1.20.3.0
 
Added cmdlets Get-PWIndexServerFileExtensionFilters - Get filtered file extensions for AFP processes.
                    Clear-PWFolderView - Clear document list view and/or preview pane view.
                    Remove-PWUserByMatch - Remove a user and pass an alternative user to inherit all document/folder ownership.
 
2020-03-11 Version 1.20.2.0
 
Added cmdlets Get-PWFolderTreeMaxFileUpdateDate - Get latest file update date for the tree.
                    Update-PWAFPQueueNames - Update to fix obsolete queue names in AFP.
                    Copy-PWAFPProcessors - Add a new set of processors to AFP.
                    Invoke-PWOrchestrationFrameworkScript - runs a script file (one command per line) on OF database.
 
Changed cmdlets Get-PWFolderTreeDocumentSize - Now includes MaxUpdateDate (latest file update date for the tree.)
                    Get-PWRichProjects - fixed -JustOne bug.
 
2020-03-06 Version 1.20.1.0
 
Changed cmdlets Get-PWFolders, Get-PWRichProjects - fixed bug where Project Properties were not being returned on -JustOne and
                        -Slow and -PopulateProperties
                    Add-PWUsersToConnectedProject (and similar cmdlets) - add support for -Token parameter
 
2020-02-29 Version 1.20.0.0
 
Added cmdlets Get-PWActiveServerVersion - Returns software version for active dataasource.
 
Changed cmdlets Get-PWFolders, Get-PWRichProjects - added -PopulatePaths switch. Should be much faster than -Slow switch and will populate
                        paths on the folder objects. Fastest option is -FolderPath, but is you want paths use -PopulatePaths. Very fast on
                        under 10K folders, still way faster then -Slow. Also added StorageFolder, StorageNode and FolderDepth properties
                        to the Folder object.
 
2020-02-27 Version 1.19.1.0
 
Changed cmdlets Import-PWProjectAccessControl - bugs fixed.
 
2020-02-25 Version 1.19.0.0
 
General note Updated to support version 10.0.5.81 of the ProjectWise Deliverables Management Connector (most current at this time).
 
Changed cmdlets Add-PWConnectedProject, Get-PWConnectedProject - added support for passing tokens.
                    ConvertFrom-EncodedToken - added -DoNotFormat parameter (required when using Connection Client token directly for -BentleyIMS login).
                    Export-PWProjectAccessControl - bugs fixed.
 
2020-02-21 Version 1.18.2.0
 
Changed cmdlets Get-PWDgnFileVersion, Set-PWDgnMimeType - Now does not retrieve references on file copy out. They are unnecessary for the process.
                    Get-PWDocumentsBySearch, Get-PWDocumentsBySearchWithReturnColumns - Fixed SearchString support and added new switches:
                        -FullTextSearchMatchAllWords, -FullTextSearchMatchWholePhrase, -FullTextSearchAttributeValues
 
2020-02-13 Version 1.18.1.0
 
Added cmdlets Get-PWNonFederatedLoginToken - For non-federated IMS accounts get ProjectWise login and web login tokens.
 
Changed cmdlets Get-PWRichProjects - Greatly improved performance. Added ability to query for specific project types and to
                        search for specific project property values.
 
2020-02-06 Version 1.18.0.0
 
Added cmdlets Get-PWDgnFileVersion - Get the DGN File type (V7 or V8) for a batch of DGN files.
                    Set-PWDgnMimeType - Set the MIME type based on the DGN version: image/vnd.dgn for V7, image/vnd.dgn;ver=8 for V8. Ignores non-dgn files.
 
Changed cmdlets Backup-PWDocumentProperties - Changed to preserve index on dms_propvalues. Run before DMSCONV.
                    Restore-PWDocumentProperties - Changed to preserve index on dms_propvalues. Run after DMSCONV.
 
2020-02-04 Version 1.17.3.0
 
Changed cmdlets Backup-PWDocumentProperties - Changed to use ODBC connection just like DMSCONV. Run before DMSCONV.
                    Restore-PWDocumentProperties - Restore the backed up properties from the backup table to the main properties table. Optionally run UTC conversion. Run
                        after DMSCONV. Also uses ODBC Connection like DMSCONV.
 
2020-01-31 Version 1.17.2.0
 
Added cmdlets Export-PWAuditTrailToSQLite - Export audit trail for a date range to SQLite in a format suitable for time-series graphing (program to be posted).
                    Get-PWDocumentPropertiesCount - Count the document properties records and affected documents.
                    Backup-PWDocumentProperties - Backup extracted document properties to an auxilliary table to allow dmsconv to proceed. Use -TruncateProperties
                        to empty the document properties table. Dmsconv is having some issues with the UTC date conversion on large properties tables.
                    Restore-PWDocumentProperties - Restore the backed up properties from the backup table to the main properties table. Opti. onally run UTC conversion.
                    Set-PWFlatSetMemberVersionLock - Set Version Lock flag on existing flat set member.
 
Changed cmdlets Get-PWDocumentsBySearch - now reports on invalid characters in the path if -PopulatePath is set.
                    Get-PWDocumentsBySearchWithReturnColumns - fixed a bug where invalid paths threw an error. Added -PopulatePath switch to make it more like
                        Get-PWDocumentsBySearch.
                    Get-PWUserLists - fixed bug where Descriptions were not being returned properly.
                    New-PWFlatSet - added -VersionLock switch.
 
2020-01-22 Version 1.17.1.0
 
Changed cmdlets Add-PWDocumentsWithCode - StartNumber parameter was getting ignored. No more.
 
2020-01-21 Version 1.17.0.0
 
Added cmdlets Get-PWFolderDocumentSizeByPath - produces report with total file size by folder and also reports storage area folder path
                    Import-LogFileToSQLite - imports a dmskrnl log file to a SQLite database.
                    Import-LogFileToSQLServer - imports a dmskrnl log file to a SQL Server database.
 
Changed cmdlets Select-PWSQLDataTableToSQLite - Now OK for non-admin reporting use.
                    Get-PWFolderDocumentSize - now includes storage area folder path. This is slower then Get-PWFolderDocumentSizeByPath, but more selective.
                    Set-PWDocumentState - added more verbose and warning messages
 
2019-12-17 Version 1.16.3.0
 
Added cmdlets Set-PWUserMessagePolling - turn message polling on or off for all or selected users. May improve performance to turn polling on.
                    Import-PWLookupTableFromDataTable - create and update a ProjectWise lookup table from a generic data source like an ODBC connection.
                    Import-PWLookupTablesFromXLSX - create and update ProjectWise lookup tables from a workbook.
                    Export-PWLookupTablesToXLSX - export lookup table data for maintenance. Use Import-PWLookupTablesFromXLSX to update in ProjectWise.
                    Get-LastPWErrorId - Get the ID of the last error that occurred.
 
2019-12-10 Version 1.16.2.0
 
General Document object properties ProjectWiseWebViewLink and WebServicesGatewayDownloadLink were added. The ProjectWiseWebViewLink is the service just
                    moved to production today.
 
Added cmdlets Get-PWRichProjectResources, Copy-PWRichProjectResources, Remove-PWRichProjectResource - update/modify Work Area / Rich Project resource settings.
                    Set-PWWebViewURL - set ProjectWise Web View URL like https://connect-projectwisewebview.bentley.com/connection/f167a30a7e5b7936e74a2b716210dcdb8cb60871
                    Set-PWWebServicesGatewayURL - set Web Services Gateway URL like https://decide-pwce-us-ws.bentley.com/ws/v2.8
 
2019-12-06 Version 1.16.1.0 (1.16.0.0)
 
General Module should now load on systems with only Integration Server installed. Made this change to support using the module on GUI-less systems like Docker.
 
Changed cmdlets Set-PWDocumentToFinalStatus - Added ability to add a comment (per request from BE Communities)
                    Remove-PWDocumentVersions - Now supports 0 as valid value for NumberOfVersionsToKeep parameter (per request from BE Communities)
                    Import-PWEnvironments - Added duplicate column check to new table creation logic
 
2019-11-18 Version 1.15.3.0
 
Added cmdlets Get-PWUsersLoggedIn - Get logged in users
 
2019-11-13 Version 1.15.2.0
 
Added cmdlets Set-PWFolderWorkspaceProfile - Set Workspace Profile for a folder
                    Update-PWEnvironmentColumnSettings - Set and clear Read-only, Unique and Required flags for environment columns.
 
Changed cmdlets Get-TablesFromXLSXWorkBook - Added -NoHeaders switch to deal with data with no headers
                    Update-PWDocumentFile - Now will set the application based on extension of new file.
                    Import-PWEnvironments - Fixed bug when resetting column flags like read-only, required and unique. Should change existing ones now. Improved output.
 
2019-11-04 Version 1.15.1.0
 
Changed cmdlets Edit-PWMicroStationDocuments - Added 64-bit only check.
                    Import-PWDocumentsFromArchive - Added -RetainFileNames switch to handle file name transforms on import.
 
2019-10-29 Version 1.15.0.0
 
Removed cmdlet New-PWiCSRenditionJob - Had to remove this due to version support/incompatibility issues. We have other ways of providing this
                        functionality so contact us if you need it.
 
Added cmdlets Add-PWUserSynchronizationServiceSources - Add users and groups to the user synchronization service configuration.
                    Edit-PWMicroStationDocuments - Checks out, processes and checks in CADD documents.
                    Get-MicroStationEngines - Lists the available MicroStation engines for CADD processing.
 
Changed cmdlets Merge-PWPDFs - Added -ReplaceExisting and -VersionExisting switches.
                    Get-PWDocumentsBySearch - Added DocumentOutTo and DocumentOutToName to the document object. Will get populated when you
                        use -GetAttributes or Expand-PWDocumentInformation cmdlet.
 
2019-10-17 Version 1.14.1.0
 
Added cmdlets New-PWiCSRenditionJob - (note is 32-bit only and adminstrator session only and must be run from machine with iCS Administrator installed
                        and valid connection to OF datasource configured). Will create rendition jobs. Can specify input documents, folders, searches
                        and destinations and file name formats. Requires a template job to be created for each source ProjectWise datasource.
                    Get-PWRenditionDestinations - Gets defined rendition destinations for the datasource
                    Get-PWRenditionFileNamingOptions - Gets defined file naming options for renditions
                    Get-PWRenditionPresentationOptions - Gets the defined rendition presentation optsions
 
Changed cmdlets Get-PWDocumentsBySearch - Added support for explicitly adding paths to existing saved searches
                        (e.g. -SearchName "Multipage PDFs\PDF Search made by PowerShell")
                    Get-PWSavedSearches - now returns full paths, search ids, and owner name
 
2019-10-09 Version 1.14.0.0
 
General Changed to permit users who are not Administrators, not Restricted Administrators and not in the PowerShell Users group to login and
                    execute a limited number of read-only cmdlets. We can open up more cmdlets to this "Reporting" mode by request. The rule of thumb
                    for the initial set of cmdlets was to enable read-only, reporting, non-security related cmdlets with over 10,000 executions.
                    See Get-PWCmdletStatistics for cmdlet usage.
 
2019-10-03 Version 1.13.1.0
 
Changed cmdlets Get-PWUserAuditTrailRecords - Added User Email column to output
                    New-XLSXWorkbook - Added -PreserveLinksInExistingWorkbook switch. Should improve performance with existing workbooks.
 
2019-10-02 Version 1.13.0.0
 
General Changed PWSearchWrapper.dll, PWSearchWrapperX64.dll, PWSpatialWrapper.dll and PWSpatialWrapperX64.dll for PW v8i backwards compatibility.
 
Changed cmdlets Get-PWUserAuditTrailRecords - Made some changes in the interest of better performance
                    Add-PWDocumentsWithCode - Fixed bug with regard to document code placeholder column
 
2019-10-01 Version 1.12.11.0
 
Added cmdlets Get-PWUserAuditTrailRecords - Get all user action audit trail records for designated users in a designated date range
                        (Login, Logout, Modify, etc.)
 
2019-09-17 Version 1.12.10.0
 
Added cmdlets Get-PWWRESuperUsers - Lists the rollback and super user set in Workflow Rules Engine settings
                    Remove-PWWRESuperUsersFromGroups - Removes WRE Rollback and Super users from all groups and user lists for
                        better security hygiene. You can add them back to the appropriate groups as necessary.
 
2019-09-12 Version 1.12.9.0
 
Added cmdlets Reset-PWPDFText - Replace existing text in a PDF with arbitrary string and reset color
                    Add-PWPDFWatermarkText - Stamp PDF in ProjectWise with text with a range of options for control
                    Add-PDFWatermarkText - Stamp PDF from file system with text with a range of options for control
                    Get-PDFTextColors - Gets list of supported text colors for Add-PWPDFWatermarkText
                    Get-PDFFonts - Gets list of supported fonts for Add-PWPDFWatermarkText
 
Changed cmdlets Add-PWValidationQRCode, Add-PWPDFQRCode, Add-PDFQRCode - Changed the QR Code application process to support
                        placing stamp in the background (white areas will not overwrite existing linework) and improved image replacement.
 
2019-09-06 Version 1.12.8.0
 
Added cmdlets Set-PWAdministratorGranularSecurity - Sets granular security on PW Administrator nodes
                    Clear-PWAdministratorGranularSecurity - Removes granular security from PW Administrator nodes
 
Changed cmdlets Get-PWPerformanceData - Now supports IMS login
 
2019-09-04 Version 1.12.7.0
 
Added cmdlets Get-PWRenditionJobsStatus - Gets the status of the in-progress jobs in iCS
 
Changed cmdlets Get-PWCmdletStatistics - Added support for wildcards and returning all data
 
2019-08-30 Version 1.12.6.0
 
Added cmdlets Get-PWCmdletStatistics - Gets global usage data for PWPS_DAB cmdlets
 
Changed cmdlets Import-PWRichProjectDefinitions - Adding properties to existing classes now works
                    New-PWRichProjectFromTemplate - Fixed folder description update
 
2019-08-23 Version 1.12.5.0
 
Added cmdlets Export-PWRichProjectDefinitions - Exports Rich Project Type definitions to spreadsheet
                    Import-PWRichProjectDefinitions - Import project types from spreadsheet. Adding properties to existing classes not working yet.
 
Changed cmdlets Export-PWViews - Changed to export actual property names rather than labels
                    Import-PWViews - Fixed bug with attribute columns
 
2019-08-22 Version 1.12.4.0
 
Added cmdlets Export-PWEnvironments - New AAM File alternative for managing environment definitions in a spreadsheet
                    Import-PWEnvironments - Allows modification of environment from spreadsheet, bulk modification of interfaces, replacement of document codes
                    Export-PWViews - Export view definitions to a spreadsheet
                    Import-PWViews - Import view definitions from a spreadsheet
 
2019-07-31 Version 1.12.3.0
 
Added cmdlets Get-PWGroups - search by wild card or id
                    Get-PWUserLists - search by wild card or id
                    Get-PWAttributeSettings - returns details of environment attribute definition
                    Get-PWWorkspaceProfileFromFolder - returns Workspace Profile info
                    Remove-PWWorkspaceProfileFromFolder - removes Workspace Profile from folder
 
Changed cmdlets Save-ClearTextToEncryptedFile - fixed bug
                    Reset-PWFolderSecurity - fixed help
                    Get-PWFlatSet - fixed bug
                    Set-PWDocumentMIMEType - added -Fast switch which bypasses type validation
                    Get-PWPerformanceReportData - should automatically be available now without separate Import-Module statement
 
2019-07-04 Version 1.12.2.0
 
Added cmdlets Copy-PWSavedSearch
 
Changed cmdlets Move-PWDocumentsToFolder - minor adjustments and seems to be preserving states in our testing. Did not test on Oracle, so if preserve state fails
                        in Oracle, let us know.
                    Add-PWConnectedProject - added -DoNotEnableDeliverablesManagement switch to alter the default behavior and bug fixes when using token
                    New-PWDMTransmittal - bug fixes for case when using token
                    Get-PWUsersByMatch - added -Identity as a search option
 
2019-06-12 Version 1.12.1.0
 
Changed cmdlets Move-PWDocumentsToFolder - reworked this to support moving documents with versions more reliably. Preserves workflow states by default now. Use -DoNotPreserveSate
                        switch to counteract that behavior. The conflicting -PreserveSourceState switch is now obsolete though it is preserved to not break existing scripts.
 
2019-05-29 Version 1.12.0.0
 
General Notes Changed .NET Framework version to 4.6.2 to support latest Connection Client
 
Changed cmdlets Add-PDFQRCode, Add-PWPDFQRCode, Add-PWValidationQRCode - best now to use multiples of 33 or 29 for your code size
                    Move-PWDocumentsToFolder - fixed bugs where documents were inadvertently removed and added switches to preserve workflow states
                    Convert-PWUserToFederated - fixed some bugs with the -DoNotChangeUserType switch
                    Write-PWPSLog = Added Write-Error, Write-Warning and Write-Verbose to the Write-PWPSLog code, so only a single line of code is required
                        to write a record to both the log file and the console.
                        e.g. Write-PWPSLog -Cmdlet Test -Level Info -Message "This cmdlet has been changed"
                        will Write-Verbose "This cmdlet has been changed" to the console, and an info line of “This cmdlet has been changed” to the log file.
 
2019-05-24 Version 1.11.3.0
 
Added cmdlets Get-PWFileStreamingSettings - returns settings for PointCloud, Raster, or Both from datasource
                    Enable-PWFileStreaming - enable PointCloud, Raster, or Both (requires manual changes to dmskrnl.cfg)
                    Disable-PWFileStreaming - disable PointCloud, Raster, or Both (requires manual changes to dmskrnl.cfg)
                    Get-PWPerformanceReportData - Added new parameter - OutputType - to select between PSObject and DataTable output. Default is PSObject.
 
Changed cmdlets Add-PDFQRCode and Add-PWPDFQRCode - added -DoNotShortenUrl switch. Can be used to encode any text and not just URLs.
                    Add-PDFQRCode, Add-PWPDFQRCode, Add-PWValidationQRCode - changed library used to generate QR Code image which gives us more control over the image. Best to use multiples of 33.
                    Copy-PWMailMessagesFromExchange - fixed bug where mail messages would get deleted even if the import to ProjectWise failed
                    Convert-PWUserToFederated - added -DoNotChangeUserType switch for when you only want to set the user's identity, but not force IMS login
 
2019-05-15 Version 1.11.2.0
 
Added cmdlets Get-LatitudeLongitudeForAddress - looks up lat/long for address
                    Get-EncodedLogicalToken - gets a token encoding the username/password of a logical user which can be used in the Authorization header for WSG calls
                    Get-PWFileHash - gets the hash of a file in ProjectWise using various hash algorithms
 
2019-05-10 Version 1.11.1.0
 
Added cmdlets Get-TablesFromSQLiteDB - read data from SQLite.
 
Changed cmdlets Get-PWDocumentsBySearch - Fixed bug with the Geo search. Should work now.
                    Save-PWDocumentReport - Added -DocumentName and -FileName parameters.
                    New-PWUserSimple - added -IMSUser switch to create a federated user.
                    Import-PWDocumentsFromArchive - added -SkipDocumentAttributeUpdate and -SkipSecondaryAttributeUpdate switches
 
2019-05-05 Version 1.11.0.0
 
General note: Finally ported the geospatial functionality to 64-bit. Also changed audit trail handling to better support the backup audit trail.
                    Intent had always been to include that in audit trail reporting, but we found some inconsistencies. You'll see a new
                    -ExcludeSecondaryAuditTrail switch on a lot of the reporting cmdlets now (too many to list invididually).
 
Added cmdlets Get-PWFoldersByAccessMember - returns an array of folder objects that each have a specified member (group, user, userlist) explicitly applied
                        in its access control.
                    Remove-PWAttributeFromInterface - used to remove an attribute from an interface.
 
Changed cmdlets Get-PWDocumentsBySearch - added Geo criteria to the search (min/max lat/long parameters), added MimeType and Storage Area to the default return columns.
                        Added -PopulatePath switch that will at least populate the folder paths and won't degrade performanc as much as -GetAttributes.
                        Fixed bug with 32-bit searching that would crash the cmdlet which was introduced in version 1.10.5.0.
                    Get-PWMissingStorageArea - fixed bug where documents not in the folder's default storage area would incorrectly show as missing.
                    Set-PWInterfaceGUIDefinition - fixed bug with placement of attributes on More Attributes tab.
                    Get-PWFolderDocumentSize - fixed intermittent bug in reporting.
                    Remove-PWFolder - added ability to pass FolderID.
                    Import-PWProjectAccessControl - added ability to import access control from a datatable.
                    Export-PWAAMFile - fixed bug with table definition exports.
 
2019-04-19 Version 1.10.5.0
 
Added cmdlets New-PWRichProjectFromTemplate - creates a new rich project / work area from a template project.
                    Expand-PWDocumentInformation - takes a document object returned from the search routines with sparse information and populates empty fields.
                    ConvertFrom-EncodedToken - takes encoded token like that used by WSG and shows readable XML
                    ConvertTo-EncodedToken - Clear text to encoded string for tokens
                    Set-PWInterfaceGUIDefinition - takes a GUI definition returned from the Get-PWInterfaceGUIDefinition cmdlet, and updates a specified interface
                        within target Environment. Offers a way to copy GUI definitions from one datasource to another.
 
Changed cmdlets New-PWLogin - Now supports using federated credentials when logging in with -BentleyIMS (will bypass Connection Client if provided)
                    New-PWDocument - added -DocumentName parameter. Defaults to file name if not provided.
                    Get-PWFolderDocumentSize - deprecated -IncludeVersions switch. Will now always include versions. Added -AllDocumentsInTree switch.
                    Get-PWFolderTreeSize - deprecated -IncludeVersions switch. Will now always include versions.
 
2019-04-12 Version 1.10.4.0
 
Added cmdlets Convert-PWFolderToRichProject
 
Changed cmdlets Update-PWStorageAreaForProjectTree - added -SourceStorageArea parameter.
                    Add-PWValidationQRCode, Add-PDFQRCode, Add-PWPDFQRCode - changed the way we define the location of the code image. Now is always from
                        lower left of page as it opens and regardless of actual rotation and units are "points" which is 1/72nd of an inch.
                    Import-PWProjectAccessControl - fixed bug where existing access control was not being removed before applying new access control.
                    Export-PWProjectAccessControl - updated the way the rights masks are generated. Should be more reliable.
 
2019-04-09 Version 1.10.3.0
 
Changed cmdlets Update-PWStorageAreaForProjectTree - fixed major bug that would CAUSE FILE LOSS in the case of a user prevented from seeing documents due to
                        ProjectWise Access Control. Added -SkipSTorageAreaMatchCheck and changed -DoNotDeleteFromSourceStorage switch to -DeleteFromSourceStorage.
                        This makes deleting the source files a positive choice.
                    Add-PWValidationQRCode - added -QRCodeType override parameter and -ForceNativeUnits and -ForceDefaultUnits switches to help with QR Code settings development.
                    Add-PWDocumentFlatSetMember - fixed issue with -LockToVersion switch and with input documents.
 
2019-04-05 Version 1.10.2.0
 
Added cmdlets Get-PWAttributeExchangeRulesUpdateFileConditions - Get current settings for attribute exchange.
                    Set-PWAttributeExchangeRulesUpdateFileConditions - Change settings for attribute exchange.
                    Disable-PWTitleBlockUpdate - Disables the ProjectWise Titleblock update functionality.
                    Import-PWProjectAccessControl - Now supports importing the spreadsheet created by Export-PWProjectAccessControl. Both of these bypass the built-in
                        security export/import because of performance and dependence on installed Excel.
 
Changed cmdlets CheckIn-PWDocumentOrFree - now will import Exported documents if they are in the set of documents passed in.
                    CheckOut-PWDocuments - now properly updates CheckOutLocation on returned document object.
                    Import-PWDocumentsBySpreadsheet - fixed bug that caused error when ProjectWiseDocumentVersion types were mixed (string and numeric)
                    Export-PWProjectAccessControl - changed to bypass built-in security export to improve performance and reliablity
 
2019-03-26 Version 1.10.1.0
 
Added cmdlets Set-PWDocumentMIMEType - Update document MIME Type.
                    Set-PWDocumentVersion - Set the Document Version string on active documents.
 
Changed cmdlets New-PWDMTransmittal - improved support for non-federated domain logins
 
2019-03-14 Version 1.10.0.0
 
General note: We've had requests to port functionality from PWPS to this module in order to make it all available in 64-bit and SS4. We had been avoiding doing that
                    in order to avoid duplication, but the lack of availability in some features in 64-bit was getting annoying. We will be adding more as we perceive a need.
 
Added cmdlets Update-PWUserSetting - Allows for updating all user settings (replicates functionality in PWPS).
                    Get-PWUserSettingByUser - List all or individual setting by user (replicates functionality in PWPS).
                    Get-PWUserDefaultSettings - List all or individual datasource default user settings (replicates functionality in PWPS).
                    New-PWUserListByName - Create user list (replicates functionality in PWPS).
                    New-PWGroupByName - Create Group (replicates functionality in PWPS).
 
Changed cmdlets Add-PWMemberToUserList - added -GroupNames, -UserListNames and -AddAllUsers switches to cmdlet
                    Remove-PWMemberFromUserList - added -GroupNames, -UserListNames and -AddAllUsers switches to cmdlet
                    Update-PWFolderSecurity - added some additional input validation
 
2019-03-07 Version 1.9.8.0
 
Added cmdlets Get-PWValidationQRCodeParameters - display the parameters set for the Validation QR Codes.
 
Changed cmdlets Copy-PWDocumentsToFolder, Copy-PWDocumentsBySearch - added -CopyReferenceRelationships switch to copy a master documents reference relationships
                    Export-PWDocumentFilesToZip - added -GetReferences, -GetSetMembers and -AddMetadataFile switches
                    New-PWRichProjectsFromSpreadsheet, New-PWRichProjectsFromDataTable, New-PWRichProject - fixed 64-bit compatibility issues
 
2019-02-27 Version 1.9.7.0
 
Changed cmdlets New-PWScanForReferences, New-PWEnumFolders - these two had gone missing. They're back.
 
2019-02-24 Version 1.9.6.0
 
Added cmdlets Read-PWPDFQRCode - Reads QR Code value from a given spot on a PDF page.
                    Export-PWProjectAccessControl - export access control out to a datatable, XLSX file, or SQLite DB.
 
Changed cmdlets Get-PWFolders - Fixed a bug in Get-PWFolders where the inheritance for documents was not returning the correct information.
 
2019-02-13 Version 1.9.5.0
 
Added cmdlets Copy-FileToSharePoint - requires explicit import of HelperFunctions.psm1 along with the SharePoint module. Copies file from Windows to SharePoint.
                    Write-PWPSLog - Renamed from Write-Log, added help and examples
                    Get-PWPSLogsFromPreviousDays - renamed from Get-PowerShellLogsFromPreviousDays
 
Changed cmdlets CheckOut-PWDocuments - changed the way the -NoReferences switch works
                    Get-PWDocumentsSearch - fixed parameter bug when only Attributes were defined
 
2019-02-09 Version 1.9.4.0
 
Added cmdlets Get-PWConnectedProjectAssetTypes - returns list of valid Asset Types
                    Get-PWConnectedProjectIndustryTypes - returns list of valid Industry Types
 
Changed cmdlets CheckOut-PWDocuments - Now supports the -NoReferences switch in all modes (ChekcOut, Export, CopyOut)
                    Import-PWDocuments - resolved bug with handling of -ExcludeSourceDirectoryFromTargetPath
                    Convert-PWAccessControlMaskToString - enhanced return values
                    Add-PWConnectedProject - Now supports -Token argument
                    Get-PWConnectedProjectDataLocations - now supports -Token argument
 
2019-01-30 Version 1.9.3.0
 
Added cmdlets Remove-PWConnectedProject - Removes a CONNECTED Project and clears the association from the input rich project.
 
Changed cmdlets Get-PWMissingStorageAreaFiles - Now reporting Status value (I, CI, CO, etc.)
 
2019-01-17 Version 1.9.2.0
 
Added cmdlets Get-PWUserHasUseAccessControlOn - Gets value of this setting.
                    Set-PWUserUseAccessControl - Set the value of this setting.
 
2019-01-15 Version 1.9.1.0
 
General Notes Updated help. Get-Help XXXX -ShowWindow should show examples now.
 
Changed cmdlets Update-PWRichProjectsFromSpreadsheet - added -WorksheetName parameter to control which worksheet is processed.
                    Get-PWMissingStorageAreaFiles - now reports ProjectWise server version and resets running user to use no Access Control (necessary for good report).
 
2019-01-10 Version 1.9.0.0
 
General Notes Changed CONNNECTION client related behavior to support 64-bit operation (thus the change to 1.9).
                    The only 32-bit-only operations should now be New-PWIplotIPSFile and anything to do with GeoSpatial attribution.
 
Changed cmdlets Move-PWFolder - Fixed bug in 32-operation.
                    Get-PWMonthlyLogins and Get-PWMonthlyLoginsData - changed backup audit trail table handling. Should be more reliable now.
 
2019-01-08 Version 1.8.1.0
 
Changed cmdlets Get-PWFolderAuditTrailRecords and Get-PWDocumentAuditTrailRecords changed default to include backup audit trail table. If not desired, use -SkipSecondary switch.
                        Should also work better with Oracle now.
 
2019-01-04 Version 1.8.0.0
 
General Notes Updated to .NET 4.6.1 and updated dependencies. Please let us know if you run into odd errors. Always dangers when you update a lot of components simultaneously.
 
Changed cmdlets New-PWRichProjectsFromSpreadsheet and New-PWRichProjectsFromDataTables - added -SkipFolderWorkflowSecurityReplication switch. If you don't need project specific
                        userlist-based workflow security, this will greatly speed up your project creation.
 
2018-12-21 Version 1.7.20.0
 
Added cmdlets Add-PWDocumentProcessorToDatasource - add a document processor to the datasource.
                    Invoke-PWDocumentProcessorRun - invoke document processor run.
                    Clear-PWDocumentProcessorStatusByProject - Clear the document processor status for a folder.
 
Changed cmdlets Get-PWStatistics - fixed bug with getting file sizes.
 
2018-12-20 Version 1.7.19.0
 
Changed cmdlets Add-PWConnectedProject - fixed bug with -DataLocation. Should work properly now. See Get-PWConnectedProjectDataLocations for valid values.
 
2018-12-19 Version 1.7.18.0
 
Added cmdlets Add-PWIndexServerFileExtensionFilter - set file extension filters for Index Servers.
                    Set-PWIndexServerFileExtensionMapping - remap file extensions for Index Servers.
 
Changed cmdlets Copy-PWMailMessagesFromExchange - added support for * wildcard in subject search spreadsheet. Fixed issue with shared mailboxes when using -UseDefaultCredentials.
 
2018-12-18 Version 1.7.17.0
 
Changed cmdlets Copy-PWMailMessagesFromExchange - added -UseDefaultCredentials switch. Will use currently logged in user's credentials to attempt to connect to the Exchange Server Web Service.
                    Get-PWStatistics and New-PWInputOutputPerformanceReport - changed the way we find the total storage area used. Was reporting incorrect data for large datasources
                        previously and was proving to be inefficient.
 
2018-12-17 Version 1.7.16.0
 
General notes Changed the .psd1 file so that the below functions are NOT automatically imported. To use them, you must explicitly import HelperFunctions.psm1 and its dependent modules: SqlServer,
                    SharePointPnPPowerShell2013, SharePointPnPPowerShell2016, SharePointPnPPowerShellOnline
                    Syntax would be like this:
                    import-module SqlServer
                    import-module SharePointPnpPowerShellOnline
                    import-module 'C:\Program Files\WindowsPowerShell\Modules\pwps_dab\x.x.x.x\HelperFunctions.psm1'
                    Note that the path to HelperFunctions.psm1 will be version dependent.
 
                    (The affected functions are listed below.)
                    BulkCopy-SQLTable - bulk copy a DataTable from PowerShell to SQL Server (requires SQLPS module)
                    Get-SQLDatabase - Get databases in a SQL instance. (requires SQLPS module)
                    Get-SQLDataType - Get corresponding SQL data type. (requires SQLPS module)
                    Get-SQLTable - Gets list of tables from SQL Instance. (requires SQLPS module)
                    New-SQLConnection - Connect to SQL Server instance. (requires SQLPS module)
                    New-SQLTable - Make a table in SQL to match a given table in memory. (requires SQLPS module)
                    Truncate-SQLTable - empties existing table. (requires SQLPS module)
                    Copy-PWDocumentToSharePoint - copy a document directly from ProjectWise to SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    Get-SharePointListItem - Gets a list item from SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    New-SharePointConnection - connect to SharePoint instance. (requires one of the SharePointPnPPowerShell* modules)
                     
Changed cmdlets New-PWRenditionRequest - added -MakeSinglePlotRequest switch. Will combine all of the input documents into a single plot request instead of making plot requests for each document.
                        This is easier for iCS for PDF to handle.
 
2018-12-13 Version 1.7.15.0
 
General notes Had to fix .psd1 file. Get-SQLDatabase is now renamed to Get-SQLDatabaseFunction
 
2018-12-13 Version 1.7.14.0
 
Added cmdlets Get-PWCurrentUser
 
Added functions (The below were added previously, but not exported correctly. Try them now.)
                    Write-Log - Logging function
                    Get-PowerShellLogsFromPreviousDats - collects PowerShell logs
                    Get-WindowsFolderPath - open a dialog to select a folder
                    Get-WindowsFilePath - open a dialog to select a file.
                    BulkCopy-SQLTable - bulk copy a DataTable from PowerShell to SQL Server (requires SQLPS module)
                    Get-SQLDatabase - Get databases in a SQL instance. (requires SQLPS module)
                    Get-SQLDataType - Get corresponding SQL data type. (requires SQLPS module)
                    Get-SQLTable - Gets list of tables from SQL Instance. (requires SQLPS module)
                    New-SQLConnection - Connect to SQL Server instance. (requires SQLPS module)
                    New-SQLTable - Make a table in SQL to match a given table in memory. (requires SQLPS module)
                    Truncate-SQLTable - empties existing table. (requires SQLPS module)
                    Get-PWAuditTrailRecordsFromPreviousDays - extracts audit trail records.
                    Copy-PWDocumentToSharePoint - copy a document directly from ProjectWise to SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    Get-SharePointListItem - Gets a list item from SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    New-SharePointConnection - connect to SharePoint instance. (requires one of the SharePointPnPPowerShell* modules)
                     
Changed cmdlets Impoprt-PWDocuments - added -ExcludeSourceDirectoryFromTargetPath switch.
                    Move-PWFolder - resolved issue with ROOT.
                    Import-PWDocumentsFromZip - made path handling a bit more robust.
                    New-PWInputOutputPerformanceReport - added -ThrowErrorOnCreateFailure switch to improve test behavior.
                    Show-PWDatasources - no longer requires login to run.
 
2018-11-26 Version 1.7.13.0
 
Added cmdlets Convert-ObjectArrayToDataTable - Utility cmdlet to convert array of objects to a datatable. Should perform better and be more reliable than ConvertTo-DataTable (which remains). Now using JSON format to store arrays and collections in the table.
 
Added functions Write-Log - Logging function
                    Get-PowerShellLogsFromPreviousDats - collects PowerShell logs
                    Get-WindowsFolderPath - open a dialog to select a folder
                    Get-WindowsFilePath - open a dialog to select a file.
                    BulkCopy-SQLTable - bulk copy a DataTable from PowerShell to SQL Server (requires SQLPS module)
                    Get-SQLDatabase - Get databases in a SQL instance. (requires SQLPS module)
                    Get-SQLDataType - Get corresponding SQL data type. (requires SQLPS module)
                    Get-SQLTable - Gets list of tables from SQL Instance. (requires SQLPS module)
                    New-SQLConnection - Connect to SQL Server instance. (requires SQLPS module)
                    New-SQLTable - Make a table in SQL to match a given table in memory. (requires SQLPS module)
                    Truncate-SQLTable - empties existing table. (requires SQLPS module)
                    Get-PWAuditTrailRecordsFromPreviousDays - extracts audit trail records.
                    Copy-PWDocumentToSharePoint - copy a document directly from ProjectWise to SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    Get-SharePointListItem - Gets a list item from SharePoint. (requires one of the SharePointPnPPowerShell* modules)
                    New-SharePointConnection - connect to SharePoint instance. (requires one of the SharePointPnPPowerShell* modules)
                     
Changed cmdlets New-PWDocumentAbstract - resolved issue with -Count parameter.
                    Get-PWMonthlyLogins - resolved issue with UserType.
                    Get-PWDocumentsBySearch - added -FolderID paramter.
                    Move-PWFolder - changed to accept InputFolder object.
 
2018-11-15 Version 1.7.12.0
 
Added cmdlets Start-SQLServerStoredProcedure - Utility cmdlet to run a stored procedure if you have a valid connection string to a SQL database
 
2018-11-15 Version 1.7.11.0
 
Added cmdlets Get-PWDMIncomingRFIsWithProperties - returns IncomingRFIs with Templateable properties objects populated
 
2018-11-14 Version 1.7.10.0
 
Added cmdlets Get-PWDMServiceAccountToken - returns a string suitable for use as the -ConnectToken parameter in the below cmdlets
 
Updated cmdlets Get-PWDMIncomingTransmittals, Get-PWDMOutgoingSubmittals, Get-PWDMOutgoingRFIs, Get-PWDMIncomingRFIs - added -ConnectToken parameter and "since" date parameter
 
2018-11-12 Version 1.7.9.0
 
Updated cmdlets Get-PWDMIncomingTransmittals, Get-PWDMOutgoingSubmittals - changed internal logic a bit
 
2018-11-12 Version 1.7.8.0
 
Updated cmdlets Get-PWDMIncomingTransmittals, Get-PWDMOutgoingSubmittals - added -UseCheckProject switch and changed to no longer require ProjectWise DI login to run.
 
2018-11-11 Version 1.7.7.0
 
Updated cmdlets Get-PWDMOutgoingRFIs, Get-PWDMIncomingRFIs - add -UseCheckProject switch
 
2018-11-07 Version 1.7.6.0
 
Added cmdlets Get-PWProjectForConnectedProjectId - Pass in Connected Project ID and get corresponding ProjectWise Project object.
                    Enable-PWTitleBlockUpdate - Will make the appropriate registry changes required to make the title block update work if configured
 
Updated cmdlets Get-PWAuditTrailSettings - will now return secondary table name if one is configured
                    New-PWDocumentAbstract - added -DoNotAddSuffix switch
 
2018-11-01 Version 1.7.5.0
 
Changed cmdlets Get-PWMissingStorageAreaFiles - Added progress reporting and parameters -FolderProgressInterval and -DocumentProgressInterval.
 
2018-10-24 Version 1.7.4.0
 
Changed cmdlets Get-PWMissingStorageAreaFiles - Fixed bug when file names varied in the version stack. Was generating false positives.
 
2018-10-13 Version 1.7.3.0
 
Added cmdlets: Save-PWDocumentsToDatatable - convert list of document objects to the datatable format used by other cmdlets.
                    Get-PWMissingStorageAreaFiles - Dedicated search for documents with missing files in storage area.
                    Remove-PWEnvironmentColumn
 
Changed cmdlets Get-PWStorageAreaReport - Added -SkipFileSizeCheck and -SkipOrphanFileCheck switches to improve performance.
 
2018-10-16 Version 1.7.2.0
 
Changed cmdlets: Remove-PWEmptyFolders - now returns list of deleted paths.
                    Set-PWUserLicenseSource - Changed parameters.
                    Copy-PWFolder - now allows copying to ROOT.
                    Add-PWMemberToUserList - fixed help.
                    Get-PWStorageAreaReport - added columns, cleaned up returned data.
 
2018-10-11 Version 1.7.1.0
 
General: Added Owner Types and Names to Document and Folder objects.
                    Added FolderCreator and FolderUpdater properties to Folder object.
                    Changed User object to update IMSProvider and IMSName by default.
 
Changed cmdlets: Get-PWUsersInUserList - now recurses all contained groups and user lists to build comprehensive list of users.
                    Get-PWDMIncomingRFIs, Get-PWDMOutgoingRFIs - now returning more data about the RFIs.
                    Remove-PWEmptyFolders - now returns a list of the folder objects that were deleted.
                    Copy-PWInterface - now requires -Create switch to create a new interface, otherwise updates if interface exists
 
2018-10-04 Version 1.7.0.0
 
General: Updated to use latest Deliverables Management libraries (10.00.04.169). Dan Williams found a way to greatly speed up our spreadsheet reading for Import-PWDocumentsBySpreadsheet.
                    Updated all dependent libraries to latest versions.
 
Changed cmdlets: Import-PWDocumentsBySpreadsheet - added -WriteBackLinks and -DeleteFilesOnImport switches.
 
2018-09-09 Version 1.6.2.0
 
Added cmdlets: Add-PWValidationQRCode - If you have the QR Code Validation Add-In, use this cmdlet to automate the process of stamping your drawings. One advantage of this approach
                                             is that you can run this as 64-bit process. Some customers have reported problems stamping large PDFs with the iCS Add-In because it's 32-bit.
                    Add-PWPDFLink - Add a link to a PDF in ProjectWise. Use -MakeFriendlyProjectWiseLink to add an https:// link that will work like a pw:// link. Use -URL for a generic URL.
                                    Use -WSGURL to add a WSG link.
 
2018-09-06 Version 1.6.1.0
 
Added cmdlets: Import-PWDocumentFilesFromZip - Import document files directly from a zip file. Long paths in zip are supported.
                    Export-PWDocumentFilesToZip - Exports document files directly to a zip file. Writing long paths to zip are supported.
                    Copy-PWInterface - Create a copy of an existing interface
 
Changed cmdlets: Import-PWDocuments - Now supports importing from long paths on disk (Export-PWDocuments already supports writing to long paths on disk.)
 
2018-08-30 Version 1.6.0.0 (thought the Exchange/Office365 email support and Project Share support deserved an incremented version)
 
Added cmdlets: Copy-PWMailMessagesFromExchange - Bulk copy email messages from Exchange mailbox to ProjectWise
                    New-PWProjectShareFolder - Create a new folder in the Project Share area of the CONNECTed Project
                    New-PWProjectShareFileFromDisk - Upload a file from disk to a Project Share folder
                    New-PWProjectShareFileFromProjectWise - Upload a document file from ProjectWise to a Project Share folder
                    Get-PWConnectURL - Get CONNECT web service endpoints
                    Remove-PWDocumentSheet - Remove attributes from document
 
Changed cmdlets: Add-PWConnectedProject - Now supports Industry, Asset Type, Country Code and Data Locations on creation
                    Changed most of the CONNECTed project manipulation cmdlets to NOT require an active ProjectWise login. Still requires Connection Client login.
 
2018-07-27 Version 1.5.15.0
 
Changed cmdlets: Set-PWWorkflowByFolderPath - Now works with FolderID as default parameter
                    Clear-PWWorkflowByFolderPath - Now works with FolderID as default parameter
                    Update-PWFolderNameProps - Now works with FolderID as default parameter
                    Set-PWEnvironmentByFolderPath - Now works with FolderID as default parameter
                    Clear-PWEnvironmentByFolderPath - Now works with FolderID as default parameter
 
2018-07-25 Version 1.5.14.0
 
Added cmdlets: Get-PWAllOwnedConnectedProjects - Gets a list of all your owned connected projects
                    Get-PWDMIncomingRFIs - Gets a list of all the incoming RFIs. Can filter by Company Name (partial) or Email (partial)
                    Get-PWDMOutgoingRFIs - Gets a list of all the RFI response. Can filter by Email (partial)
                    Save-PWDMIncomingRFIs - Saves the files attached to the incoming RFIs
                    Save-PWDMOutgoingRFIs - Saves the files attached to the RFI responses
 
2018-07-13 Version 1.5.13.0
 
Added cmdlets: Add-PWProjectShareConnection - Add Project Share connection to existing Connected Project
                    Get-PWConnectionClientToken
 
Changed cmdlets: New-PWRichProject - Template no longer required
                    Export-PWDocumentsToArchive - added -NoAuditTrail parameter
                    Add-PWConnectedProject - now will link back the Connected project to the PWDI project by adding a connection in Project Share
                    General - added CreateDateTime and UpdateDateTime properties to the folder object
 
2018-07-02 Version 1.5.12.0
 
Added cmdlets: Remove-PWDocumentGroupAccess, Remove-PWDocumentUserListAccess
 
Changed cmdlets: Various bug fixes.
 
2018-06-21 Version 1.5.11.0
 
Added cmdlets: Import-PWDataTableValues - import datatable values into lookup tables.
 
Changed cmdlets: Connected project cmdlets - fixed issue where deliverables management assemblies weren't loading properly for non-IMS logins.
 
2018-06-14 Version 1.5.10.0
 
Added cmdlets: Update-PWUserProperties - allows setting of name, description and email.
                    Get-PWFoldersByGUIDs - return folder objects for a list of guids.
                    Get-PWDocumentsByGUIDs - return document objects for a list of guids.
                    New-PWScanForReferences, New-PWEnumFolders
 
Changed cmdlets: New-PWLogin - updated help, fixed issue with -DoNotCreateWorkingDirectory switch.
                    Get-PWError, Get-PWVersion no longer require an active login to run.
                    Reset-PWFolderSecurity - fixed issue with workflows.
 
2018-05-30 Version 1.5.9.0
 
General Note: Regular users can now log in via New-PWLogin and use the cmdlets if they are members of a group called "PowerShell Users".
                    Use -NonAdminLogin switch with New-PWLogin.
 
Changed cmdlets: Export-DataTableToSQLiteDB now supports -Append and -Overwrite switches.
                    All SQLite DB cmdlets should now support 64-bit.
 
2018-05-20 Version 1.5.8.0
 
Changed cmdlets: Get-PWStorageAreaReport - Added SQLite output option.
                    New-PWLogin - Adjusted behavior of DoNotCreateWorkingDirectory switch. Works a bit more logically now.
 
2018-05-17 Version 1.5.7.0
 
Added cmdlets: Get-PWMonthlyCheckoutsByProject - reports using audit trail document checkouts per user per project per month.
                    Get-PWDMOutgoingTransmittals - reports all outgoing transmittals for the given projects.
                    Save-PWDMOutgoingTransmittal - Save transmittal to disk.
                    Get-PWDMIncomingSubmittals - reports all incoming submittals for the given projects.
                    Save-PWDMIncomingSubmitals - Save submittal to disk.
                    Set-PWDocumentUserListAccess - Apply access mask for a user list to a set of documents
 
2018-05-15 Version 1.5.6.0
 
General Note: User must be in Admin or Restricted Admin group. Our intent has always been that PowerShell manipulation of datasources
                    required a user with elevated privileges.
 
Changed cmdlets: Get-PWDSConfigEntry does not require a login.
                    Get-PWCurrentDatasource does not require a login.
 
2018-05-11 Version 1.5.5.0
 
General Note: NOW COLLECTING CMDLET-LEVEL USAGE DATA LIKE PROJECTWISE EXPLORER DOES
 
Added cmdlets: Remove-PWFolderSecurity -
                    Export-DataTableToSQLiteDB
                    Update-PWDocumentOwner
                    Update-PWStatistics - Update the stored statistics
 
Changed cmdlets: New-PWInputOutputPerformanceReport - now records datasource statistics
                    Get-PWStatistics - Now returns all the datasource statistics
                    Various help file fixes
 
2018-04-18 Version 1.5.4.0
 
Added cmdlets: Add-PDFQRCode - Stamp a file from disk with QR Code.
                    Set-PWFolderOwner - reset folder owner
                    Remove-PWFolderSecurity - remove folder security
 
Changed cmdlets: Add-PWPDFQRcode - added parameters
 
2018-04-18 Version 1.5.3.0
 
Added cmdlets: Set-PWDocumentGroupAccess - sets group access for an array of documents.
 
Changed cmdlets: Get-PWFolderSecurity, Update-PWFolderSecurity and Remove-PWFolderSecurity updated to include datasource default security.
                    New-PWFolder will now use storage from existing parent and does not require storage to be passed.
 
2018-04-10 Version 1.5.2.0
 
Added cmdlets: Get-PWMembers - list members of a group or userlist.
                    New-PWApplication
                    Remove-PWApplication
                    Get-PWManagedWorkspaceConfigBlocks - returns configuration settings blocks for all or a selected managed workspace type
                    Set-PWManagedWorkspaceForFolders - adds configuration settings block associations for selected managed workspace type to input folder(s)
                    Remove-PWManagedWorkspaceAssociationFromFolders - removes the specified configuration settings block of specified managed workspace type from input folder(s)
                    Remove-PWManagedWorkspaceAssociationsFromSubFolders - removes ALL configuration settings block associations from all sub-folders of the input folder(s)
                    Set-PWApplicationExtensions - set extensions for applications.
                    Copy-PWDocumentSecurity - copy document security from a template to a set of input documents
 
Changed cmdlets: New-PWFolder - added -Description parameter.
                    Copy-PWFolder - added -IncludeDocumentAttributes switch.
 
2018-04-07 Version 1.5.1.0
 
General Notes: Added logic to attempt to prevent fatal errors when running in 64-bit as we know certain things won't work (like anything to do with CONNECTED projects).
 
Added cmdlets: Copy-PWDocumentsBetweenDatasources - copy documents from one datasource to another.
 
2018-04-05 Version 1.5.0.0
 
General Notes: This module should now load in both 32-bit and 64-bit PowerShell. Some functionality is not yet supported in 64-bit and we're adding warnings as we
                    discover what is not supported. General functionality seems to be there (thus change of minor version to 1.5).
 
Changed cmdlets: New-PWLogin - added -LoadWRE switch to support loading Workflow Rules Engine. Made change to NOT load WRE by default.
 
Added cmdlets: Set-PWSession - switch between active login sessions.
                    Get-PWSessions - list the active sessions.
                    Get-PWFoldersImmediateChildren - Gets the immediate child folders for the specified folder.
                    Convert-PWRichProjectToFolder - Converts a rich project (WorkArea) and sub-rich projects to folders.
 
2018-03-26 Version 1.4.0.0
 
Changed cmdlets: New-PWLogin - added -BentleyIMS switch to support IMS logins
                    Get-PWOutgoingTransmittalsReport - change output to data table array in addition to spreadsheet
                    Merge-PWPDFs, Split-PWPDFs, Add-PWPDFQRCode - changed underlying PDF library (thus change of minor version to 1.4)
 
2018-03-16 Version 1.3.27.0
 
Added cmdlets: Get-PWDocumentCaptionFromAI - use Microsoft's Computer Vision AI Service to label photos
 
2018-03-06 Version 1.3.26.0
 
Changed cmdlets: Get-PWRichProjectReport and New-PWRichProjectsFromSpreadsheet - now support exporting and importing CONNECTed Project links.
                    Convert-PWAccessMaskToString - added additional mask values.
                    Remove-PWEmptyFolders - added a -RemoveRichProjects switch to control rich project removal. Will now leave empty rich projects by default.
 
2018-03-06 Version 1.3.25.0
 
Changed cmdlets: New-PWPowerShellScript - Added three more common script types (Archive Full, Archive Export and Archive Import) in addition to the Default.
                    Export-PWAccessControlToExcel - fixed bug with resolving projectstructure.xlsx
 
Added cmdlets: New-PWView, Get-PWRichProjectProperties, Get-PWStandardViewColumns, Get-PWEmptyLeafFolders, Remove-PWEmptyFolders
 
2018-03-01 Version 1.3.24.0
 
Added functions: ConvertTo-DataTable - converts arrary of DataRows (or any object type) to a DataTable.
 
Changed cmdlets: Updated all the Audit Trail cmdlets to clean up the output, include options to support pipeline input of documents and folders and support XLSX and SQLite output.
 
2018-02-22 Version 1.3.23.0
 
Added cmdlets: Set-PWAttributeGeneralSettings, Set-PWAttributeDefaultValueSettings, Set-PWAttributeUpdateValueSettings, Get-PWAttributeValueListFixedList,
                    Set-PWAttributeValueListSettings, Set-PWAttributeEditingSettings, Set-PWAttributeExtraValuesSettings, New-PWInterface,
                    Get-PWInterfaceGUIDefinition, Add-PWAttributeToInterface, Set-PWInterfaceGUILabel, Set-PWInterfaceGUILabelFont,
                    Set-PWInterfaceGUIPrompt, Show-PWInterfaceGUIDefinition, Get-PWFonts
 
Changed cmdlets: Update-PWDocumentFile (added -RemoveFile switch), Get-PWEnvironments, New-PWEnvironment, Add-PWEnvironmentColumn, Copy-PWEnvironmentColumn,
                    Get-PWEnvironmentColumns, Export-PWAccessControlToExcel (fixed bug with SS3/SS4 support)
 
2018-02-12 Version 1.3.22.0
 
Changed functions: Save-ClearTextToEncryptedFile - Changed to enhance secure handling of the clear-text password.
 
2018-02-09 Version 1.3.21.0
 
Added cmdlets: Get-PWConnectorToken - Generates token for use with WSG and PW Connector web service
                    New-PWDocumentViaWSG – Uses PW Connector which is a web service that wraps WSG to create a new document. No support for attributes yet.
 
Added functions: Save-ClearTextToEncryptedFile, Save-SecureStringToEncryptedFile, Get-SecureStringFromEncryptedFile, Get-ClearTextFromEncryptedFile - utility
                    functions for managing PowerShell secure password storage.
 
2018-02-06 Version 1.3.20.0
 
Changed cmdlets: New-PWInputOutputPerformanceReport - BIG BUG FIX: the -FileSizeK parameter was getting ignored (was defaulting to 1K), but is working now.
                        Added -NoCleanup switch if you want to look at the files yourself.
                    Get-PWDocumentAuditTrailRecords – Added action description.
                    Get-PWFolderAuditTrailRecords – Added action description.
 
2018-02-06 Version 1.3.19.0
 
Added cmdlets: Copy-PWConnectedProjectSettings - copies settings from on connected project to another emulating what you can do on the DM copy settings page
                    Show-PWFolderBrowserDialog – Show a dialog to select a folder. Selected folder can be stored in a variable or used on the pipeline.
                    Show-PWDocumentSelectiongDialog – Show a dialog to select one or more documents. Selected documents can be stored in variable or used on the pipeline.
                    Show-PWDatasources – Shows a list of the avilable datasources.
                    Copy-PWUser – Requires you be logged in as an administrator.
 
2018-02-01 Version 1.3.18.0
 
Added cmdlets: Get-PWInterfaceGUIDefinition – returns the GUI definition(s) for the specified environment/interface combination.
                    Set-PWInterfaceGUILabel – Adds a label to the specified environment/interface/attribute combination.
                    Set-PWInterfaceGUILabelFont – Sets the label font for the specified environment/interface/attribute combination.
                    Set-PWInterfaceGUIPrompt – Adds a prompt to the specified environment/interface/attribute combination.
                    Get-PWFonts – returns a list of available fonts on the current system.
 
Changed cmdlets: New-PWRichProjectsFromSpreadsheet (added -ProjectTypes parameter to allow for processing of subset of worksheets)
 
2018-01-29 Version 1.3.17.0
 
Changed cmdlets: Add-PWEnvironmentColumn (fixed problem where Administrator didn't work right after adding column)
 
2018-01-26 Version 1.3.16.0
 
Changed cmdlets: New-PWDocumentComment (more bug fixes and help update), New-PWInputOutputPerformanceReport (bug fixes),
                    Add-PWSavedSearch (added support in -SearchName for naming searches with full path (e.g. Search Folder\Sub-Folder\SearchName), changed manifest
 
2018-01-25 Version 1.3.15.0
 
(manifest file changes)
 
2018-01-25 Version 1.3.14.0
 
Added cmdlets: New-PWWorkflowWithStates, New-PWPowerShellScript
 
Changed cmdlets: Remove-PWFolder (added help and fixed support for -FolderPath parameter), New-PWDocumentComment (bug fixes and added support for documents objects from pipeline),
                    New-PWInputOutputPerformanceReport (reports results to a web service now, use -OptOutOfCentralReporting if you don't want to participate. Idea is to collect performance
                    data centrally and allow users to report on their results), Set-PWFolderView (added -PreviewPaneVies parameter), Get-PWFolders (added View and PreviewPaneView properties)
 
2018-01-22 Version 1.3.13.0
 
Changed cmdlets: Get-PWMonthlyLogins and Get-PWMonthlyLoginsDataTable (fixed another bug with Oracle and backup audit trail table),
                    Get-PWOutgoingTransmittalsReport (fixed assembly loading), Get-PWReferenceFiles (now uses -ReferenceLevel parameter)
 
2018-01-10 Version 1.3.12.0
 
Changed cmdlets: Get-PWMonthlyLogins and Get-PWMonthlyLoginsDataTable (fixed bug with Oracle and backup audit trail table),
                    Update-PWSQL (changed -SecretPassword to SecureString), Export-PWAccessControlToExcel (fixed bug when template not in standard location)
 
2018-01-05 Version 1.3.11.0
 
Added cmdlets: Get-PWStorageAreaReport, Get-PWFolderAuditTrailRecords
 
Changed cmdlets: Get-PWMonthlyLogins and Get-PWMonthlyLoginsDataTable (fixed bug with SQL Server and backup audit trail table),
                    Show-PWPS_DABChangeLog (added -ShowAll switch, now only shows top 20 lines by default)
 
2017-12-20 Version 1.3.10.0
 
Added cmdlets: Set-PWDocumentApplication
 
Changed cmdlets: Update-PWEnvironmentColumnWidth (changed to use VARCHAR2 for Oracle and NVARCHAR for SQL instead of NCHAR), Get-PWMonthlyLogins (add -WholeYear switch, always includes backup audit trail table now)
                    Export-PWDocuments (made some tweaks), Import-PWDocumentsBySpreadsheet (now supports the case where file names were changed in the version stack. Still requires that document names be the same through the stack.)
 
2017-12-18 Version 1.3.9.0
 
Changed cmdlets: Request-PWRemoteScriptExecution (Fixed service installer link in help. Should be https://pwstoragesouthcentralus.blob.core.windows.net/public/PWScriptMonitorSvcSetup.zip)
 
2017-12-18 Version 1.3.8.0
 
Added cmdlets: Request-PWRemoteScriptExecution
 
Changed cmdlets: New-PWDocument (Added -Application switch for creating new documents)
 
2017-12-12 Version 1.3.7.0
 
Added cmdlets: Save-PWEnvironmentViewScript
 
2017-12-08 Version 1.3.6.0
 
Added cmdlets: Get-ReferencedByReportForDocuments, Get-PWDocumentsBySearchWithReturnColumns, Get-PWFolderDocumentSize
 
Changed cmdlets: Get-PWDocumentsBySearch (add -ReturnDataTable switch), New-PWInputOutputPerformanceReport (added support for testing a subset of storages)
 
2017-11-21 Version 1.3.4.0
 
Added cmdlets: Show-PWPS_DABChangeLog, Get-PWUserListByMember
 
Changed cmdlets: Get-PWDSConfigEntry (bug fix), Copy-PWFolder (added -IncludeWorkspaceProfile switch)
 
2017-11-21 Version 1.3.3.0
 
Changed cmdlets: Import-PWDocumentsFromArchive and Export-PWDocumentsToArchive -- added support for empty folders and folder descriptions.
 
2017-11-21 Version 1.3.2.0
 
Changed cmdlets: Fixed bug where paths to searches were not respected.
 
2017-11-21 Version 1.3.1.0
 
General Change: Updated to be delivered via PowerShell Gallery.
 
Add cmdlets: Get-PWSavedSearches
 
Changed cmdlets: Generally updated the cmdlets that take Saved Search names as parameters to support using a path and the -Personal switch for personal searches.
 
2017-11-09 Version 1.2.26.0
 
Add cmdlets: New-PWDocumentComment
 
Changed cmdlets: Save-PWDocumentReport (Added -AppendToXLSX switch), New-PWInputOutputPerformanceReport (changed dates to be formatted consistently across worksheets).
 
2017-10-26 Version 1.2.25.0
 
Changed cmdlets: Updated Excel file support.
 
2017-10-24 Version 1.2.24.0
 
Changed cmdlets: Bug fixes with regard to the folder object. Update-PWFolderSecurity should work now.
 
2017-10-18 Version 1.2.23.0
 
Changed cmdlets: Added -DoNotCreateWorkingDirectory switch for New-PWLogin. (was creating issues for users managing a lot of different datasources from the same machine).
 
2017-10-16 Version 1.2.22.0
 
Add cmdlets: Get-PWReferenceCountReportForDocuments (simpler report than Get-PWReferenceReportForDocuments where just the master document details and the
                    count of its unique references are returned).
 
Changed cmdlets: Added NestedReferenceCount member to the document object. All of the cmdlets that return document objects and support the -GetAttributes switch will
                    now return the count of references if you include the -GetAttributes switch. (Get-PWDocumentsBySearch).
 
2017-10-13 Version 1.2.21.0
 
Add cmdlets: Add-PWSavedSearch.
 
Changed cmdlets: Get-PWReferenceFiles, Get-PWReferenceReportForDocuments, Get-PWReferenceReportForFolder (fixed all of these to get all nested reference, support SQLite and DataTable output).
                    Import-PWDocumentsFromArchive (fixed a problem with imports to Oracle datasources)
 
2017-10-11 Version 1.2.20.0
 
Add cmdlets: Submit-PWDocumentToPrint, Merge-PWPDFs, Split-PWPDFs, and Add-PWPDFQRCode.
 
Changed cmdlets: Export-PWDocuments (added pipeline support for documents. This is really a copy-out with metadata).
 
2017-10-04 Version 1.2.19.0
 
Changed cmdlets: Get-PWReferenceReportForDocuments and Get-PWReferenceFiles (fixed to resolve nested references correctly).
                    Set-PWRichProjectResource (added support for setting rendition profiles)
 
2017-10-04 Version 1.2.18.0
 
Added cmdlets: Export-PWTagMappings, Import-PWTagMappings, Get-PWTagSets, Remove-PWTagSet
 
Changed cmdlets: Add-PWTagEnvironmentAttribute (updated type handling and format string generation)
 
2017-10-02 Version 1.2.17.0
 
Added cmdlets: Add-PWTagSet, Add-PWTags, Add-PWTagDocumentProperty, Add-PWTagFolderProperty, Add-PWTagProjectProperty, Add-PWTagEnvironmentAttribute
 
2017-09-27 Version 1.2.16.0
 
Added cmdlets: Remove-PWSavedSearch
 
Changed cmdlets: New-PWInputOutputPerformanceReport (added Verbose messaging, added a column to the storage performance report table)
                    Get-PWDocumentAuditTrailRecords (added IncludeSecondaryTable switch)
 
2017-09-17 Version 1.2.15.0
 
New example scripts: ScanRefs.ps1, CreateDatasource2.ps1 (updated), CreateODBC64.ps1, ImportData.ps1
 
Added cmdlets: Set-PWUserWorkingDirectory, Get-PWUserWorkingDirectory, Add-PWUserToGroup, Get-PWUsersInGroup, Get-PWGroupName, Get-PWUserListNames,
                    Get-PWUsersInUserList, Add-PWUserToUserList, Remove-PWUserFromUserList, Remove-PWUserFromGroup, New-PWUserSimple, Set-PWUserAdminRights,
                    Import-PWAAMFile, Export-PWAAMFile
 
2017-09-11 Version 1.2.14.0
 
Changed cmdlets: CheckOut-PWDocuments (changed copy out behavior to always include references unless -NoReferences flag is set)
                    Update-PWPropagateProjectPropertiesToSubProjects (allows passing regular folder. Rich project not required. Added verbose messages.)
                    New-PWInputOutputPerformanceReport (added table with individual storage area i/o details)
 
2017-09-06 Version 1.2.13.0
 
Changed cmdlets: Get-PWOutgoingTransmittalsReport (fixed another possible bug)
 
2017-09-05 Version 1.2.12.0
 
Added cmdlets: Add-PWPicklist, Get-PWPickList, Export-PWPickList, Import-PWPickList, Get-PWPickListItems, Remove-PWPickListItems, Remove-PWPickList
 
Changed cmdlets: Get-PWOutgoingTransmittalsReport (fixed possible bug)
                    Access control cmdlets reworked to accept pipeline input of an array of folders as returned from Get-PWFolders, etc.
 
2017-08-23 Version 1.2.11.0
 
Changed cmdlets: New-PWRichProject, New-PWRichProjectsFromSpreadsheet, New-PWRichProjectsFromDataTable (made more changes to workflow inheritance)
 
2017-08-23 Version 1.2.10.0
 
Added cmdlets: Get-PWError (Takes Error Number gives, description)
                    Get-PWProjectTemplates (List the Project Templates)
 
Changed cmdlets: New-PWRichProject, New-PWRichProjectsFromSpreadsheet, New-PWRichProjectsFromDataTable (updated all 3 to replicate workflow security properly and create new, project-specific user lists)
 
2017-08-22 Version 1.2.9.0
 
Added cmdlets: Add-PWDocumentsWithCode (Create abstract documents with document code applied)
 
Changed cmdlets: Update-PWDocumentFile (Added -NewFileName and -UseDocumentName parameters to rename file when replacing it)
 
2017-08-21 Version 1.2.8.0
 
Added cmdlets: Add-PWFileTypeAssociation (For Indexing, Property extraction and thumbnails)
 
Changed cmdlets: Get-PWUserByLastLogin (updated to use audit trail truncation table in addition to active audit trail table)
                    New-PWRichProject (updated to replicate workflow security)
 
2017-08-18 Version 1.2.7.0
 
Changed cmdlets: Save-PWDocumentReport (fixed date handling for AuditTrailRecordsStart and AuditTrailRecordsEnd parameters)
 
2017-08-15 Version 1.2.6.0
 
Added cmdlets: Set-PWDocumentFileUpdateTimeToNow, Add-PWMemberToGroup, Add-PWMemberToUserList
 
Changed cmdlets: Add-PWConnectedProject (updated to support Connected Project creation without connecting to PW Project),
                    New-PWDMTransmittal (updated help)
 
2017-08-09 Version 1.2.5.0
 
Changed cmdlets: Update-PWEnvironmentCopyData, Update-PWEnironmentColumnName, Update-PWEnvronmentColumnWidth
                    - Changed column name validation logic because this was found to be unreliable
 
                    Get-PWEnvironments, Get-PWEnvironmentColumns, Add-PWEnvironmentColumn
                    - Changed column name display logic to support the above changes
 
2017-08-08 Version 1.2.4.0
 
Changed cmdlets: Save-PWDocumentsReport
                    - Added AuditTrailRecordsStart and AuditTrailRecordsEnd parameters
                    - Added support for SQLite output. Will output SQLite database for any extension that's not .xlsx
 
                    Get-PWDocumentsReportDataTable
                    - Added AuditTrailRecordsStart and AuditTrailRecordsEnd parameters
 
2017-07-28 Version 1.2.3.0
 
Changed cmdlets: Export-PWAccessControlToExcel
                    - Added better help information.
                    - Added better error / verbose messaging.
                    - Added ValidateSet for ExportFileExtension to limit input to xlsx or csv.
 
                    Import-PWAccessControlFromExcel
                    - Added better help information.
                    - Added better error / verbose messaging.
 
                    Set-PWUserListOwners
                    - Added better error / verbose messaging.
                    - Added ValidateSet for OwnerType to limit input to u, ul, user, and userlist.
 
                    Set-PWGroupOwners
                    - Added better error / verbose messaging.
                    - Added ValidateSet for OwnerType to limit input to u, g, ul.
 
2017-07-26 Version 1.2.2.0
 
Added cmdlets: Set-PWFolderRenditionProfile, Get-PWFolderRenditionProfile.
 
Changed cmdlets: Remove-PWDocuments (added -UserSoftDelete parameter).
 
2017-07-24 Version 1.2.1.0
 
Changed cmdlets: Update-PWFolderSecurity (changed some document security handling), Copy-PWDocumentsBySearch & Remove-PWDocumentsBySearch
                    (added help), CheckIn-PWDocumentsOrFree (added 0 file size check), Get-PWFolderTreeDocumentSize (fixed a bug)
 
2017-07-19 Version 1.2.0.0
 
Added cmdlets: Add-PWTestDocuments, Add-PWTestDocumentsInFolders, Export-PWDocumentsToArchive, Export-PWDocumentsToDataSet,
                    Import-PWDocumentsFromArchive, New-PWInputOutputPerformanceReport, Select-PWSQLDataTableToSQLite
Changed cmdlets: New-PWEnvironmentsReport (added SQLite output support), CheckOut-PWDocuments (-CopyOut now defaults to working directory,
                    added -NoReferences and -RemoveCopies switch),
                    Update-PWDocumentProperies and Update-PWDocumentAttributes (added -ReturnBoolean switch to test for failed updates),
                    Update-PWFolderSecurity (internal fixes)