powershell shell diff

Created Diff never expires
82 removals
93 lines
74 additions
82 lines
function Get-SPOFolderFiles
function Get-sPOFolderFiles
{
{
param (
param(
[Parameter(Mandatory=$true,Position=1)]
[Parameter(Mandatory = $true,Position = 1)]
[string]$Username,
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[Parameter(Mandatory = $true,Position = 2)]
[string]$Url,
[string]$Url,
[Parameter(Mandatory=$true,Position=3)]
[Parameter(Mandatory = $true,Position = 3)]
$password,
$password,
[Parameter(Mandatory=$true,Position=4)]
[Parameter(Mandatory = $true,Position = 4)]
[string]$ListTitle,
[string]$ListTitle
[Parameter(Mandatory=$true,Position=5)]
)
[string]$CSVPath
)



$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext ($Url)
$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials ($Username,$password)
$ctx.Load($ctx.Web)
$ctx.Load($ctx.Web)
$ctx.ExecuteQuery()
$ctx.ExecuteQuery()
$ll=$ctx.Web.Lists.GetByTitle($ListTitle)
$ll = $ctx.Web.Lists.GetByTitle($ListTitle)
$ctx.Load($ll)
$ctx.Load($ll)
$ctx.ExecuteQuery()
$ctx.ExecuteQuery()
$spqQuery = New-Object Microsoft.SharePoint.Client.CamlQuery
$spqQuery = New-Object Microsoft.SharePoint.Client.CamlQuery
$spqQuery.ViewXml ="<View Scope='RecursiveAll' />";
$spqQuery.ViewXml = "<View Scope='RecursiveAll'><RowLimit>100</RowLimit></View>";
$itemki=$ll.GetItems($spqQuery)

$ctx.Load($itemki)
do {
$ctx.ExecuteQuery()
$itemki = $ll.GetItems($spqQuery)
$ctx.Load($itemki)
$ctx.ExecuteQuery()


foreach($item in $itemki)
foreach ($item in $itemki)
{
{


Write-Host $item["FileRef"]
Write-Host $item["FileRef"]
$file =
$file =
$ctx.Web.GetFileByServerRelativeUrl($item["FileRef"]);
$ctx.Web.GetFileByServerRelativeUrl($item["FileRef"]);
$ctx.Load($file)
$ctx.Load($file)
$ctx.Load($file.Versions)
$ctx.Load($file.Versions)
$ctx.ExecuteQuery()
$ctx.ExecuteQuery()
if ($file.Versions.Count -eq 0)
if ($file.Versions.Count -eq 0)
{
{
$obj=New-Object PSObject
$obj = New-Object PSObject
$obj | Add-Member NoteProperty ServerRelativeUrl($file.ServerRelativeUrl)
$obj | Add-Member NoteProperty ServerRelativeUrl ($file.ServerRelativeUrl)
$obj | Add-Member NoteProperty FileLeafRef($item["FileLeafRef"])
$obj | Add-Member NoteProperty FileLeafRef ($item["FileLeafRef"])
$obj | Add-Member NoteProperty Versions("No Versions Available")
$obj | Add-Member NoteProperty Versions ("No Versions Available")
}
else
{
$file.Versions.DeleteAll()


$obj | export-csv -Path $CSVPath -Append
try { $ctx.ExecuteQuery()
$obj = New-Object PSObject
$obj | Add-Member NoteProperty ServerRelativeUrl ($file.ServerRelativeUrl)
$obj | Add-Member NoteProperty FileLeafRef ($item["FileLeafRef"])
$obj | Add-Member NoteProperty Versions ($file.Versions.Count + " versions were deleted")
}
}
else
catch {
{
$obj = New-Object PSObject
$file.Versions.DeleteAll()
$obj | Add-Member NoteProperty ServerRelativeUrl ($file.ServerRelativeUrl)

$obj | Add-Member NoteProperty FileLeafRef ($item["FileLeafRef"])
try { $ctx.ExecuteQuery()
$obj | Add-Member NoteProperty Versions ($file.Versions.Count + " versions. Failed to delete")
$obj=New-Object PSObject
$obj | Add-Member NoteProperty ServerRelativeUrl($file.ServerRelativeUrl)
$obj | Add-Member NoteProperty FileLeafRef($item["FileLeafRef"])
$obj | Add-Member NoteProperty Versions($file.Versions.Count + " versions were deleted")

$obj | export-csv -Path $CSVPath -Append
}
catch {
$obj=New-Object PSObject
$obj | Add-Member NoteProperty ServerRelativeUrl($file.ServerRelativeUrl)
$obj | Add-Member NoteProperty FileLeafRef($item["FileLeafRef"])
$obj | Add-Member NoteProperty Versions($file.Versions.Count + " versions. Failed to delete")

$obj | export-csv -Path $CSVPath -Append

}
}
}
}
}
$spqQuery.ListItemCollectionPosition = $itemki.ListItemCollectionPosition
} while ($itemki.ListItemCollectionPosition)
}


#Paths to SDK
}
Add-Type -Path ".\Lib\Microsoft.SharePoint.Client.dll"
Add-Type -Path ".\Lib\Microsoft.SharePoint.Client.Runtime.dll"


#Enter the data
$Url = "https://TODO-my.sharepoint.com/personal/TODO_SITE_NAME"


$username = "TODO_USERNAME"
$AdminPassword = ConvertTo-SecureString -String "TODO_PASSWORD" -AsPlainText -Force
#$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString


#$ListTitle = "文档"
$ListTitle="Documents"


Get-sPOFolderFiles -UserName $username -Url $Url -password $AdminPassword -ListTitle $ListTitle


}

#Paths to SDK
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="trial@trialtrial125.onmicrosoft.com"
$Url="https://trialtrial125.sharepoint.com/sites/teamsitewithlibraries"
$ListTitle="Not-Empty-Document-Library"
$csvPath="C:\Users\ivo\Desktop\testpath114.csv"


Get-sPOFolderFiles -Username $username -Url $Url -password $AdminPassword -ListTitle $ListTitle -CSVPath $csvPath