Active Directory: enumere todos los recursos compartidos de red de todos los servidores de Windows
En la publicación del blog de hoy, muestro cómo recuperar todos los recursos compartidos de red de todos los servidores en un dominio de Active Directory para obtener una buena lista en el resultado. Este script se utiliza para documentar su entorno de Active Directory. Empecemos.
Recuperar todos los servidores por nombre
En primer lugar, necesitamos recuperar los nombres de los servidores.
# Retrieve Server Names
$server = Get-ADComputer -Filter 'operatingsystem -like "*server*"' | Select-Object -ExpandProperty Name
Breve reseña.
¡Excelente!
Recuperando todos los nombres compartidos de todos los servidores
Ahora comienza la fiesta. Como tenemos todos los nombres de los servidores, podemos usar Invoke-Command y Get-SmbShare para recuperar todos los recursos compartidos.
# Collection Point
$result = @()
# Show all Shares of all Servers
foreach ($s in $server) {
$shares = Invoke-Command -ComputerName $s -ScriptBlock {Get-SmbShare | Select-Object PSComputerName,Name,Path}
$result += New-Object PSObject -Property ([ordered]@{
ServerName = $s
Shares = $shares.Name -join "`n"
Path = $shares.Path -join "`n"
})
}
Write-Output $result | Format-Table -AutoSize -Wrap
Espero que esto haya sido útil. Que tenga un lindo día.

