PowerShell
PowerShell
Get FTP File Permissions
See more FTP Examples
_LANGUAGE_ example showing how to retrieve file permissions (via FTP) for each file in a remote directory.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$ftp = New-Object Chilkat.Ftp2
# Set the various properties to establish the connection.
$ftp.Hostname = "ftp.example.com"
$ftp.Username = "login"
$ftp.Password = "password"
# If SSL/TLS is required..
# See http://www.cknotes.com/determining-ftp2-connection-settings/
# for more information.
$ftp.AuthTls = $true
$ftp.PassiveUseHostAddr = $true
# Connect to the FTP server:
$success = $ftp.ConnectOnly()
if ($success -ne $true) {
$($ftp.LastErrorText)
exit
}
# Authenticate with the FTP server.
$success = $ftp.LoginAfterConnectOnly()
if ($success -ne $true) {
$($ftp.LastErrorText)
exit
}
# To get file permissions in UNIX format, disallow MSLD:
$ftp.AllowMlsd = $false
# To get file and sub-directory information, simply
# loop from 0 to ftp.GetDirCount() - 1
$i = 0
$n = $ftp.GetDirCount()
if ($n -lt 0) {
$($ftp.LastErrorText)
exit
}
# Show the type of permissions information that is available.
# The two most common types are "mlsd" and "unix". See the
# online reference documentation for more information.
if ($n -gt 0) {
$("The permissions format is: " + $ftp.GetPermType(0))
}
while ($i -lt $n) {
# Display the permissions and filename
$($ftp.GetPermissions($i) + " " + $ftp.GetFilename($i))
$i = $i + 1
}
# Assuming MLSD was possible, let's see the file permissions in MLSD format:
$ftp.AllowMlsd = $true
# Clear the directory cache so we're forced to re-fetch the directory listing:
$ftp.ClearDirCache()
$n = $ftp.GetDirCount()
if ($n -lt 0) {
$($ftp.LastErrorText)
exit
}
# Show the type of permissions information that is available.
# The two most common types are "mlsd" and "unix". See the
# online reference documentation for more information.
if ($n -gt 0) {
$("----")
$("The permissions format is: " + $ftp.GetPermType(0))
}
$i = 0
while ($i -lt $n) {
# Display the permissions and filename
$($ftp.GetPermissions($i) + " " + $ftp.GetFilename($i))
$i = $i + 1
}
$success = $ftp.Disconnect()