Powershell

Search In AD Group | Script Powershell per la ricerca di un gruppo in AD

In Powershell Script by Roberto0 Comments

Like
Like Love Haha Wow Sad Angry

Search In AD Group | Script Powershell è uno script powershell che esamina tutta Active Directory alla ricerca di un gruppo o di una parola all’interno di un gruppo.

Search In AD Group è un semplice script che ho avuto necessità di creare per effettuare una ricerca in AD allo scopo di trovare tutti i gruppi (o anche un o solo) che contenessero una determinata parola o anche solo poche lettere.

Quando si è in molti a lavorare su Active Directory e si hanno migliaia di utenze e gruppi con una nomenclatura particolare, potrebbe capitare che si incontrino difficoltà a ricordare il nome di un determinato gruppo, quindi… ecco uno script semplice che cerca in tutta AD e scova i nomi di uno o più gruppi che contengano una determinata stringa di ricerca.

Un solo requisito e una sola personalizzazione.

• Requisito: accesso ad Active Directory
• Personalizzazione: alla riga 22, dovrete inserire i dati del vostro dominio
$domainname = 'dc=vostrodominio,dc=local'

Veniamo, ora, allo sctipt vero e proprio…

</p>
<p><#
SearchInADGroup
Roberto Bonfa'
Versione : 1.8
Vers. 1.8 - Aggiunta GUI per la stringa di ricerca
Vers. 1.7 - Aggiunta stringa dominio
Vers. 1.6 - Aggiunta apertura file
Vers. 1.5 - Corretto bug di file bianco in output
Vers. 1.4 - Aggiunto footer con nome utente che ha eseguito la ricerca (funziona solo con formattazione html). Rimosso
Vers. 1.3 - Aggiunta creazione cartella SOLO se NON esiste
Vers. 1.2 - Aggiunto salvataggio nella folder "stringa ricerca". Come nome file inserita data completa della ricerca
Vers. 1.1 - Impostate variabili per salvataggio
Vers. 1.0 - Creazione script
Effettua una ricerca all'interno di AD e verifica l'esistenza di un gruppo contenente la stringa specificata
Restituisce tutti i dati in cui compare la stringa ricerca.
#></p>
<p><# Importo modulo di AD #><br />
Import-Module ActiveDirectory</p>
<p><# Imposto dominio di ricerca #><br />
$domainname = 'dc=vostrodominio,dc=local'</p>
<p><# Imposto variabile today con data estesa e ora, comprensiva di minuti #><br />
$today = Get-Date -f dd.MM.yyyy_ore_HH.mm</p>
<p><# Imposto variabile richiesta stringa di ricerca via GUI #></p>
<p>[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')<br />
$srvname = [Microsoft.VisualBasic.Interaction]::InputBox('Inserisci la stringa da ricercare', 'Stringa di ricerca') </p>
<p>$srvname</p>
<p><# Creo cartella con nome server, SE NON esiste #><br />
$path = ".\log\$srvname\"<br />
if(!(Test-Path -Path $path )){<br />
    New-Item -ItemType directory -Path $path<br />
}</p>
<p><# Filtro i gruppi AD con la ricerca della stringa specificata e restituisce il/i nome/i del/i gruppo/i. Salva la ricerca nella cartella dove è presente lo script, con data, ora e minuto di ricerca #><br />
$group = Get-ADGroup -SearchBase $domainname -Filter "name -like '*$srvname*'" | select SamAccountName | Out-File "$Path\$Today.txt" -append</p>
<p><# Apro il file con i risultati #><br />
Invoke-Item "$Path\$Today.txt"</p>
<p>

Abbiamo terminato con lo script… Ora dovete solo metterlo su un server o un PC che abbia accesso al dominio e utilizzare un’utenza come Domain Admins. Buon test!

P.S.: Se volete scaricare direttamente lo script, potete prelevarlo direttamente qui sotto (tasto destro + “salva link con nome”)

Scarica “SearchInADGroup”

Roberto Administrator
Info su di me
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia. Sono una persona socievole, gentile ed educato. Sono mattiniero, ma anche notturno. Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede. Preferisco fare shopping piuttosto che passare una giornata in piscina. Odio volare, ho il terrore di volare! Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo. Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi. Sono impulsivo, stronzo, ma sempre leale e sincero. I filtri dell’imbarazzo, della delicatezza, della vergogna a me non li hanno applicati. Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto. Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo. QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
×
Roberto Administrator
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia. Sono una persona socievole, gentile ed educato. Sono mattiniero, ma anche notturno. Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede. Preferisco fare shopping piuttosto che passare una giornata in piscina. Odio volare, ho il terrore di volare! Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo. Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi. Sono impulsivo, stronzo, ma sempre leale e sincero. I filtri dell’imbarazzo, della delicatezza, della vergogna a me non li hanno applicati. Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto. Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo. QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
Like
Like Love Haha Wow Sad Angry

CONDIVIDI QUESTO ARTICOLO