Sürücü harfini eşleştirmeden ağ paylaşımına erişin (PowerShell)


23

\\SHARE-HOST\Sürücü harfi eşlemeden uzak SMB ağ paylaşımına erişmek istiyorum . \\SHARE-HOST\Share_folder\Explorer'da yazarak pencerelerde el ile yapabilirim . Programlı olarak yapmak istersem net usekomutu kullanmam gerekiyor . Bu bir mektup belirtmemi gerektiriyor.


Bu komut Set-Location \\SHARE-HOST\Share-foldersizin için Powershell'de çalışmıyor mu? Bir hata mesajı var mı?
jscott

1
"Net use komutunu kullanmam gerekiyor. Bu, bir harf belirlememi gerektiriyor." Birini belirtmek zorunda değilsin: bir net use * \\share\foldersonraki boş sürücü harfini kullanacak (den başlayarak Z:)
kapex

1
Aslına bakarsanız, net kullanımlı bir harf belirtmeniz veya kullanmanız gerekmez. Buradaki ilk cevaba bakınız: serverfault.com/questions/580369/…
Joshua Hanley

Yanıtlar:


26

PowerShell, UNC yollarını tam olarak destekler; bir dizinde veya dosya adında beklenen her yerde bunları kullanabilirsiniz:

  • Set-Location \\servername\sharename
  • Get-ChildItem \\servername\sharename
  • Copy-Item \\servername1\sharename1\filename.ext \\servername2\sharename2
  • Remove-Item \\servername\sharename\foldername\filename.ext

Ancak, gerçekte uzak paylaşımlara bağlanmak için uygun erişim haklarına ihtiyacınız vardır; bu, kullanıcı hesabınızın zaten gerekli izinlere sahip olması gerektiği veya içindeki klasörlere ve dosyalara erişmeden önce uzak sunucuya manuel olarak bir ağ bağlantısı kurmanız gerektiği anlamına gelir.

Ayrıca buraya bakınız: /programming/303045/connecting-to-a-network-folder-with-username-password-in-powershell .


Garip bir şekilde, Get-ChildItemmevcut konumunuzu Set-Locationuzaktaki makineye (örneğin servername) değiştirmeden içeriğin listelenmesinin mümkün olmadığı bir davranış gördüm . Muhtemelen bunun UAC ve / veya win10 + makineleri ile ilgisi var, ancak kesin değil.
Petr Abdulin

2

Önceden alternatif kimlik bilgileriyle kimlik doğrulaması yapmanız gerekmiyorsa, aşağıdakileri kullanabilmek için paylaşıma "göz atmanız" gerekir:

get-childitem \\server\share

2

Dizüstü bilgisayarımdaki paylaşılan bir klasöre yalnızca yazarak erişebiliyorum

cd \\MYLAPTOP\C$\Games

Bir klasör adında boşluk varsa, tırnak işaretleri kullanın:

cd "\\MYLAPTOP\C$\Games\Game Name"

Bu, uzaktaki bilgisayarın dosya sistemine erişmemi sağlıyor.

PS Microsoft.PowerShell.Core\FileSystem::\\MYLAPTOP\C$\Games>

cd, bu yolları destekleyen Set-Location(s. http://technet.microsoft.com/en-us/library/ee176962.aspx ) diğer adıdır .

Ancak, oradaki yolu açmaya çalışarak önce bu bilgisayarda explorer'da oturum açmam gerekiyordu. Sonra PS de çalıştı. Muhtemelen ilk önce PowerShell'de oturum açma kimlik bilgilerini eklemeniz gerekir.


1

sadece Massimo'nun cevabına, diğer PSDrives'teysem ağ konumlarını kullanamayacağımı ancak normal konumların iyi çalıştığını fark ettiğimin cevabını eklemek istiyorum .

Örneğin, eğer öyleysem Cert:\LocalMachine\>veya PS HKLM:\>yapamazsamcd \\server\share

eğer ben Set-Location C:ve o Set-Location \\servername\sharezaman iyi çalışır.

Ayrıca birçok komut için ağ konumuna geçmem gerekmediğini de buldum. Mesela Get-Content '\\127.0.0.1\C$\eula.1028.txt'C: \ fine den olabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.