2017-07-04 3 views
0

私は以下の問題を抱えています。リモートPSSessionsを使用して、NASのファイルをいくつかのクライアントにコピーするスクリプトを作成する必要があります。スクリプトはドメインコントローラ上で実行されています。ファイルをNASからクライアントに移動してサーバー上で実行するスクリプト

リモートセッションと「ファイルをコピー」の部分に問題があると思います。しかし、私は何を知りません。

#SRC=Source Data to copy 
$src1 = "\\NAS01\adm\sw\CAD\Dateien_fuer_SUPPORT_Verz\def_KOPA_Linie.lin" 
$src2 = "\\NAS01\adm\sw\CAD\Dateien_fuer_SUPPORT_VerzSchlinie2.shx" 
$src3 = "\\NAS01\adm\sw\CAD\Dateien_fuer_SUPPORT_Verz\Schlinie2.shp" 

#PowerShell Check for AD-Service 
Get-Service ad* 
Get-Module 

#Searching through AD for PC's called "WS" 
$pc = Get-ADComputer -Filter 'name -like "WS" ' 

#New Powershell-Remotesession with the $pc 
$session = New-PSSession -ComputerName $pc 

#Check if the Directory exists, if it exists, copy the files inside 
$Dir = "C:\Program Files\Autodesk\AutoCAD 2015\Support\" 
if (Test-Path $Dir) 
{ 
    Copy-Items -FromSession $session -Path $src1 + src2 + src3 -Destination "C:\Program Files\Autodesk\AutoCAD 2015\Support\" 
} 
else 
{ 
    echo "tohuwabohu" 
} 
+0

そのエラーメッセージを出力します: コピー項目

[-path] <string[]> 

を助ける参照してください[]我々は 例は、カンマ区切りの値を使うことができ告げますか?もしそうなら、それをあなたの質問に加えることができます。 –

+2

PowerShellにはコマンドレット 'Copy-Items'がありません。また、' -Path $ src1 + src2 + src3'は構文が間違っています。構文上正しい( '-Path($ src1 + $ src2 + $ src3)')としても、3つのファイルをすべてコピーしてください。その場所でファイルを見つけることができないため、エラーです。 '-Path $ src1 + src2 + src3'を' -Path $ src1、$ src2、$ src3'に変更して、やり直してください。それでも問題が解決しない場合は、どんなエラーでもあなたの質問を更新してください。 –

+0

それは申し訳ありませんが、私は現在、2週間ぐらい過ごしたので、私は見習いに入っていて、PowerShellを使っています。 –

答えて

0

これは名前だけのWSを搭載したコンピュータを取り戻すだろう。

$pc = Get-ADComputer -Filter 'name -like "WS" ' 

あなたが様 例でワイルドカードを使用する必要があります:あなたのcomputernamesは、 "WS-1234-ABC" であれば、WS -2345-afgt。 用途:

$pc = Get-ADComputer -Filter 'name -like "WS*"' 

あなたがcurrentllyあなたは、あなたが期待する出力を得るかどうかを確認するために、スクリプトの各行を実行する必要がありませんコンピュータ名

とのリモートセッションをオープンしようとしています。

コピーアイテム(no s)では、最初にリモートセッションを開く必要はありません。 パスのパラメータはカンマ区切りの値をとります。

Copy-Item -Path $src1,$src2,$crs3 -Destination "C:\Program Files\Autodesk\AutoCAD 2015\Support\" 
関連する問題