web-dev-qa-db-fra.com

Accéder au partage réseau sans mapper la lettre de lecteur (PowerShell)

Je souhaite accéder à un partage réseau distant SMB _ \\SHARE-Host\ sans mapper une lettre de lecteur. Je peux le faire manuellement dans Windows en tapant \\SHARE-Host\Share_folder\ dans l'Explorateur. Si je veux le faire par programme, je dois utiliser le Net Use commande. Cela m'oblige à spécifier une lettre.

25
ServerAdminGuy45

PowerShell prend entièrement en charge les chemins UNC; vous pouvez les utiliser partout où un répertoire ou un nom de fichier serait attendu:

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

Cependant, vous devez disposer des droits d'accès appropriés pour vous connecter réellement au partage distant; cela signifie que votre compte d'utilisateur doit déjà disposer des autorisations requises ou que vous devez établir manuellement une connexion réseau au serveur distant avant d'accéder aux dossiers et fichiers qu'il contient.

Voir aussi ici: https://stackoverflow.com/questions/303045/connecting-to-a-network-folder-with-username-password-in-powershell .

27
Massimo

Vous devez "parcourir" le partage, sauf si vous devez vous authentifier au préalable avec des informations d'identification alternatives, vous pouvez utiliser ce qui suit:

get-childitem \\server\share
2
Ben Lavender

Je peux accéder à un dossier partagé sur mon ordinateur portable en tapant simplement

cd \\MYLAPTOP\C$\Games

Utilisez des guillemets si un nom de dossier contient des espaces:

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

Cela me donne accès au système de fichiers de l'ordinateur distant.

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

cd est un alias de Set-Location (s. http://technet.Microsoft.com/en-us/library/ee176962.aspx ) qui prend en charge ces chemins.

Cependant, j'ai d'abord dû me connecter à cet ordinateur dans l'Explorateur en essayant d'y ouvrir le chemin. Ensuite, cela a également fonctionné sur PS. Vous devez probablement ajouter d'abord les informations d'identification de connexion dans PowerShell.

2
Ray

je veux juste ajouter à la réponse de massimo que j'ai également remarqué que si j'étais dans d'autres PSDrives, je ne pourrais pas utiliser les emplacements réseau mais les emplacements réguliers fonctionnent bien.

Par exemple, si je suis en Cert:\LocalMachine\> ou PS HKLM:\> Je ne peux pas cd \\server\share

si je Set-Location C: et alors Set-Location \\servername\share ça fonctionne bien.

J'ai également constaté que je n'avais pas besoin de basculer vers l'emplacement réseau pour de nombreuses commandes. Par exemple, je pourrais Get-Content '\\127.0.0.1\C$\eula.1028.txt' de C:\fine.

1
PsychoData