Question
Gestion de logs / erreurs
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 2 mois #28454
par Philippe
sauf si c'est un identifient autoriser a ouvrir la session mais pas a copier !!!
Réponse de Philippe sur le sujet Re:Gestion de logs / erreurs
si il tape tape un mauvais identifient c'est normal mais la session ne devrait pas s'ouvrir et la copie ne devrais pas ce lancer !j'ai cette erreur si l'utilisateur renseigne mal un identifiant
sauf si c'est un identifient autoriser a ouvrir la session mais pas a copier !!!
Connexion ou Créer un compte pour participer à la conversation.
- dimshell
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 86
- Remerciements reçus 0
il y a 7 ans 2 mois #28456
par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Donc j'ai une erreur d'exécution dans mon script ?
Si je mets des return -1 à chaque catch cela s'arrête et ne fini pas mon stop-transcript comment contrer cela ?
C'est un identifiant inconnu
La copie ne se fait pas.
Message édité par: dimshell, à: 13/03/19 11:06
Message édité par: dimshell, à: 13/03/19 11:06<br><br>Message édité par: dimshell, à: 13/03/19 14:16
Si je mets des return -1 à chaque catch cela s'arrête et ne fini pas mon stop-transcript comment contrer cela ?
C'est un identifiant inconnu
La copie ne se fait pas.
Message édité par: dimshell, à: 13/03/19 11:06
Message édité par: dimshell, à: 13/03/19 11:06<br><br>Message édité par: dimshell, à: 13/03/19 14:16
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 7 ans 2 mois #28458
par Philippe
Réponse de Philippe sur le sujet Re:Gestion de logs / erreurs
a tu besoin de ne copier aucun des fichiers si un des serveurs ne repond pas ?
ou peut tu copie les fichiers des serveurs disponibles ?
Message édité par: 6ratgus, à: 13/03/19 13:54<br><br>Message édité par: 6ratgus, à: 13/03/19 14:09
ou peut tu copie les fichiers des serveurs disponibles ?
Message édité par: 6ratgus, à: 13/03/19 13:54<br><br>Message édité par: 6ratgus, à: 13/03/19 14:09
Connexion ou Créer un compte pour participer à la conversation.
- dimshell
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 86
- Remerciements reçus 0
il y a 7 ans 2 mois #28459
par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Je veux tester la disponibilité des serveurs :
-ping
-copier le fichier si il est disponible en cas de non disponibilité du serveur le script continue mais me marque en log \"serveur nomserveur indisponible\" mais ne vas copier le fichier vu que le serveur est déco
-ping
-copier le fichier si il est disponible en cas de non disponibilité du serveur le script continue mais me marque en log \"serveur nomserveur indisponible\" mais ne vas copier le fichier vu que le serveur est déco
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 7 ans 2 mois #28461
par Philippe
Réponse de Philippe sur le sujet Re:Gestion de logs / erreurs
voici une version qui fonctionne chez moi et qui copie les fichiers des serveurs dispo
par contre tu n'a pas de log !!
start-transcript n'est pas un log mais des trace pour du debugage
extrait de la doc
[code:1]start-transcript -path \".\logs\log.rtf\"
# fonction de test
function get-Ping {
Param($Servername) # Name of server
try {
$connetion = Test-Connection -computername $Servername -Count 3 -ErrorAction Stop
Write-Host \"- $Servername : Ping réussi !\" -ForegroundColor Green
return 0
}
catch [System.Net.NetworkInformation.PingException] {
Write-Host \"+ $Servername : Echec Ping = Démarrage Serveur nécessaire - Serveur inacessible !\" -ForegroundColor Red
return -1
}
}
#execution du code
$serversname = \"server\"
foreach ($server in $serversname) {
if ((get-Ping $server) -eq 0) {
$content = \"$($env:USERPROFILE)\Documents\Cred.txt\"
$destinationfile = \"$($env:USERPROFILE)\Documents\test\"
#### Serveur - server - ####
$filedump = \"$($env:USERPROFILE)\Documents\test\WindumpNetcare.csv\"
$password = Get-Content $content | ConvertTo-SecureString -Key $key
$creds = New-Object -TypeName System.Management.Automation.PsCredential -ArgumentList (\"user\", $password)
try {
$idsession = New-PSSession -ComputerName $server -Credential $creds -ErrorAction stop
}
catch [System.Management.Automation.Remoting.PSRemotingTransportException]{
write-host \"+ Impossible de se connecter : Erreur identifiants server\" -ForegroundColor red
}
if ($idsession) {
try {
Copy-Item -Path $filedump -FromSession $idsession -Destination $destinationfile -ErrorAction Stop
}
catch [System.ArgumentException] {
Write-Host \"+ Fichier WindumpNetcare.csv non présent sur server\" -ForegroundColor Red
}
catch [System.Management.Automation.ParameterBindingException] {
Write-Host \"+ Impossible de copier le fichier WindumpNetcare.csv : Erreur identifiants server\" -ForegroundColor Red
}
If ((Test-Path -Path $destinationfile)) {
Write-Host \"- Fichier CSV $server est téléchargé \"-ForegroundColor Green
}
else {
Write-Host \"+ Fichier CSV $server non téléchargé\" -ForegroundColor Red
}
Remove-PSSession $idsession
}
else {
Write-Host \"+ Erreur identifiants\" -ForegroundColor Red
}
}
}
Stop-Transcript
[/code:1]
par contre la copie ecrase le fichier existant il te faut donc renomer le fichier dump pour chaque serveur
Message édité par: 6ratgus, à: 13/03/19 15:28
Message édité par: 6ratgus, à: 13/03/19 15:31<br><br>Message édité par: 6ratgus, à: 13/03/19 15:52
par contre tu n'a pas de log !!
start-transcript n'est pas un log mais des trace pour du debugage
extrait de la doc
mais bon a toi de voir si ça te conviens ...Description
L'applet de commande Start-Transcript crée un enregistrement de tout ou partie d'une session Windows PowerShell dans un fichier texte. La transcription inclut toute commande que l'utilisateur tape et toute sortie qui apparaît sur la console.
[code:1]start-transcript -path \".\logs\log.rtf\"
# fonction de test
function get-Ping {
Param($Servername) # Name of server
try {
$connetion = Test-Connection -computername $Servername -Count 3 -ErrorAction Stop
Write-Host \"- $Servername : Ping réussi !\" -ForegroundColor Green
return 0
}
catch [System.Net.NetworkInformation.PingException] {
Write-Host \"+ $Servername : Echec Ping = Démarrage Serveur nécessaire - Serveur inacessible !\" -ForegroundColor Red
return -1
}
}
#execution du code
$serversname = \"server\"
foreach ($server in $serversname) {
if ((get-Ping $server) -eq 0) {
$content = \"$($env:USERPROFILE)\Documents\Cred.txt\"
$destinationfile = \"$($env:USERPROFILE)\Documents\test\"
#### Serveur - server - ####
$filedump = \"$($env:USERPROFILE)\Documents\test\WindumpNetcare.csv\"
$password = Get-Content $content | ConvertTo-SecureString -Key $key
$creds = New-Object -TypeName System.Management.Automation.PsCredential -ArgumentList (\"user\", $password)
try {
$idsession = New-PSSession -ComputerName $server -Credential $creds -ErrorAction stop
}
catch [System.Management.Automation.Remoting.PSRemotingTransportException]{
write-host \"+ Impossible de se connecter : Erreur identifiants server\" -ForegroundColor red
}
if ($idsession) {
try {
Copy-Item -Path $filedump -FromSession $idsession -Destination $destinationfile -ErrorAction Stop
}
catch [System.ArgumentException] {
Write-Host \"+ Fichier WindumpNetcare.csv non présent sur server\" -ForegroundColor Red
}
catch [System.Management.Automation.ParameterBindingException] {
Write-Host \"+ Impossible de copier le fichier WindumpNetcare.csv : Erreur identifiants server\" -ForegroundColor Red
}
If ((Test-Path -Path $destinationfile)) {
Write-Host \"- Fichier CSV $server est téléchargé \"-ForegroundColor Green
}
else {
Write-Host \"+ Fichier CSV $server non téléchargé\" -ForegroundColor Red
}
Remove-PSSession $idsession
}
else {
Write-Host \"+ Erreur identifiants\" -ForegroundColor Red
}
}
}
Stop-Transcript
[/code:1]
par contre la copie ecrase le fichier existant il te faut donc renomer le fichier dump pour chaque serveur
Message édité par: 6ratgus, à: 13/03/19 15:28
Message édité par: 6ratgus, à: 13/03/19 15:31<br><br>Message édité par: 6ratgus, à: 13/03/19 15:52
Connexion ou Créer un compte pour participer à la conversation.
- dimshell
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 86
- Remerciements reçus 0
il y a 7 ans 2 mois #28463
par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Merci pour ta réponse.
Les logs c'est bien pour débuger ?
petit soucis comme tu as mis } à la fin de ton script le foreach exécute un ping après copie et a la fin recommence un ping d'un autre serveur copie etc .
ping server1
copie 1
copie 2
ping server 2
copie 1
copie 2
C'est ce que j'ai fais pour chaque serveur j'ai fais le même code avec le csv qui change de nom
Message édité par: dimshell, à: 14/03/19 11:04<br><br>Message édité par: dimshell, à: 14/03/19 11:23
Les logs c'est bien pour débuger ?
petit soucis comme tu as mis } à la fin de ton script le foreach exécute un ping après copie et a la fin recommence un ping d'un autre serveur copie etc .
ping server1
copie 1
copie 2
ping server 2
copie 1
copie 2
C'est ce que j'ai fais pour chaque serveur j'ai fais le même code avec le csv qui change de nom
Message édité par: dimshell, à: 14/03/19 11:04<br><br>Message édité par: dimshell, à: 14/03/19 11:23
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Gestion de logs / erreurs