Question [Résolu] Gérer une erreur pour continuer le script

Plus d'informations
il y a 16 ans 1 mois #6195 par rodriguez
Voila,

je suis entrain de faire rapidos un script pour liste tous les postes du domaine pour savoir quand il ping bien quels sont les utilisateurs connectés dessus.

mais voila je me confronte a l'erreur d'acces refusé.
et je souhaiterais pouvoir gérer cette erreur afin que le script continue toujours de tourner.

[code:1]

#Recherche des postes
$ldapquery = [ADSI] 'LDAP://OU=PROD-WSUS,OU=Stations,DC=**,DC=***,DC=**'
$objrechercher = New-object system.directoryservices.directorysearcher($ldapQuery)
$objrechercher.filter='(&(objectCategory=computer))'



foreach($postes in $objRechercher.FindAll())
{

#CN du Serveur ( Nom Netbios )
$strComputer = $postes.properties.cn

#Verifie si le poste est sur le réseau
$wmi = get-wmiobject -Query \"select * from win32_pingstatus where Address='$Strcomputer'\"


if ($wmi.StatusCode -eq 0)
{
$errorActionPreference='Continue'
Write-Host $strComputer ping
($Var =GWMI -Comp $strComputer -CL Win32_ComputerSystem)
\"Machine Name: \" + $Var.Name + \" User Name: \" + $Var.UserName

$strComputer >> c:\user.txt
$var.userName >> c:\user.txt

}
}
#Rodriguez Stephane
[/code:1]

Comme on peut le voir j'essais de positionner une continuation si erreur mais soit elle est mal placé soit elle sert a rien. ( $errorActionPreference='Continue')

Help ;)

Message édité par: noxydius, à: 17/02/10 15:15<br><br>Message édité par: Arnaud, à: 1/03/10 23:32

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

Plus d'informations
il y a 16 ans 1 mois #6224 par Arnaud Petitjean
Salut !

Pour que ca fonctionne sans afficher d'erreur, il faut placer $errorActionPreference='Continue' au tout debut de ton script.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 16 ans 3 semaines #6225 par rodriguez
Ha Oki, merci pour l'infos..

voici donc sa derniere monture

[code:1]


Remove-Item c:\systools\bat\temp\user.txt
$errorActionPreference='Continue'

#Recherche des postes
$ldapquery = [ADSI] 'LDAP://OU=PROD-WSUS,OU=Stations,DC=fr,DC=compass,DC=local'
$objrechercher = New-object system.directoryservices.directorysearcher($ldapQuery)
$objrechercher.filter='(&amp;(objectCategory=computer))'



foreach($postes in $objRechercher.FindAll())
{

#CN du Serveur ( Nom Netbios )
$strComputer = $postes.properties.cn

#Verifie si le poste est sur le réseau
$wmi = get-wmiobject -Query \&quot;select * from win32_pingstatus where Address='$Strcomputer'\&quot;


if ($wmi.StatusCode -eq 0)
{

$Var =GWMI -Comp $strComputer -CL Win32_ComputerSystem


$strComputer &gt;&gt; C:\systools\bat\temp\user.txt
$var.userName &gt;&gt; C:\systools\bat\temp\user.txt
\&quot;********\&quot; &gt;&gt; C:\systools\bat\temp\user.txt

}


}

[/code:1]<br><br>Message édité par: noxydius, à: 24/02/10 15:12

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

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