Question Gestion de logs / erreurs

Plus d'informations
il y a 7 ans 2 mois #28437 par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Merci pour ta réponse.

Mais c'est fiable à 100% ? car si il contient des valeurs cela ne veut pas dire que je suis connecté dessus ?

[code:1]try
{
$testses = New-PSSession -ComputerName server -Credential $creds

if ($testses){

write-host \"connexion session\" -ForegroundColor green
return 0
}
}

catch [System.Management.Automation.Remoting.PSRemotingTransportException]
{
write-host \"Impossible session\" -ForegroundColor red
return -1
}

finally {
Remove-PSSession $testses


write-host \"session stop\" -ForegroundColor green
}
[/code:1]<br><br>Message édité par: dimshell, à: 11/03/19 10:45

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

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

Mais c'est fiable à 100% ?

oui si la session n'a pas pu etre ouverte New-PSSession renvoie null

car si il contient des valeurs cela ne veut pas dire que je suis connecté dessus ?

si il contient des valeurs c'est à dire l'id de session et les parametres de session, alors la session est ouverte

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

Plus d'informations
il y a 7 ans 2 mois #28448 par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
<br><br>Message édité par: dimshell, à: 12/03/19 12:51

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

Plus d'informations
il y a 7 ans 2 mois #28449 par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Merci pour ta réponse.

J'ai avancé sur mon script.

Je regardes pour tester si la connexion est fini.
Si je mets des return -1 et 0 mon script va être bloqué à la première erreur ?

Dis moi si rien ne te choque stp.

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

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

# fonction de test
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
}

Finally {$Error.Clear()}
}


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

if($ok){




$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 SilentlyContinue
}

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

if ($idsession -eq $null){
Write-Host \&quot;+ Erreur identifiants\&quot; -ForegroundColor Red
}


try {
Copy-Item -Path C:\Users\user\Documents\WindumpNetcare.csv -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 $filedump) -eq $True)
{
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

}

Stop-Transcript

[/code:1]

Message édité par: dimshell, à: 12/03/19 12:52

Message édité par: dimshell, à: 12/03/19 12:53

Message édité par: dimshell, à: 12/03/19 12:55

Message édité par: dimshell, à: 12/03/19 12:57<br><br>Message édité par: dimshell, à: 12/03/19 13:06

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

Plus d'informations
il y a 7 ans 2 mois #28450 par Philippe
Réponse de Philippe sur le sujet Re:Gestion de logs / erreurs
si tu fais ça ca fonctionne pas !!! :
[code:1]try {
$idsession= New-PSSession -ComputerName server -ErrorAction SilentlyContinue
}

catch [System.Management.Automation.Remoting.PSRemotingTransportException]{
write-host \&quot;+ Impossible de se connecter : Erreur identifiants server\&quot; -ForegroundColor red
}[/code:1]le -ErrorAction SilentlyContinue demande de na pas généré d'erreur pour l'instruction
if faut faire ça :
[code:1] $idsession= New-PSSession -ComputerName server -ErrorAction stop
[/code:1]

apres cette gestion de $idsession est une bonne idée mais comme tu le fait tu execute quand même la copie quand il y a une erreur !
[code:1]if ($idsession -eq $null){
Write-Host \&quot;+ Erreur identifiants\&quot; -ForegroundColor Red
}[/code:1]
utilise plutot cette ecriture :
[code:1]if ($idsession) {
try {
Copy-Item -Path C:\Users\user\Documents\WindumpNetcare.csv -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 $filedump) -eq $True) {

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
}[/code:1]

et surtout utilise l'indentation car vraiment lourd a lire un completement tassé !
si tu veux utilise studio code pour ecrire tes scripts, il a un systeme d'indentation automatique et aussi de remise en forme de script

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

Plus d'informations
il y a 7 ans 2 mois #28451 par dimshell
Réponse de dimshell sur le sujet Re:Gestion de logs / erreurs
Merci pour ta réponse et tes corrections.

Je l'utilisé avant le stop mais je trouvais que le silentlycontinue me servirait plus.

Je vais indenter mon code je n'y penses pas je t'avoue =).

J'ai bien fait les modifs ça va niquel mais j'ai cette erreur si l'utilisateur renseigne mal un identifiant

[code:1]Copy-Item : Impossible d'exécuter l'opération, car la session Availability est définie sur None.
[/code:1]

Message édité par: dimshell, à: 12/03/19 14:16<br><br>Message édité par: dimshell, à: 12/03/19 14:41

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

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