Я пишу сценарий powershell для копирования файлов с sharepoint на компьютер с Windows.Я не хочу устанавливать sharepoint на компьютере под управлением Windows для запуска этого сценария powershell.Нам это нужно только на сервере, на котором работает наша sharepoint.Цель моего сценария - скопировать файлы с sharepoint на компьютер с Windows в качестве резервной копии.
Я следую этому примеру .Однако, когда я запускаю его (с помощью add-psSnapin), я получаю:
«Add-PSSnapin: оснастка Windows PowerShell« Microsoft.SharePoint.PowerShell »не установлена на этом компьютере. "
Я просматривал эту статью , и мне показалось, что она использует Enable-PSRemoting, который я добавил в свой скрипт.
Это мой сценарий, который похож на ссылку, которую я дал выше:
#run 64 bit powershell version as administrator (doing this): https://stackoverflow.com/questions/19055924/how-to-launch-64-bit-powershell-from-32-bit-cmd-exe
Set-ExecutionPolicy RemoteSigned #permission to run scripts
Enable-PSRemoting
Get-PSSnapin -Registered | Add-PSSnapin -Passthru
#Add-PSSnapin Microsoft.SharePoint.PowerShell
$tempSource = "http://sharepoint.college.edu/sites/Disaster%20Plan/Forms/AllItems.aspx"
$ToLocation = "C:\Users\mcl8\Documents\2018\powershellFiles\toLoc\"
$web = Get-SPWeb -Identity "http://sharepoint.college.edu/sites/Disaster%20Plan/Forms/"
$list = $web.GetList("http://sharepoint.college.edu/sites/Disaster%20Plan/Forms/AllItems.aspx")
function ProcessFolder{
param($SourceUrl)
$folder = $web.GetFolder($SourceUrl)
foreach ($file in $folder.Files) {
#Ensure destination dir
$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.Close()
}
} #ProcessFolder
#################start here##################################
#run this as administrator
#Download root files
ProcessFolder($list.RootFolder.Url)
#Download files in folders
foreach ($folder in $list.Folders) {
#ProcessFolder($folder.Url)
}
В Get-SPWeb происходит сбой следующим образом:
Get-SPWeb: термин «Get-SPWeb» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.
Я пытался раскомментировать строку Add-PSSnapin, но получил эту ошибку:
Add-PSSnapin: оснастка Windows PowerShell «Microsoft.SharePoint.PowerShell» не установлена на этом компьютере.
Но, как я уже сказал, я не хочуустановить Sharepoint на мой компьютер.
Есть идеи, как использовать надстройки sharepoint?Спасибо!