From bc20dde92b3abce195aee051b380ccc937f54e19 Mon Sep 17 00:00:00 2001 From: John Ambrose Date: Wed, 9 Oct 2024 14:48:40 -0400 Subject: [PATCH] Add support for remoteFolder:serverName and for ftp vs smb in remoteFolder:type --- Module/RicohAddressBook.psm1 | 43 ++++++++++++++++++++++++++-- Module/Templates/getObjectsProps.xml | 1 + 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Module/RicohAddressBook.psm1 b/Module/RicohAddressBook.psm1 index e6b1f0f..cbeac84 100644 --- a/Module/RicohAddressBook.psm1 +++ b/Module/RicohAddressBook.psm1 @@ -429,6 +429,8 @@ function Format-PropertyList { if ($properties.ContainsKey('remoteFolder:select') -and 'private' -eq $properties['remoteFolder:select']) { $output.FolderScanAccount = $properties['remoteFolder:accountName'] } + + $output.FolderServerName = $properties['remoteFolder:serverName'] } if (Test-Property $properties 'mail:') { @@ -720,9 +722,15 @@ function Get-TagIdValue { .Parameter UserCode The User Code property used for authentication management. +.Parameter FolderScanType + The protocol used for scanned file transfer. Either smb or ftp. + .Parameter FolderScanPath The network path used to save scanned files. +.Parameter FolderServerName + The server IP or DNS name for FTP scans. + .Parameter FolderScanAccount The account to use to save the scanned files to a network location. @@ -868,11 +876,22 @@ function Update-AddressBookEntry { [Parameter(ValueFromPipelineByPropertyName)] $UserCode, + [string] + [ValidateSet('smb', 'ftp')] + [Parameter(ValueFromPipelineByPropertyName)] + [PSDefaultValue(Help = "SMB", Value = "smb")] + $FolderScanType, + [string] [ValidateLength(1, 256)] [Parameter(ValueFromPipelineByPropertyName)] $FolderScanPath, + [string] + [ValidateLength(1, 256)] + [Parameter(ValueFromPipelineByPropertyName)] + $FolderServerName, + [pscredential] [Parameter(ValueFromPipelineByPropertyName)] $FolderScanAccount, @@ -977,9 +996,10 @@ function Update-AddressBookEntry { if (-not [string]::IsNullOrEmpty($FolderScanPath)) { add 'remoteFolder:' 'true' - add 'remoteFolder:type' 'smb' + add 'remoteFolder:type' $FolderScanType add 'remoteFolder:path' $FolderScanPath add 'remoteFolder:port' 21 + add 'remoteFolder:serverName' $FolderServerName } elseif ($ForceFolderScanPath) { add 'remoteFolder:' 'false' } @@ -1093,9 +1113,15 @@ function Update-AddressBookEntry { .Parameter UserCode The User Code property used for authentication management. +.Parameter FolderScanType + The protocol used for scanned file transfer. Either smb or ftp. + .Parameter FolderScanPath The network path used to save scanned files. +.Parameter FolderServerName + The server IP or DNS name for FTP scans. + .Parameter FolderScanAccount The account to use to save the scanned files to a network location. @@ -1226,12 +1252,24 @@ function Add-AddressBookEntry { [Parameter(ValueFromPipelineByPropertyName)] $UserCode, + [string] + [ValidateSet('smb', 'ftp')] + [Parameter(ValueFromPipelineByPropertyName)] + [PSDefaultValue(Help = "SMB", Value = "smb")] + $FolderScanType, + [string] [ValidateLength(1, 256)] [Parameter(ParameterSetName = 'Folder', Mandatory, ValueFromPipelineByPropertyName)] [Parameter(ParameterSetName = 'FolderAndEmail', Mandatory, ValueFromPipelineByPropertyName)] $FolderScanPath, + [string] + [ValidateLength(1, 256)] + [Parameter(ParameterSetName = 'Folder', ValueFromPipelineByPropertyName)] + [Parameter(ParameterSetName = 'FolderAndEmail', ValueFromPipelineByPropertyName)] + $FolderServerName, + [pscredential] [Parameter(ParameterSetName = 'Folder', ValueFromPipelineByPropertyName)] [Parameter(ParameterSetName = 'FolderAndEmail', ValueFromPipelineByPropertyName)] @@ -1318,9 +1356,10 @@ function Add-AddressBookEntry { if (-not [string]::IsNullOrEmpty($FolderScanPath)) { add 'remoteFolder:' 'true' - add 'remoteFolder:type' 'smb' + add 'remoteFolder:type' $FolderScanType add 'remoteFolder:path' $FolderScanPath add 'remoteFolder:port' 21 + add 'remoteFolder:serverName' $FolderServerName if ($null -ne $FolderScanAccount) { add 'remoteFolder:select' 'private' diff --git a/Module/Templates/getObjectsProps.xml b/Module/Templates/getObjectsProps.xml index 608dac9..cfc138d 100644 --- a/Module/Templates/getObjectsProps.xml +++ b/Module/Templates/getObjectsProps.xml @@ -26,6 +26,7 @@ remoteFolder:path remoteFolder:port remoteFolder:accountName + remoteFolder:serverName mail: mail:address isSender