1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| # Récupération du nom d'utilisateur
$IdUser = [Environment]::UserName
# Récupération du nom de la machine
$NomCalif = [Environment]::MachineName
#Choix du groupe
$localgroupName = "Administrateurs"
# "." Signifiant que le script est actif uniquement en local
$computerName = "."
# Récupération des groupes concernant le nom de la machine
$group = [ADSI]("WinNT://$computerName/$localGroupName,group")
$members = @()
$Group.Members() |
% {
$AdsPath = $_.GetType().InvokeMember("Adspath", 'GetProperty', $null, $_, $null)
# Membre du groupe Domaine qui vont avoir un ADSPath égales à WinNT://DomainName/UserName.
# Comptes local qui vont avoir la meme valeur que WinNT://DomainName/ComputerName/UserName.
$a = $AdsPath.split('/',[StringSplitOptions]::RemoveEmptyEntries)
$name = $a[-1]
$domain = $a[-2]
$class = $_.GetType().InvokeMember("Class", 'GetProperty', $null, $_, $null)
$member = New-Object PSObject
$member | Add-Member -MemberType NoteProperty -Name "Name" -Value $name
$member | Add-Member -MemberType NoteProperty -Name "Domain" -Value $domain
$member | Add-Member -MemberType NoteProperty -Name "Class" -Value $class
$members += $member
}
#Recherche membre SCCM_ClientPush_GL
$compte1="Non"
foreach ($line in $members) {
if ($line.name -eq 'SCCM_ClientPush_GL') {
$compte1="Oui"
}
else{
}
}
#Recherche membre DSIT_COMMUN_CSCTI_poste_Adm_GL
$compte2="Non"
foreach ($line in $members) {
if ($line.name -eq 'DSIT_COMMUN_CSCTI_poste_Adm_GL') {
$compte2="Oui"
}
else{
}
}
#Recherche membre NT_RG_Poste_Adm_GG
$compte3="Non"
foreach ($line in $members) {
if ($line.name -eq 'NT_RG_Poste_Adm_GG') {
$compte3="Oui"
}
else{
}
}
#Recherche membre NT_Poste_Adm_GG
$compte4="Non"
foreach ($line in $members) {
if ($line.name -eq 'NT_Poste_Adm_GG') {
$compte4="Oui"
}
else{
}
}
#Recherche membre Domain Admins
$compte5="Non"
foreach ($line in $members) {
if ($line.name -eq 'Domain Admins') {
$compte5="Oui"
}
else{
}
}
#Recherche membre Administrateur
$compte6="Non"
foreach ($line in $members) {
if ($line.name -eq 'Administrateur') {
$compte6="Oui"
}
else{
}
}
#Insertion BDD
#Paramètres serveur
$serverName = "*********\*********"
$databaseName = "*********"
#Utilisateur et password
$user ="*****"
$password = "*******"
#Requete SQL
$Query = "INSERT INTO infopc VALUES ('$($NomCalif)','$($IdUser)','$($(get-date -f yyyy-MM-dd))','$($compte1)','$($compte2)','$($compte3)','$($compte4)','$($compte5)','$($compte6)','','','','')"
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString ="Server=$serverName;user=$user;password=$password;Database=$databaseName;pooling=false;"
#Ouverture connection
$Connection.Open()
#Création nouvelle commande SQL
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
#Exécution du de la requete
$cmd=New-Object system.Data.SqlClient.SqlCommand($Query,$Connection)
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)
#Fermeture connection
$Connection.Close()
# $ds.Tables |
Partager