Saya mencoba untuk mendapatkan daftar folder yang dibagikan pada file yang dibagikan. Saat ini saya memiliki dua folder tes:
\\MYPC\Test1
\\MYPC\Test2
Ini adalah kode yang saya miliki saat ini:
$FileServer = Read-Host "Enter file server to search"
$FolderList = Get-ChildItem -Path $FileServer
Write-Host $FolderList
Tetapi ini muncul dengan "tidak dapat menemukan jalan". Saya dapat melihat contoh bagaimana melakukan ini \\Server\Share
sebagai direktori, tetapi apakah mungkin untuk hanya mencari \\Server
?
net view
tidak akan mengembalikan saham yang disembunyikan.Hanya ada satu cara untuk menghitung bagian dari jarak jauh dari baris perintah yang saya tahu, dan itu dengan
net view
:Ini tidak bisa diurai sendiri, tetapi, Anda bisa membuangnya ke dalam array untuk memproses data baris demi baris:
Anda sekarang memiliki array, dan mulai
$sharedFolders[7]
Anda memiliki saham Anda. Anda kemudian bisasplit
pada sesuatu seperti spasi ganda - tidak mungkin muncul dalam nama share itu sendiri, dan harus berfungsi kecuali nama share Anda sangat panjang, hanya menyisakan satu spasi antara nama share dan bidang tipe:Anda bisa memproses ini dengan menggunakan ForEach dan beberapa logika kondisional. Itu tidak akan sempurna, tetapi harus bekerja untuk sebagian besar kasus penggunaan.
Untuk singkatnya, untuk hanya menampilkan nama file ke konsol:
sumber
Jika Anda ingin menemukan bagian dari mesin lokal, Anda cukup melakukannya
Get-SmbShare
:sumber
Memperluas jawaban Mark Henderson :
sumber
Terima kasih kepada Mark Henderson atas solusinya . Saya telah menambahkan fungsi wrapper untuk membantu menjadikan fungsi ini lebih ramah dengan PowerShell. Saya telah menggunakan pendekatan berbeda untuk memecah data (lebih kompleks, tidak lebih baik); yang dapat dengan mudah diubah berdasarkan preferensi.
sumber
Pada Windows 8 atau lebih tinggi dan Windows Server 2012 atau lebih tinggi, Anda dapat menggunakan Get-SmbShare dari modul SmbShare.
sumber
Alat Windows Resource Kit: rmtshare .
Jalankan di bawah id dengan izin administrator di server jarak jauh atau buat koneksi ipc $ ke server jarak jauh.
sumber
Berikut ini adalah PowerShell one liner yang menggunakan tampilan bersih untuk menghitung semua bagian jauh yang dapat dilihat pengguna - tidak berarti mereka memiliki akses.
Jika Anda ingin melihat apakah mereka memiliki (setidaknya) akses baca, Anda dapat menjalankan:
Jika Anda membutuhkan output yang disimpan, Anda selalu dapat mengirimkannya ke Export-CSV dengan melemparkan yang berikut ini setelah braket terakhir:
Semuanya tidak sempurna ketika tampilan bersih melempar kesalahan tapi saya menulisnya berdasarkan komentar di sini dan itu bekerja dengan sangat baik dan sangat membantu untuk apa yang saya butuhkan jadi saya pikir saya akan berbagi. :)
sumber