Question
[Résolu]execution script en tache planifier
- Ludovic B
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 1
il y a 8 ans 5 mois #24666
par Ludovic B
[Résolu]execution script en tache planifier a été créé par Ludovic B
bonjour à tous,
contexte :
1 .exécution d'un script en tache planifier qui ne fini pas entièrement.
2 .le même script lancer directement fini correctement
dans le script powershell:
0. RunAs
1 . PSSession sur un serveur de fichier pour avoir les quotas , les resultats dans la variable de l'invoke-command . alertes email , remove-Pssession
2 . création objet Excel pour ecrire les resulat sur un fichier en paratge reseau
probleme :
1. en tache planifier , quotas + alerte mail ok ,le fichier Excel n'est pas renseigné
2. directement , tout fonctionne.
merci pour vos remarques.<br><br>Message édité par: ludoob, à: 14/12/17 13:48
contexte :
1 .exécution d'un script en tache planifier qui ne fini pas entièrement.
2 .le même script lancer directement fini correctement
dans le script powershell:
0. RunAs
1 . PSSession sur un serveur de fichier pour avoir les quotas , les resultats dans la variable de l'invoke-command . alertes email , remove-Pssession
2 . création objet Excel pour ecrire les resulat sur un fichier en paratge reseau
probleme :
1. en tache planifier , quotas + alerte mail ok ,le fichier Excel n'est pas renseigné
2. directement , tout fonctionne.
merci pour vos remarques.<br><br>Message édité par: ludoob, à: 14/12/17 13:48
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 5 mois #24671
par Philippe
Réponse de Philippe sur le sujet Re:execution script en tache planifier
salut ludoob
c'est probablement du au double hop !
d'autre explication ici !
essai d'utilisé l'authentification credSSP pour ton invoke-command
sinon ça peut être un problème de droit utilisateur, quel utilisateur utilise tu dans ta tache planifier ?<br><br>Message édité par: 6ratgus, à: 12/12/17 14:41
c'est probablement du au double hop !
d'autre explication ici !
essai d'utilisé l'authentification credSSP pour ton invoke-command
sinon ça peut être un problème de droit utilisateur, quel utilisateur utilise tu dans ta tache planifier ?<br><br>Message édité par: 6ratgus, à: 12/12/17 14:41
Connexion ou Créer un compte pour participer à la conversation.
- Ludovic B
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 1
il y a 8 ans 5 mois #24672
par Ludovic B
Réponse de Ludovic B sur le sujet Re:execution script en tache planifier
en utilisant la commande start-transscript
voici le message d'erreur:
Les result des quotas apres la PSSession
RemoteSigned
Microsoft Excel ne peut accéder au fichier «c:\Commandes\Quotas\Calcul_auto_serveur_de_fichier.xlsx». Plusieurs raisons
sont possibles:
• Le nom du fichier ou le chemin d'accès n’existe pas.
• Ce fichier est actuellement utilisé par un autre programme.
• Le classeur que vous essayez d’enregistrer porte le même nom qu’un classeur actuellement ouvert.
Au caractère C:\Commandes\Quotas\quotas-sfic10.ps1:371 : 2
+ $ExcelWordBook = $ObjExcel.Workbooks.Open($ExcelPath) # ouverture ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (
[], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
un probleme avec System.Runtime.InteropServices.COMException
je ne suis pas développeur , je ne sais pas par ou chercher.
le PSSession sur le serveur de fichier pour avoir les quotas avec un compte du domaine admin du serveur
Pour le fichier excel utilisation du même compte qui les droit pour modifier le fichier excel
Pour l'execution de la tache planifier utilisation du même compte avec le runas .
voici le message d'erreur:
Les result des quotas apres la PSSession
RemoteSigned
Microsoft Excel ne peut accéder au fichier «c:\Commandes\Quotas\Calcul_auto_serveur_de_fichier.xlsx». Plusieurs raisons
sont possibles:
• Le nom du fichier ou le chemin d'accès n’existe pas.
• Ce fichier est actuellement utilisé par un autre programme.
• Le classeur que vous essayez d’enregistrer porte le même nom qu’un classeur actuellement ouvert.
Au caractère C:\Commandes\Quotas\quotas-sfic10.ps1:371 : 2
+ $ExcelWordBook = $ObjExcel.Workbooks.Open($ExcelPath) # ouverture ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
un probleme avec System.Runtime.InteropServices.COMException
je ne suis pas développeur , je ne sais pas par ou chercher.
le PSSession sur le serveur de fichier pour avoir les quotas avec un compte du domaine admin du serveur
Pour le fichier excel utilisation du même compte qui les droit pour modifier le fichier excel
Pour l'execution de la tache planifier utilisation du même compte avec le runas .
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 5 mois #24674
par Philippe
Réponse de Philippe sur le sujet Re:execution script en tache planifier
est il possible d'avoir le script que tu utilise en enlevant les informations sensible (nom de ton entreprise, login, mot de passe, etc)
Connexion ou Créer un compte pour participer à la conversation.
- Ludovic B
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 1
il y a 8 ans 5 mois #24675
par Ludovic B
Réponse de Ludovic B sur le sujet Re:execution script en tache planifier
[code:1]#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[/code:1]
Message édité par: ludoob, à: 13/12/17 15:49<br><br>Message édité par: ludoob, à: 13/12/17 15:51
$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[/code:1]
Message édité par: ludoob, à: 13/12/17 15:49<br><br>Message édité par: ludoob, à: 13/12/17 15:51
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 5 mois #24677
par Philippe
Réponse de Philippe sur le sujet Re:execution script en tache planifier
désolé je n'est rien trouver de probant dans ton script
tu peut peut être rajouter juste avant le $ObjExcel.Workbooks.Open($ExcelPath) du fichier excel un test de présence du ficher excel
avec test-path
[code:1]if (Test-Path -Path $ExcelPath) {
write-host \"le fichier existe deja\"
}[/code:1]
sinon je vois pas
mais regarde dans le forum il y a déjà eu plusieurs problèmes avec les taches planifiés peut etre une solution fonctionnera pour toi !
tu peut peut être rajouter juste avant le $ObjExcel.Workbooks.Open($ExcelPath) du fichier excel un test de présence du ficher excel
avec test-path
[code:1]if (Test-Path -Path $ExcelPath) {
write-host \"le fichier existe deja\"
}[/code:1]
sinon je vois pas
mais regarde dans le forum il y a déjà eu plusieurs problèmes avec les taches planifiés peut etre une solution fonctionnera pour toi !
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.048 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]execution script en tache planifier