- PowerShell から Titan SFTP サーバーにユーザーを追加できますか?
- もちろん可能です。以下に PowerShell のスクリプトサンプルをご案内いたします。
コマンドを実行する前に、PowerShell でサーバーにログインする必要があります。
(参考:PowerShell によるサーバーへの認証)
【ユーザー名とパスワードのみを追加】
$serverName = "Default Server"
$userName = "John"
# Create user
$newUser = new-object Titan.API.Models.SrtApiModelsApiUserParamsPoco
$newUser.Username = $userName
$newUser.Password = "password12345"
$user = New-Usr -ServerGuid $serverName -AuthGuid native -Body $newUser
$user.Response | Format-List
以下のサンプルでは Share\Incoming と Share\Outgoing というサブディレクトリを作成し、各ディレクトリにアクセス制限を設けています。
【ユーザー名/パスワード/パーミッションを追加】
$serverName = "Default Server"
$userName = "John"
# Create user
$newUser = new-object Titan.API.Models.SrtApiModelsApiUserParamsPoco
$newUser.Username = $userName
$newUser.Password = "Password12345"
$newUser.CreateHomeDirNow = 1
$user = New-Usr -ServerGuid $serverName -AuthGuid native -Body $newUser
$userNameGuid = $user.Response.UserGuid
Write-Host "Created user: " $userName " UserGUID: " $userNameGuid
$r = Start-UsrAction -ServerGuid $serverName -AuthGuid native -UserGuid $userName -byUserName -Action getHomeDir
$homeDir = $r.Response.HomeDir
Write-Host "Homedir: " $homeDir
# Create some folders for this user
$incoming = Join-Path $homeDir "Share\Incoming"
$outgoing = Join-Path $homeDir "Share\Outgoing"
Write-Host "Incoming: " $incoming
Write-Host "Outgoing: " $outgoing
New-Item -ItemType Directory -Force -Path $incoming
New-Item -ItemType Directory -Force -Path $outgoing
# Setup ACL for upload only for Incoming folder
$r = New-SvrDirAccess -OwnerGuid $userNameGuid -ServerGuid $serverName -AllowAce "-W-----LI----" -DenyAce "-------------" -Level "Usr" -Path $incoming
# Setup ACL for download/delete but not upload for Outgoing folder
$r = New-SvrDirAccess -OwnerGuid $userNameGuid -ServerGuid $serverName -AllowAce "R--D---LI----" -DenyAce "-------------" -Level "Usr" -Path $outgoing
# list directory access at user level which will include group/server level for this user
Write-Host "Directory permissions for user: " $userName
(Get-SvrDirAccessUserList -serverGUID $serverName -authGUID native -userGUID $userName).Response.DirAccessList | Format-List
上記スクリプトの実行後、パーミッションは管理ポータルに以下のように反映されます。
- PowerShell による操作は通常のサポートではご提供しておりません。
例えば、複数ユーザーの一括登録方法のサポートをご希望の場合「Professional Service」のご契約が必要です。(参考:Professional Service [別売]) - PowerShell や NXCLI のみで全ての設定を行うことはできません。
- SSHホストキーやアルゴリズムは、現時点では管理ポータルからのみ登録が可能。