Extraindo dados do SharePoint diariamente

0

Desejo exportar diariamente meus dados da biblioteca de documentos do SharePoint e o arquivo csv precisa ser salvo como convenção de nomenclatura como Dataname_yyyyMMdd. Conforme meu script abaixo, ele precisa exportar dados da biblioteca do sharepoint em um arquivo CSV como o nome Data_yyyyMMdd. Em seguida, ele precisa importar os dados de Data_yyyyMMdd e incluir "cabeçalho" no arquivo e exportar para o novo CSV de saída final como nome "DataName_yyyyMMdd".

Ao executar o script, estou obtendo apenas um arquivo como Data_yyyyMMdd. Os dados do arquivo não estavam importando para o arquivo csv final e não estão gerando o arquivo de saída final DataName_yyyyMMdd. Por favor, corrija-me se estiver fazendo errado no script. Por favor, me compartilhe o roteiro correto.

Roteiro Powershell

$ web = get-spweb $ siteUrl $ caseLib = $ web.lists | onde {$ _. title -eq $ listTitle} $ query = new-object Microsoft.SharePoint.SPQuery $ query.ViewFields="" $ query.RowLimit = 5000

faça

$ ListName1="dados" $ ExportFolder1="C: \ Users \" $ ExportName1 = Get-Date -f "yyyyMMdd" $ ExportPath1 = $ ExportFolder1 + $ ListName1 + $ ExportName1 + ".csv" $ ListName="Dataname_" $ ExportFolder="C: \ Users \ csv \" $ ExportName = Get-Date -f "yyyyMMdd" $ ExportPath = $ ExportFolder + $ ListName + $ ExportName + ".csv" { $ caseLibItems = $ caseLib.GetItems ($ query) $ query.ListItemCollectionPosition = $ caseLibItems.ListItemCollectionPosition $ listItemsTotal = $ caseLibItems.Count $ x = 0 para ($ x = 0; $ x -lt $ listItemsTotal; $ x ++) {     $ Description = $ caseLibItems [$ x] ["DocumentSetDescription"]     $ str=""     if ('$ Description' -ne $ null)     {         $ Description = $ Description -replace " n"," " -replace " r", ""         $ str = $ caseLibItems [$ x] ["LinkFilename"]. ToString () + '}' + $ Descrição     }     outro     {         $ str = $ caseLibItems [$ x] ["LinkFilename"]. ToString ()     }

Write-Output $ str | Out-File $ ExportPath1 -Append
}

} while ($ query.ListItemCollectionPosition -ne $ null)

Import-csv $ ExportPath1 -delimiter "}" -Header "Number", "Descrição" | export-csv $ ExportPath -NoTypeInformation

Write-Host "Saindo"

    
por murali kuruva 03.10.2018 / 12:38

1 resposta

0

Exportar dados da lista do SharePoint para CSV

Adicionar-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

Obtenha a Web

$ web = Get-SPWeb -identity "sitename"

Obter a lista de alvos

$ list = $ web.Lists ["Registro de agendamento mensal"]

Matriz para manter o resultado - PSObjects

$ ListItemCollection = @ ()

#Obtenha todos os itens da lista em que o status é "Em andamento"  $ list.Items | Where-Object {$ ["Status"] -eq "Em andamento"} | para cada {  $ ExportItem = PSObject New-Object  $ ExportItem | Add-Member -MemberType NoteProperty -name "Título" -value $ ["Title"]  $ ExportItem | Add-Member -MemberType NoteProperty -Name "Departamento" -value $ ["Department"]  $ ExportItem | Add-Member -MemberType NoteProperty -name "Status" -valor $ ["Status"]  $ ExportItem | Add-Member -MemberType NoteProperty -name "Prioridade" -valor $ _ ["Priority"]

#Adicione o objeto com propriedade a uma matriz  $ ListItemCollection + = $ ExportItem  }  #Exportar o resultado Matriz para o arquivo CSV  $ ListItemCollection | Export-CSV "c: \ List.txt" -NoTypeInformation

Descarte o Objeto da Web

$ web.Dispose ()

Todos os campos exportam usando o PowerShell

Variáveis

$ SiteUrl="site" $ OutPutFile="localização"

Obter lista de informações da Web e do usuário

$ web = Get-SPWeb $ SiteUrl $ UserInfoList = $ Web.SiteUserInfoList Write-host "Número total de itens encontrados:" $ UserInfoList.Itemcount

Matriz para manter o resultado - PSObjects

$ ListItemCollection = @ ()

#Obtenha todos os itens da lista em que o status é "Em andamento"  $ UserInfoList.Items | para cada {  write-host "ID do item de processamento:" $ _ ["ID"]

$ ExportItem = PSObject de novo objeto    #Get Cada campo    foreach ($ Field em $ .Fields)     {         $ ExportItem | Add-Member -MemberType NoteProperty -name $ Field.InternalName -value $ [$ Field.InternalName]
    }     #Adicione o objeto com propriedade a uma matriz     $ ListItemCollection + = $ ExportItem

}

Exportar o resultado Matriz para o arquivo CSV

$ ListItemCollection | Export-CSV $ OutPutFile -NoTypeInformation Write-host "Lista de informações do usuário exportada para $ ($ OutputFile) para o site $ ($ SiteURL)"

$ web.Dispose ()

    
por 03.10.2018 / 13:09