Доброе утро всем,
У меня есть проект на работе, где мне нужно загрузить / загрузить между сервером Sharepoint и сервером SFTP. Шаги выглядят примерно так:
- Периодически проверяйте данные на сервере sftp (2 разных сервера)
- загружайте на сервер Windows любые новые данные
- загружайте данные с Windows сервер на Sharepoint
- Периодически проверять сервер Sharepoint на наличие данных
- загрузка на Windows сервер любых новых данных
- загрузка данных с сервера Windows на сервер sftp
У меня есть сценарии для подключения к Sharepoint и для подключения к серверу sftp, и они будут ниже. У меня проблема с перечислением папок / файлов и их загрузкой / выгрузкой. Когда я пытаюсь перечислить определенные папки в Sharepoint, это дает мне все. Я не могу перечислить папки в SFTP.
Я хотел бы загрузить / загрузить папки и добавить к ним временную метку. Мы будем благодарны за любую помощь.
Спасибо
Сценарий подключения SFTP:
$Uname = "my username"
$Pass = Get-Content "C:\Temp\cred.txt" | ConvertTo-SecureString
$Cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $Uname, $Pass
New-SFTPSession 127.0.0.1 -Credential $Cred
Get-ChildItem
Сценарий подключения Sharepoint:
$Uname = "email address"
$Pass = Get-Content "C:\Temp\cred.txt" | ConvertTo-SecureString
$Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $Uname, $Pass
#Connect to SPO
Connect-PnPOnline -Url https://tenantname.sharepoint.com -Credentials $Cred
$web = Get-SPWeb https://tenantname.sharepoint.com
$list = $web.Lists["Style Library"]
$fields = $list.Fields.InternalName
$fields | Where-Object {
$_ -like '*sitename*'
}
Sharepoint скачать один файл скрипт
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
$Uname = "email address"
$Pass = Get-Content "C:\Temp\cred.txt" | ConvertTo-SecureString
$Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $Uname, $Pass
$SiteURL = "https://tenantname.sharepoint.com/sites/site_name"
$LibraryName = "Documents"
$FolderName = "2020"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
#Config Variables
$FileRelativeURL = "/sites/site_name/Shared Documents/2020/file_name"
$DownloadPath ="C:\Temp"
Try {
#Connect to PNP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
#powershell download file from sharepoint online
Get-PnPFile -Url $FileRelativeURL -Path $DownloadPath -AsFile
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}