質問

PowerShellを介して毎日のタスクの多くを自動化したいと思います。私たちが持っているプロセスの1つは、営業時間後にデスクトップをイメージングすることです。この操作が完了すると、イメージファイルをサーバーのハードドライブからネットワークドライブに移動する必要があります。 PowerShellスクリプトを呼び出してすべてをノックアウトするマシンでサービスとして実行するアプリを作成しています。

スクリプト用にサーバー上にディレクトリを設定しました。サーバーからスクリプトfilecopy.ps1を呼び出す場合は正常に動作します。

copy-item C:\scripts\myFile1.txt -destination C:\scripts\myFile2.txt

ただし、.NETアプリでは、ローカルマシンからスクリプトを呼び出します。

RunScript(LoadScript(@"\\Server\ServerShare\FileCopy.ps1")); 

うまくいきません。これは、C:スクリプトがローカルマシン上にあると見ているからです。だから、私はそれを変更します:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt

うまくいきません。スクリプトに別の行を追加します:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
get-childitem \\Server\ServerShare | format-table name

それでもファイルをコピーしませんが、 します サーバー上のスクリプトディレクトリの内容を返します。

そこで、私はサーバーに戻り、UNCパスを所定の位置に置いてスクリプトを実行します-PowerShellがエラーを返します

Copy-Item : Access to the path '\\Server\ServerPath\myFile2.txt' is denied.

それが問題の根源のようです。どうすればこれを回避できるのですか?私は管理者としてサーバーにログインしています。

役に立ちましたか?

解決

管理者としてスクリプトを実行すると、ネットワーク共有IIRCでは重要ではありません。デフォルトの共有許可により、読み取りのみが可能になります。これらのパーマを更新して、シェアに書き込むことを許可する必要があります。

使用している場合は参照 net share Windows7で株式を作成するには、 /grant:<users>,CHANGE これらの許可をユーザーに付与します。

他のヒント

私はサーバー2003 R2を使用しています。管理者は[セキュリティ]タブの下で完全にアクセスできましたが、[共有]タブに行きました。権限を作成し、誰もがアクセスを読み取るように設定されていました。私は管理者と自分自身を完全なコントロールとして追加しました、今人生は良いです!!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top