Advertisement
wackou

Testing credential (local or domain) on a list of computer

Feb 6th, 2016
1,874
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Ce script permet de tester les identifiants d'ordinateurs à distance
  2. # On test en premier la connectivité (ping)
  3. # On test ensuite si les identifiants saisies peuvent se connecter sur le partage
  4. #
  5. #
  6. # Wackou
  7. # contact@wackou.com
  8. # www.wackou.com
  9. $computers = Get-Content computers.txt #lecture du fichier contenant les noms des ordinateurs en FQDN ou IP
  10. $cred = Get-Credential #Obtention des credentials au format COMPUTER\USERNAME ou DOMAINE\USERNAME
  11. $LogTime = Get-Date -Format "dd-MM-yyyy_HH-mm-ss" # obtenir la date dès le lancement pour LOG
  12. $account = Read-Host "Please enter the account used" #Saisie du compte utilisé (pas possible avec get-credential)
  13. foreach ($computer in $computers) {
  14.     if(Test-Connection $computer -Count 1 -ErrorAction SilentlyContinue) { #Test si ordinateur en ligne, si OUI, on test
  15.         if(New-PSDrive -Name testshare -PSProvider FileSystem -Root "\\$computer\c$" -Credential $cred -ErrorAction SilentlyContinue) { #Test de connexion sur partage administratif C$
  16.             $status = 'Online and able to connect' # Si OUI, alors PC en ligne et connexion OK
  17.             Remove-PSDrive testshare #Suppression du lecteur réseau temporaire
  18.         }
  19.         else {
  20.             $status = 'Online but unable to connect' #Si NON, alors PC en ligne mais connexion NOK
  21.         }
  22.     }
  23.     else {
  24.         $status = 'Offline/not in DNS' # Si NON, alors PC pas en ligne
  25.     }
  26.     Write-Host $computer - $status # Sortie vers console
  27.     Write-Output "$computer - $status" >> STATUS_$account-$LogTime.txt # Sortie vers fichier de log
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement