Come ben sapete ho la gestione di più computer all'interno della mia rete e molti di questi sono utilizzati per tutto il tempo della mia presenza a scuola... Come fare manutenzione ad esempio rimuovendo Software non necessari senza disturbare ragazzi e docenti? Ho creato un piccolo programma DOS molto pratico che fa uso di PSEXEC. Si esegue dalla cartella del server dove presente psexec.exe e con diritti amministrativi di dominio!
Aggiornamenti informatici e piccoli trucchetti nella vita quotidiana di un lavoratore statale addetto alla gestione di server e reti. Quando un pensiero mi passa per la mente lo scrivo...
ADS
giovedì 28 maggio 2026
Rimuovere Software da Client DC
giovedì 20 novembre 2025
Script per la ricerca di PC con SID duplicati
Ecco lo script:
# Percorso completo di PsGetSid.exe - By Marco Mira
$psGetSidPath = ".\PsGetSid.exe"
# Importa modulo Active Directory
Import-Module ActiveDirectory
# Ottieni lista nomi computer dominio
$computers = Get-ADComputer -Filter * | Select-Object -ExpandProperty Name
# Array per risultati
$result = @()
foreach ($computer in $computers) {
# Verifica raggiungibilità con ping
$pingable = Test-Connection -ComputerName $computer -Count 1 -Quiet
if (-not $pingable) {
$sid = "NON raggiungibile"
} else {
try {
# Esegui PsGetSid e cattura output come stringa
$outputRaw = & $psGetSidPath "\\$computer" 2>&1 | Out-String
# Dividi output in righe
$outputLines = $outputRaw -split '\r?\n'
# Trova la riga con "SID for" e prendi la riga successiva se presente e non vuota
$sid = $null
for ($i = 0; $i -lt $outputLines.Count; $i++) {
if ($outputLines[$i] -match "SID for") {
if ($i + 1 -lt $outputLines.Count -and $outputLines[$i+1].Trim() -ne '') {
$sid = $outputLines[$i+1].Trim()
break
}
}
}
if (-not $sid) {
$sid = "SID non trovato"
}
} catch {
$sid = "Errore durante il comando"
}
}
# Pulisce output da eventuali spazi indesiderati
$sidClean = $sid.Trim()
# Scrive a schermo nome computer e SID pulito
Write-Output "$computer - $sidClean"
# Aggiungi al report
$result += [PSCustomObject]@{
ComputerName = $computer
LocalSID = $sidClean
}
}
# Esporta risultati in CSV (modifica se serve percorso)
$result | Select-Object ComputerName, LocalSID | Export-Csv -Path .\LocalSIDs_Report.csv -NoTypeInformation
Write-Host "`nReport creato: LocalSIDs_Report.csv"
https://learn.microsoft.com/en-us/sysinternals/downloads/psgetsid