web-dev-qa-db-ja.com

ドライブ文字をマッピングせずにネットワーク共有にアクセスする(PowerShell)

リモートにアクセスしたいSMBネットワーク共有\\SHARE-Host\ドライブ文字をマッピングせずに。Windowsで、エクスプローラーに\\SHARE-Host\Share_folder\と入力して、手動でアクセスできます。プログラムでそれを行うには、Net Useコマンドを使用する必要があります。これには、文字を指定する必要があります。

25

PowerShellはUNCパスを完全にサポートしています。ディレクトリまたはファイル名が期待される場所ならどこでも使用できます。

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

ただし、実際にリモート共有に接続するには、適切なアクセス権が必要です。これは、ユーザーアカウントに必要な権限が既にあるか、リモートサーバー上のフォルダーやファイルにアクセスする前にリモートサーバーへのネットワーク接続を手動で確立する必要があることを意味します。

こちらもご覧ください: https://stackoverflow.com/questions/303045/connecting-to-a-network-folder-with-username-password-in-powershell

27
Massimo

事前に代替の資格情報で認証する必要がない限り、以下を使用して、共有を「参照」する必要があります。

get-childitem \\server\share
2
Ben Lavender

入力するだけで、ラップトップの共有フォルダにアクセスできます

cd \\MYLAPTOP\C$\Games

フォルダー名にスペースが含まれている場合は、引用符を使用します。

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

これにより、リモートコンピューターのファイルシステムにアクセスできます。

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

cdは、そのようなパスをサポートするSet-Location(s。 http://technet.Microsoft.com/en-us/library/ee176962.aspx )のエイリアスです。

ただし、エクスプローラーでそのコンピューターのパスを開こうとすることで、まずそのコンピューターにログオンする必要がありました。その後、PSでも動作しました。おそらく最初にPowerShellでログオン資格情報を追加する必要があります。

2
Ray

massimo's answer に追加したいだけです。他のPSDriveを使用している場合は、ネットワークの場所を使用できませんが、通常の場所は正常に機能します。

たとえば、私がCert:\LocalMachine\>またはPS HKLM:\> 私はできない cd \\server\share

もし私が Set-Location C: その後 Set-Location \\servername\share正常に動作します。

また、多くのコマンドでネットワークの場所に切り替える必要がないこともわかりました。たとえば、Get-Content '\\127.0.0.1\C$\eula.1028.txt' C:\から。

1
PsychoData