Question Comparer user et computer dans active directory

Plus d'informations
il y a 10 ans 7 mois #20538 par Fred
Et voilaaaa ....après pas mal de recherche ... et après avoir parcouru tous les posts que j'ai pu concernant powershell ou d'ailleurs j'ai pu m'apercevoir que Laurent Dardenne est un peu a powershell ce qu'est Michael jackson a la Pop Music ... J'ai enfin réussi a finir mon script ... Bon il reste des petits trucs a peaufiner ... mais déja une chose est sure ... il fonctionne ^^
Je le met ici au cas ou des gens serait interessés:

[code:1]#========test de la connexion avec le serveur ou se situe la sauvegarde =========#

$testcnx= Test-Connection XXX.XXX.XXX.XXX
if ($testcnx){Write-Host \"Connexion serveur ok\"} else {exit}

#========import du module AD et test si utilisateur et pc sont bien liés dans AD=========#

Import-Module ActiveDirectory
$description= Get-ADComputer $env:computername -properties * | select -Expandproperty Description
$username= Get-ADUser $env:username -properties * | select -Expandproperty Name
$ismycomputer= $description.IndexOf($username, [System.StringComparison]::OrdinalIgnoreCase) -ne -1
if ($ismycomputer){Write-Host \"verification utilisateur ok\"} else {exit}

#======== Message voulez vous sauvegarder =========#

$YES=6;$NO=7
$shell=new-object -com wscript.shell
$ret=$shell.popup(\"Voulez-vous sauvegarder?\",0,\"Sauvegarde en cours\",4+32)
if ($ret -eq $YES) {Write-Host \"Sauvegarde en cours\"} else {exit}

#======== creation du chemin de sauvegarde si il n'existe pas encore =========#


$localusername=$env:username
$destination=cheminduserveur\Sauvegarde\$localusername\
if (-Not($destination)) {new-item -path E:\Sauvegarde\ -name $localusername -itemtype directory}

#======== sauvegarde de bureau favoris et mes documents =========#

$source1=\"$env:HOMEPATH\Documents\"
$destination1=\"E:\Sauvegarde\$localusername\Documents\"

robocopy $source1 $destination1 /MIR /COPYALL /sec

$source2=\"$env:HOMEPATH\Favorites\"
$destination2=\"E:\Sauvegarde\$localusername\Favorites\"

robocopy $source2 $destination2 /MIR /COPYALL /sec

$source3=\"$env:HOMEPATH\Desktop\"
$destination3=\"E:\Sauvegarde\$localusername\Desktop\"

robocopy $source3 $destination3 /MIR /COPYALL /sec


#
envois mail
#

send-mailmessage -to Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. -from Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. -subject \"SAUVEGARDE EFFECTUEE\" -body \"sauvegarde effectuée avec succès\" -SmtpServer smtpint.mondomaine[/code:1]

Laurent, j'ai essayé de voir au niveau gestion des messages d'erreurs mais je pense que je vais encore avoir besoin de tes lumieres ...notamment pour la partie finale concernant l'envoi du mail.
Pour l'instant l'idée c'est que si le script arrive jusqu'a la sauvegarde, il envoi un mail \"sauvegarde ok\".
Mais je suppose que tu voulais dire qu'il faut aussi gerer les cas ou ca ne fonctionne pas et savoir pourquoi ?
par exemple pas de connexion réseau = envoi mail \"pas de connexion réseau\".
Je suis en train d'y travailler mais de la façon dont j'ai tourné le script c'est pas évident... parce que ca voudrait dire qu'au lieu du else que j'utilise il faudrait que je lui dise d'indiquer que c'est KO + envoi du mail.<br><br>Message édité par: fred31200, à: 23/07/15 17:04

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

Plus d'informations
il y a 10 ans 7 mois #20541 par Laurent Dardenne
fred31200 écrit:

j'ai pu m'apercevoir que Laurent Dardenne est un peu a powershell ce qu'est Michael jackson a la Pop Music

C'est gentil, mais abondance de posts n'est pas abondance de talent :-)
fred31200 écrit:

Mais je suppose que tu voulais dire qu'il faut aussi gerer les cas ou ca ne fonctionne pas et savoir pourquoi ?

Oui, enfin surtout pour ceux-celles qui vont maintenir ton script.
Il faut s'assurer que ce que tu réalises soit un automatisme de tâche et pas un générateur de tâches de support.
fred31200 écrit:

par exemple pas de connexion réseau = envoi mail \&quot;pas de connexion réseau\&quot;.

Si tu as + réseaux...
fred31200 écrit:

Je suis en train d'y travailler mais de la façon dont j'ai tourné le script c'est pas évident...

Tout à fait.
Pour la v2 tu peux créer des fonctions( réutilisation du code), l'objectif n'est pas de tout gérer mais de pouvoir analyser/comprendre rapidement la cause d'une erreur.
Par exemple si tu ne peux envoyer de mail, il n'existe aucun log en local qui puissent t'aider.

Tu peux déjà créer une fonction autour des appels à Robocopy, à toi de décider si tu arrêtes le traitement à la première erreur.

Tutoriels PowerShell

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

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