powershell - online - Descargue el último archivo de la Biblioteca de documentos de SharePoint
sharepoint online management shell commands (1)
Tuve un requisito similar al tuyo, pero primero comencé a mapear la ruta de SharePoint UNC . El problema es que no siempre lo encuentra al instante, por lo que podría ser necesario un par de intentos:
$SharePoint = ''//xxx.domain.net/site/Documents''
$LocalDrive = ''S:''
$Credentials = Get-Credential
if (!(Test-Path $LocalDrive -PathType Container)) {
$retrycount = 0; $completed = $false
while (-not $completed) {
Try {
if (!(Test-Path $LocalDrive -PathType Container)) {
(New-Object -ComObject WScript.Network).MapNetworkDrive($LocalDrive,$SharePoint,$false,$($Credentials.username),$($Credentials.GetNetworkCredential().password))
}
$Completed = $true
}
Catch {
if ($retrycount -ge ''5'') {
Write-Verbose "Mapping SharePoint drive failed the maximum number of times"
throw "SharePoint drive mapping failed for ''$($SharePoint)'': $($Global:Error[0].Exception.Message)"
} else {
Write-Verbose "Mapping SharePoint drive failed, retrying in 5 seconds."
Start-Sleep ''5''
$retrycount++
}
}
}
}
Una vez que se ha asignado SharePoint Document Library
, puede usar todos los CmdLets que necesita para filtrar los archivos que está buscando ( Get-ChildItem S:/
, ...).
¿Cómo puedes encontrar el camino UNC ?
Al abrir su sitio en el navegador, vaya a View all site content
, haga clic en Documents
y seleccione Actions
y Open with Windows Explorer
. El enlace en la barra de direcciones es el enlace que necesita.
Advertencia: No se puede usar Microsoft.SharePoint.Powershell
Snap-in.
Quiero crear un script de PowerShell que busque en una biblioteca de documentos de SharePoint el archivo más reciente.
https://sharepoint.url.com/site/Your_Site_Name/Sub_Site/SharedDocuments/
Estoy tratando de incorporar Get-ChildItem
para buscar el último archivo.
Aquí hay un ejemplo:
$fromfile = "https://sharepoint.url.com/site/Your_Site_Name/Sub_Site/SharedDocuments/File_name*"
$tofile = "c:/temp/temp_file.xlsx"
$latest = Get-ChildItem -Path $fromfile | Sort-Object LastAccessTime -Descending | Select-Object -First 1
$latest.name
$webclient = New-Object System.Net.WebClient
$webclient.UseDefaultCredentials = $true
$webclient.DownloadFile($latest.name, $tofile)
Mi problema es que cuando ejecuto este script, aparece el siguiente error:
Get-ChildItem : Cannot find drive. A drive with the name ''https'' does not exist.
At line:4 char:11
+ $latest = Get-ChildItem -Path $fromfile | Sort-Object LastAccessTime
No puedo usar la ruta UNC en el servidor (Win 2012) que estoy usando. Obtengo "agregar sitio al ''sitio de confianza'' y vuelvo a intentarlo cuando intento utilizar ''Abrir con Explorer''.