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…



<#
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.
#>

<# Importo modulo di AD #>
Import-Module ActiveDirectory

<# Imposto dominio di ricerca #>
$domainname = 'dc=vostrodominio,dc=local'

<# Imposto variabile today con data estesa e ora, comprensiva di minuti #>
$today = Get-Date -f dd.MM.yyyy_ore_HH.mm

<# Imposto variabile richiesta stringa di ricerca via GUI #>

[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') 
$srvname = [Microsoft.VisualBasic.Interaction]::InputBox('Inserisci la stringa da ricercare', 'Stringa di ricerca') 

$srvname

<# Creo cartella con nome server, SE NON esiste #>
$path = ".\log\$srvname\"
if(!(Test-Path -Path $path )){
    New-Item -ItemType directory -Path $path
}

<# 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 #>
$group = Get-ADGroup -SearchBase $domainname -Filter "name -like '*$srvname*'" | select SamAccountName | Out-File "$Path\$Today.txt" -append

<# Apro il file con i risultati #>
Invoke-Item "$Path\$Today.txt"

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”

Like
Like Love Haha Wow Sad Angry

CONDIVIDI QUESTO ARTICOLO


Comment Policy:

I commenti che vengono espressi su questo sito, rispecchiano il pensiero di coloro i quali li esprimono. Siate, pertanto, educati e cortesi nei confronti di chiunque. Utilizzate solo il vostro vero nome e i vostri profili social per collegarvi. Utilizzare profili falsi porterà alla cancellazione del commento, al blocco dello username, al ban dell'IP dal sito e ad una eventuale segnalazione dell'IP stesso alle autorità competenti. Sul sito non sono permessi commenti anonimi, pertanto è necessario che vi autentichiate con uno dei servizi che potete trovare qui sotto. Sono ammessi l'utilizzo di immagini e link nei commenti, ma con moderazione e sempre nel rispetto altrui.