Création script
This commit is contained in:
parent
c63e8744ab
commit
91426c80d2
|
@ -0,0 +1,70 @@
|
|||
#Script créé par Nicolas Lang - Sous licence CC-BY-SA
|
||||
#https://nicolaslang.fr
|
||||
|
||||
$ou = @("OU=Servers,OU=SITE 1,DC=domaine,DC=local","OU=Domain Controllers,DC=domaine,DC=local")
|
||||
#définition des UO
|
||||
$tableauerreurs = New-object System.Collections.ArrayList
|
||||
#création d'un tableau contenant les erreurs
|
||||
$listesrv = New-Object System.Collections.ArrayList
|
||||
#création d'un tableau contenant la liste des serveurs
|
||||
$tableauodbc =New-object System.Collections.ArrayList
|
||||
#création d'un tableau contenant la liste des connecteurs trouvés
|
||||
|
||||
$ou | % {
|
||||
$serveurs = Get-ADComputer -SearchBase $_ -Filter * -Properties "OperatingSystem"
|
||||
$listesrv.AddRange($serveurs)
|
||||
#nous ajoutons la liste contenue dans $serveurs au tableau
|
||||
}
|
||||
$listesrv = $listesrv | Where-Object {$_.operatingsystem -like "Windows*"} |Sort-Object -Property name
|
||||
#Nous filtrons ce qui comporte "windows" et trions par le nom
|
||||
$listesrv | Select-Object -Property name
|
||||
|
||||
foreach ($serveur in $listesrv)
|
||||
|
||||
{
|
||||
|
||||
|
||||
$key = "SOFTWARE\ODBC\ODBC.INI"
|
||||
$types = @([Microsoft.Win32.RegistryHive]::CurrentUser,[Microsoft.Win32.RegistryHive]::LocalMachine)
|
||||
|
||||
foreach ($type in $types)
|
||||
{
|
||||
|
||||
$regkey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($type, $($serveur.name)) #nous ouvrons la ruche distante sur l'ordinateur scanné
|
||||
if (!$?)
|
||||
{
|
||||
$tableauerreurs.add([PSCUSTOMOBJECT]@{
|
||||
"Serveur" = $($serveur.name)
|
||||
"Region" = "ODBC $type clé $type\$key"
|
||||
"Erreur" = $error[0].Exception.Message
|
||||
})
|
||||
}
|
||||
else
|
||||
{
|
||||
$regkey = $regkey.opensubkey($key) #ouverture de la clé contenant les infos d'ODBC
|
||||
|
||||
if ($regkey -ne $null)
|
||||
{
|
||||
#on récupère l'intégralité des clés enfants, et pour chaque on va voir s'il y'a des informations d'UID
|
||||
foreach ($value in $regkey.GetSubKeyNames() )
|
||||
{
|
||||
$subkey = $regkey.OpenSubKey($value)
|
||||
if ($subkey.GetValueNames() -contains "UID")
|
||||
{
|
||||
$user = $subkey.getValue("UID") #on récupère le nom d'utilisateur
|
||||
$pass = $subkey.getValue("PWD") #et également le mot de passe
|
||||
$tableauodbc.Add([PSCUSTOMOBJECT]@{
|
||||
"Serveur" = $($serveur.name)
|
||||
"Type ODBC" = "$type"
|
||||
"Chemin ODBC" = "$type\$key\$subkey"
|
||||
"Utilisateur" = $user
|
||||
}) #et on ajoute le tout dans le tableau
|
||||
}
|
||||
|
||||
} #fin foreach valeur dans sous clés registre
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} #fin foreach
|
||||
$tableauodbc
|
Loading…
Reference in New Issue
Block a user