66

Powershellの共有ネットワークフォルダーにアクセスしてファイルなどを取得することがよくあります。ただし、共有にユーザー名/パスワードが必要な場合、Windowsエクスプローラーとは異なり、Powershellはこれらの入力を求めません。Windowsエクスプローラーで最初にフォルダーに接続すると、Powershellで接続できるようになります。

Powershellで自分自身を認証するにはどうすればよいですか?

4

3 に答える 3

73

一見New-PSDriveすると、資格情報を提供することを実際に使用したいと考えています。

> New-PSDrive -Name P -PSProvider FileSystem -Root \\server\share -Credential domain\user

失敗!

New-PSDrive : コマンドレットの動的パラメーターを取得できません。'FileSystem' プロバイダーの NewDrive の動的パラメーターを取得できません。プロバイダーは資格情報の使用をサポートしていません。資格情報を指定せずに操作を再実行してください。

ドキュメントには、オブジェクトを提供できると記載されていますPSCredentialが、よく見ると、コマンドレットはまだこれをサポートしていません。多分次のバージョンで私は推測します。

したがって、関数を呼び出して、net useまたはオブジェクトを使用できます。WScript.NetworkMapNetworkDrive

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

PowerShell 3.0 の New-PSDrive の編集

どうやら PowerShell の新しいバージョンでは、New-PSDriveコマンドレットはネットワーク共有を資格情報にマップするように機能します!

New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist
于 2008-11-20T15:59:52.050 に答える
53

これはPowerShell固有の回答ではありませんが、最初に「NETUSE」を使用して共有に対して認証できます。

net use \\server\share /user:<domain\username> <password>

そして、PowerShellで必要なことは何でもします...

于 2008-11-19T20:23:44.093 に答える
8

PowerShell 3 は、すぐに使用できるようになりました。

PowerShell 2 に行き詰まっている場合は、基本的にレガシーnet useコマンドを使用する必要があります (前述のように)。

于 2012-09-25T16:01:59.977 に答える