и заранее спасибо !!! Мне удалось успешно переместить документы с одного сервера (sharepoint) на другой (импульсный). Однако каждый документ начинается с HC_.jpg.
Как я могу переместить документ и переименовать одновременно. В настоящее время я использую два отдельных сценария и две отдельные запланированные задачи, что не идеально.
Первый сценарий, который перемещает документ с SharePoint Server:
######################## Start Variables ########################
######################## Adam's Script######################
$destination = "\\pulse-dev.domain.com\C$\ProfilePhotos\"
$webUrl = "http://mysites-dev.domain.com"
$listUrl = "http://mysites-dev.domain.com/user photos/"
##############################################################
$web = Get-SPWeb -Identity $webUrl
$list = $web.GetList($listUrl)
function ProcessFolder {
param($folderUrl)
$folder = $web.GetFolder($folderUrl)
foreach ($file in $folder.Files) {
#Ensure destination directory
$destinationfolder = $destination + "/" + $folder.Url
if (!(Test-Path -path $destinationfolder))
{
$dest = New-Item $destinationfolder -type directory
}
#Download file
$binary = $file.OpenBinary()
$stream = New-Object System.IO.FileStream($destinationfolder + "/" + $file.Name), Create
$writer = New-Object System.IO.BinaryWriter($stream)
$writer.write($binary)
$writer.Close()
}
}
#Download root files
ProcessFolder($list.RootFolder.Url)
#Download files in folders
#foreach ($folder in $list.Folders) {
#ProcessFolder($folder.URL)
#}
Второй сценарий, который запускается на сервере Pulse после завершения первого сценария
$dir= "C:\ProfilePhotos\"
CD $dir
Get-ChildItem -Recurse |
where-Object {$_.Name -match 'HC_'} |
Rename-Item -NewName {$_.Name -replace 'HC_', ''}