# ------------------------------------------------------------------ # AUTHOR: [LucidLink Support] # NAME: sso_lucid_share_script.ps1 # VERSION: 1.0.1 # DESCRIPTION: Lists shares from Filespace instance 1 and imports # into Filespace instance 2 # # THE SCRIPT IS PROVIDED “AS IS” AND “AS AVAILABLE” AND IS WITHOUT # WARRANTY OF ANY KIND. PLEASE REVIEW ALL TERMS AND CONDITIONS. # https://www.lucidlink.com/legal-documents # ------------------------------------------------------------------ Param( [string]$FS1ROOTPWD, [string]$FS2ROOTPWD ) # --- Ensure password --- if ([string]::IsNullOrEmpty($FS1ROOTPWD)) { Write-Host "Usage: .\sso_lucid_share_script.ps1 `r`nRequest failed with: Bad Request `r`nEmpty required parameter 'password' is not allowed!" exit 1; } # --- List and filter instance 1 share user and group assingments --- $SOURCESHARES = lucid --instance 1 share --configured --password ""$FS1ROOTPWD"" $SHARES = $SOURCESHARES.replace('read, write','read,write').replace('[user]',';user').replace('[group]',';group') -match "azure\\|okta\\" -replace '\s{2,}', ';' -replace ' ;', ';' # --- Loop through assigning users and groups within instance 2 --- foreach ($LINES in $SHARES) { $SHAREDPATH, $USERGROUP, $TYPE, $SHAREDAS, $PERMISSIONS = $LINES -split ';' Start-Process -WindowStyle hidden -FilePath "C:\Program Files\Lucid\Resources\Lucid.exe" -ArgumentList "--instance 2 share --set ""$SHAREDPATH"" --$TYPE ""$USERGROUP"" --permissions $PERMISSIONS --password ""$FS2ROOTPWD""" -Wait -RedirectStandardOutput sso_lucid_shares_output.txt -RedirectStandardError sso_lucid_shares_error_output.txt Get-Content sso_lucid_shares_output.txt, sso_lucid_shares_error_output.txt Get-Content sso_lucid_shares_output.txt, sso_lucid_shares_error_output.txt | Out-File sso_lucid_shares_log.txt -Append } exit