powershell shell diff

Created Diff never expires
82 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
95 lines
71 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
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)
$ctx.ExecuteQuery()


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


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


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

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
#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 ".\Lib\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path ".\Lib\Microsoft.SharePoint.Client.Runtime.dll"

#Enter the data
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$Url = "https://TODO-my.sharepoint.com/personal/TODO_SITE_NAME"
$username="trial@trialtrial125.onmicrosoft.com"
$Url="https://trialtrial125.sharepoint.com/sites/teamsitewithlibraries"
$ListTitle="Not-Empty-Document-Library"
$csvPath="C:\Users\ivo\Desktop\testpath114.csv"


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


Get-sPOFolderFiles -Username $username -Url $Url -password $AdminPassword -ListTitle $ListTitle -CSVPath $csvPath
#$ListTitle = "文档"
$ListTitle="Documents"

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