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.

