Question Gestion de logs / erreurs

Plus d'informations
il y a 7 ans 2 mois #28454 par Philippe
Réponse de Philippe sur le sujet Re:Gestion de logs / erreurs

j'ai cette erreur si l'utilisateur renseigne mal un identifiant

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 !
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.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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 \&quot;serveur nomserveur indisponible\&quot; mais ne vas copier le fichier vu que le serveur est déco

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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

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.

mais bon a toi de voir si ça te conviens ...

[code:1]start-transcript -path \&quot;.\logs\log.rtf\&quot;

# fonction de test
function get-Ping {
Param($Servername) # Name of server

try {
$connetion = Test-Connection -computername $Servername -Count 3 -ErrorAction Stop

Write-Host \&quot;- $Servername : Ping réussi !\&quot; -ForegroundColor Green
return 0
}
catch [System.Net.NetworkInformation.PingException] {
Write-Host \&quot;+ $Servername : Echec Ping = Démarrage Serveur nécessaire - Serveur inacessible !\&quot; -ForegroundColor Red
return -1
}
}


#execution du code
$serversname = \&quot;server\&quot;
foreach ($server in $serversname) {
if ((get-Ping $server) -eq 0) {

$content = \&quot;$($env:USERPROFILE)\Documents\Cred.txt\&quot;
$destinationfile = \&quot;$($env:USERPROFILE)\Documents\test\&quot;

#### Serveur - server - ####

$filedump = \&quot;$($env:USERPROFILE)\Documents\test\WindumpNetcare.csv\&quot;

$password = Get-Content $content | ConvertTo-SecureString -Key $key

$creds = New-Object -TypeName System.Management.Automation.PsCredential -ArgumentList (\&quot;user\&quot;, $password)

try {
$idsession = New-PSSession -ComputerName $server -Credential $creds -ErrorAction stop
}

catch [System.Management.Automation.Remoting.PSRemotingTransportException]{
write-host \&quot;+ Impossible de se connecter : Erreur identifiants server\&quot; -ForegroundColor red
}

if ($idsession) {
try {
Copy-Item -Path $filedump -FromSession $idsession -Destination $destinationfile -ErrorAction Stop
}
catch [System.ArgumentException] {
Write-Host \&quot;+ Fichier WindumpNetcare.csv non présent sur server\&quot; -ForegroundColor Red
}
catch [System.Management.Automation.ParameterBindingException] {
Write-Host \&quot;+ Impossible de copier le fichier WindumpNetcare.csv : Erreur identifiants server\&quot; -ForegroundColor Red
}

If ((Test-Path -Path $destinationfile)) {
Write-Host \&quot;- Fichier CSV $server est téléchargé \&quot;-ForegroundColor Green
}
else {
Write-Host \&quot;+ Fichier CSV $server non téléchargé\&quot; -ForegroundColor Red
}

Remove-PSSession $idsession

}
else {
Write-Host \&quot;+ Erreur identifiants\&quot; -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.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.044 secondes
Propulsé par Kunena