-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExampleExportFunction.ps1
51 lines (47 loc) · 2.06 KB
/
ExampleExportFunction.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function Example_Export
{
param($Name,$EXOLocation,$SPOLocation,$Destination)
"Creating new compliance search"
$ComplianceSearch=New-ComplianceSearch -Name $Name -ExchangeLocation $EXOLocation -SharePointLocation $SPOLocation
Start-ComplianceSearch -Identity $ComplianceSearch.Name
"Awaiting for compliance search to execute"
while ((Get-ComplianceSearch -Identity $ComplianceSearch.Name).Status -ne "Completed")
{
Write-Host -NoNewline "."
Start-Sleep -Seconds 5
}
"`nCreating new search action for export"
if ((Get-ComplianceSearch -Identity $ComplianceSearch.Name).Status -eq "Completed")
{
$ComplianceSearchAction=New-ComplianceSearchAction -SearchName $ComplianceSearch.Name -IncludeCredential -Export
}
"Awaiting for search action to complete"
while ((Get-ComplianceSearchAction -Identity $ComplianceSearchAction.Name).Status -ne "Completed")
{
Write-Host -NoNewline "."
Start-Sleep -Seconds 5
}
"`nAwaiting data to be prepared"
$PercentComplete=0
while ($PercentComplete -ne "100")
{
$Results=(Get-ComplianceSearchAction -Identity $ComplianceSearchAction.Name -Details).Results
if ($Results -like "*Progress*")
{
$PercentComplete = $Results.Split(";")[22].Trim().Split(" ")[1].Split(".")[0]
}
Write-Host -NoNewline "."
Start-Sleep -Seconds 5
}
"`nSearch Export Completed"
# Split container URL and SAS token
$Container=$ComplianceSearchAction.Results.Split(";")[0].Trim().Split(" ")[2]
$SAStoken=$ComplianceSearchAction.Results.Split(";")[1].Trim().Split(" ")[2]
if ($Container -and $SAStoken)
{
"Using AzCopy to download data - edit this to match your location"
.\azcopy copy "$($Container)$($SAStoken)" $Destination --recursive
}
}
#Connect-IPPSSession
#Example_Export -Name "ExampleSearch1" -EXOLocation "[email protected]" -SPOLocation "https://stevegoodman-my.sharepoint.com/personal/stevetest_stevieg_org/" -Destination ".\"