Convert-PWUserToFederated returns Warning

We are getting ready to go into production with federated accounts. For ProjectWise, I've written a PowerShell script to update set the user Identity and set the user to a federated account.

========================================================================================

import-module pwps_dab -DisableNameChecking

# Connect to ProjectWise TEST
$PWord = ConvertTo-SecureString -String "******" -AsPlainText -Force
$value = New-PWLogin -UserName admin -Password $PWord -DatasourceName datasource

$Users = Get-PWUsersByMatch -Email "*@acme.com" -LoginInfo | Where-Object {$_.Type -like "Windows*"}
# $Users | Out-GridView
foreach ($u in $Users) {
    $currentUser = Set-PWUserIdentity -Users $u -Identity $u.Email
    $currentUser = Convert-PWUserToFederated -InputUser $u -IdentityName $u.Email
}

=========================================================================================

Version      Module
-----------    ---------------------
23.0.3.0    pwps_dab 

=========================================================================================

The user lookup works successfully.

I can set the UserIdentity successfully.

The Convert-PWUserToFederated returns:  "WARNING: Error creating database view" and does not update the user.

Any suggestions are appreciated?  Are there anymore updates that need to be made at the user level for ProjectWise?

Parents
  • Since you set the -Identity option in Set-PWUserIdentity I don't think you need to set it again in the Convert-PWUserToFederated -IdentityName option, or alternatively skip the Set-PWUserIdentity and do just the Convert, with the -IdentityName specified.

    Not sure why any of that would generate the message you're seeing though.

    Also, not the cause of your error but doing this:

    $PWord = ConvertTo-SecureString -String "******" -AsPlainText -Force

    Is poor security. You now need to protect your script to the same level you do the passwords. Storing plaintext passwords in scripts is a common source of escalating to administrative accounts in network breaches.

    See the Save-SecureStringToEncryptedFile and Get-SecureStringFromEncryptedFile for a better way to have passwords for scripts.

     

Reply
  • Since you set the -Identity option in Set-PWUserIdentity I don't think you need to set it again in the Convert-PWUserToFederated -IdentityName option, or alternatively skip the Set-PWUserIdentity and do just the Convert, with the -IdentityName specified.

    Not sure why any of that would generate the message you're seeing though.

    Also, not the cause of your error but doing this:

    $PWord = ConvertTo-SecureString -String "******" -AsPlainText -Force

    Is poor security. You now need to protect your script to the same level you do the passwords. Storing plaintext passwords in scripts is a common source of escalating to administrative accounts in network breaches.

    See the Save-SecureStringToEncryptedFile and Get-SecureStringFromEncryptedFile for a better way to have passwords for scripts.

     

Children
No Data