2017-11-15 26 views
-1

以下のスクリプトを使用してネットワーク共有からローカルドライブにファイルをコピーしていました。しかし、パスにアクセスすることができず、パスが見つかりませんでした。私の使用例は、Jenkinsサーバーからこのスクリプトを実行し、server1にリモートを実行し、server1に既にマウントされている共有ディレクトリ(\ server2 \ QlikView)からS:\ドライブのコピーファイルを取得する必要があります。私はpowershellからこの共有パスにアクセスすることができました。私はserver1からコマンドを実行すると、Invoke-Commandスクリプトブロックの中には表示されていません。これについての考えは?Invoke-command内でネットワーク共有ドライブにアクセスする方法

$server = "server1" 
$source_dir = "\\server2\QlikView" 
$processing_dir = "M:\script_test\processing" 
$processed_dir = "" 
$user = 'Domain\user1' 
$Password = '******' 
$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force 
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $User, $SecurePassword 

Invoke-Command -ComputerName $server -Credential $cred -ScriptBlock { 
    param ($server,$source_dir,$processing_dir) 
echo "$source_dir" 
Test-path $source_dir 
copy-item -Path $source_dir\* -Destination M:\script_test 
    } -ArgumentList $server,$source_dir,$processing_dir 
+0

マップされたネットワークドライブ(特にM)が同じ方法(たとえばroot _UNC path_)でマップされていると思われるのはなぜですか?リモートコンピュータ? – JosefZ

答えて

0

デフォルトでは、PowerShellリモート処理では、資格情報の委任または「第2ホップ」は許可されません。リモートセッションからリモートマシン(この場合はネットワーク共有)に接続する場合は、そのマシンに資格情報を委任できるようにする必要があります。それを許可するには、CredSSPを設定する必要があります。問題の詳細と設定方法については、ここをクリックしてください。https://blogs.technet.microsoft.com/heyscriptingguy/2012/11/14/enable-powershell-second-hop-functionality-with-credssp/

+0

お返事ありがとうございます。 Net Use/user:$ user // server1/dir1 $ Passwordを使用してこの問題を解決しました。 – workholic

関連する問題