Powershell Script

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

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
[intense_code type="inline"]$domainname = 'dc=vostrodominio,dc=local'[/intense_code]

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

Etichette
Back to top button
Close

Su questo sito NON c’è pubblicità e non ci sarà mai.

L’unica cosa che vi chiedo, se volete, è di utilizzare i miei link per gli acquisti su Amazon; non spenderete neppure un centesimo in più, ma Amazon mi riconoscerà una piccola percentuale sul prezzo di acquisto.