import depuis ancien GitHub

This commit is contained in:
David Wuibaille
2025-10-31 08:38:13 +01:00
parent 6f3aeedc93
commit 6a2f2de58e
745 changed files with 178444 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
#-------------------------- connecteur SQL ----------------------------------
$dataSource = "sql.leblogosd.lan"
$user = "compteSQL"
$PassSQL = 'Password'
$database = "EPM2021"
$connectionString = "Server=$dataSource;uid=$user; pwd=$PassSQL;Database=$database;Integrated Security=False;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
#------------------------ Query -----------------------------------------------------
$query = "SELECT * FROM [dbo].[PACKAGE]"
$command = $connection.CreateCommand()
$command.CommandText = $query
$result = $command.ExecuteReader()
$Packages = new-object System.Data.DataTable
$Packages.Load($result)
$query = "SELECT * FROM [dbo].[PACKAGE_FILES_HASH]"
$command = $connection.CreateCommand()
$command.CommandText = $query
$result = $command.ExecuteReader()
$FilesHash = new-object System.Data.DataTable
$FilesHash.Load($result)
$PackageError = 0
foreach ($Package in $Packages) {
$PackageName = $Package.NAME
$PackageInstall = $Package.INSTALL
$PackageFileHashIDN = $Package.PACKAGE_FILES_HASH_IDN
foreach ($FileHash in $FilesHash) {
$FileHashIDN = $FileHash.PACKAGE_FILES_HASH_IDN
$FileHashPath = $FileHash.FULL_PATH
if ($PackageFileHashIDN -eq $FileHashIDN) {
If ($FileHashPath -like "http*") {
try {
$Request = Invoke-WebRequest -uri $FileHashPath
} Catch {
$PackageError = $PackageError+1
If ($PackageInstall -eq 1) { #Package reelle <> bundle
write-host "MISSING : $PackageName => $FileHashPath"
}
}
If ($FileHashPath -like "\\*") {
If (Test-path $FileHashPath) {
} Else {
$PackageError = $PackageError+1
write-host "MISSING : $PackageName => $FileHashPath"
}
}
}
}
}
}

View File

@@ -0,0 +1,28 @@
# Check EPM Package Files — README
Validate that **Ivanti EPM** package file references exist (HTTP/HTTPS and UNC).
The script connects to SQL, reads `[dbo].[PACKAGE]` and `[dbo].[PACKAGE_FILES_HASH]`, and reports missing files.
## Requirements
- Windows PowerShell 5.1
- Network access to SQL (`EPM2021` DB in the sample)
- SQL account with read access to `dbo.PACKAGE` and `dbo.PACKAGE_FILES_HASH`
## Configure
Edit these variables at the top of the script:
```powershell
$dataSource = "sql.leblogosd.lan" # SQL Server / instance
$user = "compteSQL" # SQL login
$PassSQL = "Password" # SQL password (plaintext in sample)
$database = "EPM2021" # EPM database
```
## What it does
- SELECT * FROM dbo.PACKAGE and SELECT * FROM dbo.PACKAGE_FILES_HASH
- For each package/file hash:<br>
-- If FULL_PATH starts with http → Invoke-WebRequest (200 = OK, else MISSING)<br>
-- If FULL_PATH starts with \\ → Test-Path on UNC (exists = OK, else MISSING)<br>
## What it does
```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Check-EpmPackageFiles.ps1
```