PWPS_DAB_ChangeLog.txt
2023-12-04 Version 23.3.5.0
Changed Cmdlets Copy-PWDocumentsBetweenDatasources - Fixed ToUTC switch malfunction for Australian datasources Copy-PWFoldersBetweenDatasources - Folder descriptions are now copied Add-ImodelToProject - No longer errors out if legitimate connected project ID is provided Set-PWWebServicesGatewayURL - Cmdlet now works so use with caution. Mitigated a security risk. 2023-11-21 Version 23.3.4.0 Mitigated a security risk. 2023-11-09 Version 23.3.3.0 Migrated the following cmdlets to a new API. The old API will cease to function 11/16/2023: Add-PWConnectedProjectOIDC Get-PWProjectShareFilesOIDC Remove-PWProjectShareFilesOIDC Get-PWProjectShareFilesFromFoldersOIDC Get-PWProjectShareFileReportOIDC Remove-PWConnectedProjectUsersOIDC Confirm-PWConnectedProjectUsersOIDC Add-PWConnectedProjectUsersOIDC Sync-PWRichProjectAndConnectUsersOIDC Changed Cmdlets New-PWRichProjectFromTemplate - Addressed report that CSBs were not copied Export-PWDocuments - Entries in FileSystemPath column not garbled when Searches parameter is used 2023-10-26 Version 23.3.2.0 Changed Cmdlets Add-PWConnectedProject - The InputFolder parameter only accepts one folder which must also be a workarea. Import-PWDocumentsFromArchive - Now restores the document applications correctly. Show-PWFolderBrowserDialog - Now correctly functions when the InitialFolderPath is specified. 2023-10-05 Version 23.3.0.0 General Removed SuppressTeamMemberRole switch from Connected Project and ProjectWise 365 Project user addition cmdlets. It never worked. Added Cmdlets Add-PWUsersToPW365Project2, Add-PWUsersToConnectedProject2 - these have different parameters than the predecessors. They will not add the Team Member role unless it is explicitly specified. Changed Cmdlets New-PWRichProjectFromTemplate - General cleanup Update-PWDocumentFileFromProjectWise - General Cleanup. Clarification of parameters Export-PWAuditTrailToSQLite - Removed the generation of the empty ObjectNames table in the SQLite database. Added functionality for the IncludeFullObjectNames parameter 2023-09-01 Version 23.2.6.0 General Import files from disk commands check for existence of target ProjectWise folder rather than blindly creating it. Added Cmdlets Add-PWUsersToPW365Project, Add-PWUsersToProjectWise365ProjectByGroup, Add-PWUsersToProjectWise365ProjectByUserlists, Get-PW365ProjectRoles - Analagous to the connected project cmdlets Changed Cmdlets Get-PWDocumentsBySearch, Get-PWDocumentsBySearchExtended, Get-PWDocumentsBySearchWithReturnColumns FolderPath as well as FullPath document object properties are now populated if the PopulatePath is specified. Show-PWFolderBrowserDialog - now returns a folder path object with the FullPath property populated. 2023-08-02 Version 23.2.5.0 General Made some changes to the module to make it easier to install 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) |