ludoob
Utilisateur
 PowerShelleur Débutant
Messages: 14 |   | Karma: 0
|
Re:execution script en tache planifier - 13/12/17 14:47
Code: | #region PSSession
$Session = New-PSSession -ComputerName xxxxx-fic -Credential $cred
#$resultats = Invoke-Command -Session $Session -ScriptBlock {
$Result = Invoke-Command -Session $Session -ScriptBlock {
#region capacité disk D:
$DiskInfos = Get-WmiObject -class Win32_Volume | where { $_.driveletter -eq 'D:' } | select Capacity
# $DiskInfos.Capacity
$Capacity_Letter_D = [System.Math]::Round($DiskInfos.Capacity /1gb)
# $Capacity_Letter_D
# $Capacity
#endregion capacité disk D:
#region Calcul quota par rapport aux modeles
#region 10 Go - Bureaux
$UsageQuotas_10GoBureaux = Get-FSRMQuota | Where-Object { $_.Template -eq "10 Go - Bureaux" }
[int]$nbrsFolderQuotas = $UsageQuotas_10GoBureaux | Measure-Object | Select-Object -ExpandProperty count
$nbrsFolderQuotas # result[0]
$quotasTotal = $nbrsFolderQuotas * 10
# $quotasTotal
$seuil80poucent = $quotasTotal * 0.8
# $seuil80poucent
$UsageQuotas_10GoBureaux = Get-FSRMQuota | Where-Object { $_.Template -eq "10 Go - Bureaux" } | Select-Object Usage | Sort-Object Usage | Measure-Object -Property Usage -Sum
$resul_UsageQuotas_10GoBureaux = [System.Math]::Round($UsageQuotas_10GoBureaux.sum /1gb)
$resul_UsageQuotas_10GoBureaux # result[1]]
if ($resul_UsageQuotas_10GoBureaux -gt $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 10 Go - Bureaux est de : $resul_UsageQuotas_10GoBureaux Go"
-ForegroundColor Red
}
if ($resul_UsageQuotas_10GoBureaux -ge $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 10 Go - Bureaux est de : $resul_UsageQuotas_10GoBureaux Go"
-ForegroundColor Yellow
}
if ($resul_UsageQuotas_10GoBureaux -lt $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 10 Go - Bureaux est de : $resul_UsageQuotas_10GoBureaux Go"
-ForegroundColor Green
}
#endregion 10 Go - Bureaux
#region 20 Go - Bureaux
$UsageQuotas_20GoBureaux = Get-FSRMQuota | Where-Object { $_.Template -eq "20 Go - Bureaux" }
[int]$nbrsFolderQuotas = $UsageQuotas_20GoBureaux | Measure-Object | Select-Object -ExpandProperty count
$nbrsFolderQuotas # result[2]
$quotasTotal = $nbrsFolderQuotas * 20
# $quotasTotal
$seuil80poucent = $quotasTotal * 0.8
# $seuil80poucent
$UsageQuotas_20GoBureaux = Get-FSRMQuota | Where-Object { $_.Template -eq "20 Go - Bureaux" } | Select-Object Usage | Sort-Object Usage | Measure-Object -Property Usage -Sum
$resul_UsageQuotas_20GoBureaux = [System.Math]::Round($UsageQuotas_20GoBureaux.sum /1gb)
$resul_UsageQuotas_20GoBureaux # result[3]
if ($resul_UsageQuotas_20GoBureaux -gt $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 20 Go - Bureaux est de : $resul_UsageQuotas_20GoBureaux Go"
-ForegroundColor Red
}
if ($resul_UsageQuotas_20GoBureaux -ge $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 20 Go - Bureaux est de : $resul_UsageQuotas_20GoBureaux Go"
-ForegroundColor Yellow
}
if ($resul_UsageQuotas_20GoBureaux -lt $seuil80poucent)
{
Write-Host "La capacité totale utilisé par le quota 20 Go - Bureaux est de : $resul_UsageQuotas_20GoBureaux Go"
-ForegroundColor Green
}
#endregion 20 Go - Bureaux
#endregion Calcul quota par rapport aux modeles
#region Calcul total des quotas
$totauxquotas = $resul_UsageQuotas_10GoBureaux + $resul_UsageQuotas_20GoBureaux
Write-Host "La capacité totale est de : $totauxquotas Go"
$totauxquotas # result [28]
#endregion Calcul total des quotas
#region comparaison quotas et capacite volume D:
$Capacity_Letter_D # result [29]
$seuil80poucent = $Capacity_Letter_D * 0.8
$seuil80poucent
$seuil95poucent = $Capacity_Letter_D * 0.95
$seuil95poucent
if ($totauxquotas -ge $seuil95poucent)
{
$chaine = "<head>
<style>
table{
width: auto;
border: 2px solid black;
border-collapse: collapse;
}
#tocolor{
background-color:red;
height:50px;
font-size:20;
}
td{
border-collapse:collapse;
border: 2px solid black;
}
.erreur{
border : 2px solid black;
overflow:scroll;
}
.error{
border : 2px solid black;
}
</style>
</head>
<table>
<tr id=`"tocolor`" >
<th >Info - Quotas sur le serveur FIC - CRITIQUE</th>
</tr>
<tr>
<td> Le fichier Quotas serveur de fichier a été mis à jour</
td>
</tr>
<tr>
<td> La capacité totale des quotas est de : $totauxquotas
Go / $Capacity_Letter_D Go de la capacité totale du disque </td>
</tr>
</table>"
Send-MailMessage -SmtpServer "xxxx.xxx" -To "xxxxx@xxx" -From "alerte-orchestrator@xxxx" -
Subject "[Info] Quotas du Serveur de fichier - CRITIQUE" -BodyAsHtml $chaine -Encoding UTF8
Write-Host "La capacité totale des quotas est de : $totauxquotas Go" -ForegroundColor Red
}
if (($totauxquotas -ge $seuil80poucent) -and ($totauxquotas -lt $seuil95poucent))
{
$chaine = "<head>
<style>
table{
width: auto;
border: 2px solid black;
border-collapse: collapse;
}
#tocolor{
background-color:yellow;
height:50px;
font-size:20;
}
td{
border-collapse:collapse;
border: 2px solid black;
}
.erreur{
border : 2px solid black;
overflow:scroll;
}
.error{
border : 2px solid black;
}
</style>
</head>
<table>
<tr id=`"tocolor`" >
<th >Info - Quotas sur le serveur SFIC - WARNING</th>
</tr>
<tr>
<td> Le fichier Quotas serveur de fichier a été mis à jour</td>
</tr>
<tr>
<td> La capacité totale des quotas est de : $totauxquotas Go / $Capacity_Letter_D Go de la capacité totale du disque </td>
</tr>
</table>"
Send-MailMessage -SmtpServer "xxxx.xxxx" -To "xxxx@xxxxx" -From "alerte-orchestrator@xxx" -Subject "[Info] Quotas du Serveur de fichier - WARNING" -BodyAsHtml $chaine -Encoding UTF8
Write-Host "La capacité totale des quotas est de : $totauxquotas Go" -ForegroundColor Yellow
}
if ($totauxquotas -lt $seuil80poucent)
{
$chaine = "<head>
<style>
table{
width: auto;
border: 2px solid black;
border-collapse: collapse;
}
#tocolor{
background-color:green;
height:50px;
font-size:20;
}
td{
border-collapse:collapse;
border: 2px solid black;
}
.erreur{
border : 2px solid black;
overflow:scroll;
}
.error{
border : 2px solid black;
}
</style>
</head>
<table>
<tr id=`"tocolor`" >
<th >Info - Quotas sur le serveur SFIC - OK</th>
</tr>
<tr>
<td> Le fichier Quotas serveur de fichier a été mis à jour</
td>
</tr>
<tr>
<td> La capacité totale des quotas est de : $totauxquotas
Go / $Capacity_Letter_D Go de la capacité totale du disque </td>
</tr>
</table>"
Send-MailMessage -SmtpServer "xxxxxxxx.xxxx" -To "xxx@x" -From "alerte-orchestrator@x" -Subject "[Info] Quotas du Serveur de fichier - OK" -BodyAsHtml $chaine -Encoding UTF8
Write-Host "La capacité totale des quotas est de : $totauxquotas Go" -ForegroundColor Green
}
#endregion comparaison quotas et capacite volume D:
}
remove-pssession $Session
#region resultats quotas
Write-Host "Les result des quotas apres la PSSession" -ForegroundColor Green
$Count_10GoBureaux = $Result[0]
$Quotas_10GoBureaux = $Result[1]
$Count_20GoBureaux = $Result[2]
$Quotas_20GoBureaux = $Result[3]
$totauxquotas = $Result[28]
$Capacity_Letter_D = $Result[29]
#endregion resultats quotas
#endregion PSSession
# region Excel
$ObjExcel = New-Object -ComObject Excel.application
$ObjExcel.visible = $false # pour cacher le fichier excel
# $ExcelPath = 'C:\Users\xx\Documents\WindowsPowerShell\Scripts\EXCEL\Calcul auto serveur de
fichier.xlsx'
$ExcelPath = '\\xxxxx\xx\S2\B1\SERVEUR\SFIC\Calcul_auto_serveur_de_fichier.xlsx'
$SheetName = "SFIC"
$ExcelWordBook = $ObjExcel.Workbooks.Open($ExcelPath) # ouverture du fichier
$ExcelWorkSheet2 = $ExcelWordBook.Sheets.item($SheetName) # ouverture de la Worksheet
$ExcelWorkSheet2.Cells.Item(14, 6) = $Result[1] #10GoBureaux
$ExcelWorkSheet2.Cells.Item(15, 6) = $Result[3] #20GoBureaux
$ExcelWorkSheet2.Cells.Item(14, 4) = $Result[0]
$ExcelWorkSheet2.Cells.Item(15, 4) = $Result[2]
#$ExcelWorkSheet2.Columns.autofit()
$ExcelWordBook.Save()
$ObjExcel.Quit()
function Release-Ref ($ref)
{
([System.Runtime.InteropServices.Marshal]::ReleaseComObject([System.__ComObject]$ref) -gt 0)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
}
## close all object references
Release-Ref($ExcelWorkSheet2)
Release-Ref($ExcelWordBook)
Release-Ref($ObjExcel)
# #endregion Excel
|
Message édité par: ludoob, à: 13/12/17 15:49
Message édité par: ludoob, à: 13/12/17 15:51
|