Delete UnzipSpannedLogFiles.ps1
This commit is contained in:
@@ -1,85 +0,0 @@
|
|||||||
<#
|
|
||||||
Author: Jerico Thomas
|
|
||||||
Date Updated: 2024-10-07
|
|
||||||
Description: Unzip spanned log files from Workspace One admin console.
|
|
||||||
Version: 1.1
|
|
||||||
Dependencies: 7-Zip
|
|
||||||
|
|
||||||
Parameters:
|
|
||||||
- 7zipPath: (string) Path to the 7-Zip executable (default: "C:\Program Files\7-Zip\7z.exe")
|
|
||||||
- Keep: (switch) If specified, keep original zipped files after extraction.
|
|
||||||
|
|
||||||
Generate Device Logs:
|
|
||||||
1. Navigate to the Workspace One admin console.
|
|
||||||
2. Go to Devices > Select a device > More Actions > Request Device Log.
|
|
||||||
|
|
||||||
Download Device Logs:
|
|
||||||
1. Navigate to Devices > Select the same device > More > Shred Device Logs.
|
|
||||||
2. Download the spanned.zip files (each part is 10MB).
|
|
||||||
|
|
||||||
Script Guide:
|
|
||||||
1. Download the spanned.zip files from the Workspace One admin console.
|
|
||||||
2. Create an empty folder and place the spanned.zip files in it.
|
|
||||||
3. Place this script in the same folder as the spanned.zip files.
|
|
||||||
4. Run the script.
|
|
||||||
5. The script extracts the spanned.zip files and cleans up the folder, leaving only the extracted files.
|
|
||||||
|
|
||||||
Example Execution:
|
|
||||||
1. To run the script with default parameters:
|
|
||||||
```powershell
|
|
||||||
.\UnzipSpannedLogFiles.ps1
|
|
||||||
```
|
|
||||||
2. To specify a custom path for the 7-Zip executable:
|
|
||||||
```powershell
|
|
||||||
.\UnzipSpannedLogFiles.ps1 -7zipPath "C:\CustomPathTo7zip\7z.exe"
|
|
||||||
```
|
|
||||||
3. To run the script and keep the original zipped files after extraction:
|
|
||||||
```powershell
|
|
||||||
.\UnzipSpannedLogFiles.ps1 -keep
|
|
||||||
```
|
|
||||||
#>
|
|
||||||
|
|
||||||
param (
|
|
||||||
[string]$7zipPath = "C:\Program Files\7-Zip\7z.exe",
|
|
||||||
[switch]$Keep = $false
|
|
||||||
)
|
|
||||||
|
|
||||||
# Check if 7-Zip is installed
|
|
||||||
if (!(Test-Path -Path $7zipPath)) {
|
|
||||||
Write-Output "7-Zip not found at '$7zipPath'. Please install 7-Zip."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove .zip extension from any files that have spanned.zxx.zip in the name
|
|
||||||
Get-ChildItem -Filter "*spanned.*.zip" | Rename-Item -NewName { $_.Name -replace '\.zip$', '' } -ErrorAction Stop
|
|
||||||
|
|
||||||
# Extract spanned zip files
|
|
||||||
$zipFile = Get-ChildItem -Filter "*spanned.zip"
|
|
||||||
if ($zipFile) {
|
|
||||||
& $7zipPath x $zipFile.FullName -oSpannedFiles -y
|
|
||||||
|
|
||||||
# Find all .zip files in the output directory recursively
|
|
||||||
$innerZipFiles = Get-ChildItem -Path SpannedFiles -Filter "*.zip" -Recurse -ErrorAction Stop
|
|
||||||
|
|
||||||
# Extract all inner zip files
|
|
||||||
foreach ($file in $innerZipFiles) {
|
|
||||||
& $7zipPath x $file.FullName -y
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$Keep) {
|
|
||||||
# Create Archived folder if it doesn't exist
|
|
||||||
if (!(Test-Path -Path $archiveDir)) {
|
|
||||||
New-Item -ItemType Directory -Path $archiveDir -ErrorAction Stop
|
|
||||||
}
|
|
||||||
# Move original zip files to the Archived folder
|
|
||||||
Get-ChildItem -Filter "*spanned.*" | Move-Item -Destination $archiveDir -ErrorAction Stop
|
|
||||||
# Remove the SpannedFiles directory
|
|
||||||
Remove-Item -Path SpannedFiles -Recurse -Force -ErrorAction Stop
|
|
||||||
Remove-Item -Path Archived -Recurse -Force -ErrorAction Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Write-Output "No spanned zip files found."
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
Reference in New Issue
Block a user