2011-12-02 9 views
14

これはちょっと狂っています。私はPowerShellを使い始めています。もちろん、リモートで管理作業を行う必要があります。リモートPowerShell 2.0がUNCパスにアクセスするのを防ぐセキュリティ設定

シンプル

dir \\server\share\folder 

うまく動作することを拒否し、私はそれは、アクセス権の問題でかなり明白である私には、このエラー

Get-ChildItem : Cannot find path '\\server\share\folder' because it does not exist. 
    + CategoryInfo   : ObjectNotFound: (\\server\share\folder:String) [Get-ChildItem], ItemNotFoundException 
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand 

を取得します。そして、私たちはここに会社のドメインを持っています。 VNC上で全く同じユーザーアカウントを使用してサーバーにログインしていますが、UNCパスが表示されます。しかし、リモート接続を使用してデスクトップからファイルをコピーしようとするたびに。それだけで動作しません!!!!

私は他の多くのことをすることができますので、私は結びついています。

+0

dosシェルコマンド 'dir \\ server \ share \ folder'にエラーがありませんか? –

+0

それは正しいです。多分私は "dir \\ MyServer \ MyShare \ MyFolder"と書くべきです。私はCredSSPをセットアップする必要があることを知りました。私はやりましたが、引き続きEnable-WSManCredSSPのタイムアウトがあります。このコマンドは、設定を有効にできないため実行できません。これは、ネットワーク接続が存在しない場合に発生します。 –

+0

これまで、gpedit.mscを使用して、両方のコンピュータに新しい資格情報を割り当てることができました。新しい証明書ポリシーを設定し、 'enable-wsmancredssp -role client -delegatecomputer computer1.domain.com'コマンドと' enable-wsmancredssp -role server'コマンドを使用します。ステータスについては、「Get-WSManCredSSP」を実行して を取得します**マシンは、以下のターゲットに新しい資格を委任できるように構成されています:wsman/computer1.domain.com、wsm /*。domain.com。このコンピュータは、リモートクライアントコンピュータから資格情報を受け取るように構成されています。**他には何も見つかりませんが、まだ動作していません! –

答えて

15

これを機能させるには、ローカルコンピュータとリモートコンピュータの両方を構成する必要があります。リモートサーバで

、次のコマンドを実行します。あなたはGet-WSManCredSSPコマンドレットを実行すると、以下のような出力を得る場合は、物事を正しくconfguredされている知っているよ

Enable-WSManCredSSP -Role server 

を:

The machine is not configured to allow delegating fresh credentials. This computer is configured to receive credentials from a remote client computer.

ローカルコンピュータで、管理用PowerShellプロンプトから、PowerShellで資格情報の委任を許可する必要があります。次のコマンドを実行します。

Enable-WSManCredSSP -Role Client -DelegateComputer <REMOTE_COMPUTER_NAME> 

あなたはREMOTE_COMPUTER_NAMEのための*を使用して、すべてのサーバーを有効にすることができます。

The machine is configured to allow delegating fresh credentials to the following target(s): wsman/REMOTE_SERVER_NAME
This computer is not configured to receive credentials from a remote client computer.

ローカルマシンでは、グループポリシーがユーザーの資格情報をに委任することができるように更新します。あなたが取得-WSManCredSSPを実行すると、以下の出力を得るときあなたがこのことを知っているよ

が正しく設定されていますリモートサーバー。

  1. gpedit.mscを開き、[コンピュータの構成]> [管理用テンプレート]> [システム]> [資格情報の委任]を参照します。
  2. [NTLMのみのサーバー認証で新しい資格情報を委任する]をダブルクリックします。
  3. 設定を有効にして、ビルドサーバーをWSMAN/BuildServerNameとしてサーバーリストに追加します。 (あなたがWSMAN/*を入力して、すべてのサーバーを有効にすることができます。)

を次に、あなたがリモートサーバー上でコマンドを実行する必要がある場合、あなたはのCredSSPができるので、* -PSSessionはコマンドのいずれかを使用することはできませんキャッシュされた資格情報を使用しません。あなたはInvoke-Commandを使用してセッションを開始し、認証パラメータに値としてのCredSSPを使用し、そのようにする必要があります。

Invoke-Command -ScriptBlock { # remote commands here } ` 
       -ComputerName <REMOTE_COMPUTER_NAME> ` 
       -Authentication CredSSP ` 
       -Credential <USERNAME> 
+1

偉大な答えと多くの良い情報ありがとう!残念ながら、私はまだ問題があります。私はグループポリシーを変更しましたが、昇格したPSウィンドウで次のように実行した場合、「Enable-WSManCredSSP -role Client -DelegateComputer d-vasbiz01 -force」というエラーが表示されます。「Enable-WSManCredSSP:このコマンド設定を有効にできないため実行できません "というアイデアはありますか? –

+0

私はそれを見つけました!グループポリシーエディタ内に問題がありました。委任先のサーバ名に "wsman /"という接頭辞を付ける必要がありました。これは答えに記載されているとおりですが、私はそれを逃した!答えに感謝します。 –

+0

「グループポリシー」を実行するだけで、「クライアント」を有効にして、正しいコンピュータで「サーバー」の役割を有効にする必要はありませんでした。 – rob

0

PowerShellは、リモートスクリプトを実行するには、Internet Explorerのセキュリティ設定を使用しています。

リモートマシンのuncパスを信頼できるintrAnetサイトに追加すると、リモートスクリプトを実行しようとしているマシンであれば、スクリプトを実行できます(私の実行ポリシーをposh remotesignedに設定されています.... "set-executionpolicy remotesigned")。

SQLの有無にかかわらず、複数のサーバーで1トンの管理を行いますが、Enable-WSManCredSSPでは何もしませんでした。

関連する問題