Création script
This commit is contained in:
parent
91426c80d2
commit
f0d6701cd2
|
@ -0,0 +1,57 @@
|
||||||
|
#Script créé par Nicolas Lang - Sous licence CC-BY-SA
|
||||||
|
#https://nicolaslang.fr
|
||||||
|
|
||||||
|
#Ajout du module AD pour les rebelles de la V1/ V2 ;)
|
||||||
|
ipmo activedirectory
|
||||||
|
#Obtention de la liste des serveurs
|
||||||
|
$serveurs = Get-ADComputer -SearchBase "OU=Servers,DC=domaine,DC=local" -filter * | Select-Object -ExpandProperty name
|
||||||
|
#Creation du tableau qui stockera les données
|
||||||
|
$tableau = New-Object System.Collections.ArrayList
|
||||||
|
#Fonction utilisée pour stocker les données ET les erreurs
|
||||||
|
function addarray([string]$serveur,[string]$description=$null,[string]$serveur1=$null,[string]$serveur2=$null)
|
||||||
|
{
|
||||||
|
#définition de l'objet envoyé dans le tableau
|
||||||
|
$object = [PSCUSTOMOBJECT]@{
|
||||||
|
"Ordinateur" = $serveur
|
||||||
|
"Carte réseau" = $description
|
||||||
|
"Serveur 1" = $serveur1
|
||||||
|
"Serveur 2" = $serveur2
|
||||||
|
}
|
||||||
|
return $object
|
||||||
|
}
|
||||||
|
foreach ($serveur in $serveurs)
|
||||||
|
{
|
||||||
|
Write-Host "Analyse de $serveur"
|
||||||
|
#On teste si ne réponds pas au ping. Si c'est le cas, on stocke l'erreur dans le tableau
|
||||||
|
if (!(Test-Connection $serveur -Count 1))
|
||||||
|
{
|
||||||
|
$tableau.Add($(addarray -serveur $serveur -serveur1 $($Error[0].Exception.Message) -serveur2 "Erreur Ping"))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#Cette commande obtient la configuration de différentes cartes réseau. Pour filtrer les cartes actives, il suffit de savoir si l'adresse IP n'est pas vide.
|
||||||
|
$configuration = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $serveur | where-object {$_.ipaddress -ne $null}
|
||||||
|
#Si la derniere commande renvoie une erreur, on enregistre cette erreur
|
||||||
|
if (!$?)
|
||||||
|
{
|
||||||
|
$tableau.Add($(addarray -serveur $serveur -serveur1 $($Error[0].Exception.Message )-serveur2 "Erreur"))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach ($entry in $configuration)
|
||||||
|
{
|
||||||
|
#Si aucun DNS n'est renseigné sur la carte, alors on le précise dans le tableau
|
||||||
|
if (!($($entry.DNSServerSearchOrder)))
|
||||||
|
{
|
||||||
|
$tableau.Add($(addarray -serveur $serveur -description $($entry.caption) -serveur1 "Aucun DNS" -serveur2 "Aucun DNS"))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$tableau.Add($(addarray -serveur $serveur -description $($entry.caption) -serveur1 $($entry.dnsserversearchorder[0]) -serveur2 $($entry.dnsserversearchorder[1])))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#Et on exporte le tout sur le bureau :)
|
||||||
|
$tableau | Export-Csv -Path $([environment]::GetFolderPath("Desktop")+"\DNS_SERVEURS_"+$(get-date -Format mm_dd_yyyy)+".csv") -NoTypeInformation -Encoding UTF8 -Delimiter ";"
|
|
@ -1,5 +1,6 @@
|
||||||
#Script créé par Nicolas Lang - Sous licence CC-BY-SA
|
#Script créé par Nicolas Lang - Sous licence CC-BY-SA
|
||||||
#https://nicolaslang.fr
|
#https://nicolaslang.fr
|
||||||
|
|
||||||
import-module activedirectory
|
import-module activedirectory
|
||||||
$utilisateurs = Get-ADUser -Filter * -Properties *
|
$utilisateurs = Get-ADUser -Filter * -Properties *
|
||||||
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
|
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user