Active Directory: Tüm Windows Sunucularındaki tüm Ağ Paylaşımlarını listeleyin


Bugünkü blog yazısında, çıktıda güzel bir liste elde etmek için bir Active Directory etki alanındaki tüm sunuculardaki tüm ağ paylaşımlarının nasıl alınacağını göstereceğim. Bu komut dosyası, Active Directory ortamınızı belgelemek için kullanılır. Başlayalım.

Tüm Sunucuları Ada Göre Al

Öncelikle sunucu adlarını almamız gerekiyor.

# Retrieve Server Names 
$server = Get-ADComputer -Filter 'operatingsystem -like "*server*"' | Select-Object -ExpandProperty Name

Kısa inceleme.

Harika!

Tüm Sunucuların tüm Paylaşım Adlarını Alma

Artık parti başlıyor. Tüm sunucu adlarına sahip olduğumuz için tüm paylaşımları almak için Invoke-Command ve Get-SmbShare'i kullanabiliriz.

# 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

Umarım bu yardımcı olmuştur. İyi günler.

İlgili makaleler