私の会社は現在、エイリアスまたはIP参照をコード内のFQDNに置き換える処理を行っています。 IPまたはコンピューター名を持つものはすべて、fileserver.example.com、databaseserver.example.comなどに置き換えられます。
このプロセスは、データベース接続、Webサービス参照、API参照で機能します。問題が発生しているのは、UNCパスを介したファイル共有アクセスです。この\\fileserver.example.com\path\to\files
のようなUNCパスを介してファイルにアクセスすることは機能しません一部の場合。
場合によってははここで重要な部分です。
次の場合、UNCパスに正常にアクセスできます
\\COMPUTER_NAME\path\to\files
)を使用するファイルにアクセスするプロセスを実行する場合。次の場合、UNCパスにアクセスできません
\\fileserver.example.com\path\to\files
)を使用します。次のエラーメッセージが表示されます。
Logon failure: unknown user name or bad password.
このエラーメッセージは、それがアクセスの問題であると信じるように導きますが、プロセスを実行しているサービスユーザーがパスのCOMPUTER_NAMEを使用してファイルにアクセスでき、FQDNと同じ場所を指しているため、そうではないと思います。
誰かがこの問題を経験していますか?
FQDNは、UNCパスを介してファイル共有にアクセスするために使用されることになっていますか?
Claytonsの投稿を読み、イベントビューアでセキュリティログを確認したところ、これは問題が、マシンがUNCパスで指定されたファイルにアクセスしようとしたときにのみ問題であることがわかりました。
これにより、Microsoft.comの次の記事に記載されているループバックチェックに進みました。 https://blogs.technet.Microsoft.com/sharepoint_foxhole/2010/06/21/disableloopbackcheck-lets-do-it-the-right-way/
使用した方法方法1:ホスト名を指定する(NTLM認証が必要な場合に推奨される方法)
レジストリでDisableStrictNameCheckingを無効化
入力済みfileserver.example.com
レジストリのBackConnectionHostNamesに
短い名前を使用すると、NTLM認証の使用にフォールバックします。ただし、FQDNでは、Kerberos認証を使用する必要があります。この問題はKerberosが機能するためのもので、欠落しているDNS名とSPN(サービスプリンシパル名)が必要です。次の2つのオプションがあります。
オプション1:サーバーに次のレジストリキーを作成して、エイリアスを保持し、Windowsの「厳密な名前チェック」機能を無効にします。また、再起動する必要があります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
DWORD name: DisableStrictNameChecking
DWORD value: 1
オプション2:エイリアスを削除し、Windowsを介して「代替」名を作成します。これにより、Kerberosサービスプリンシパル名も作成され、altername名がKerberos認証に有効になります。
NETDOM NEWNAME /ADD
NEWNAMEを、以前に作成したエイリアスのFQDNに置き換えます。これは、がエイリアスにサービスを提供する実際のサーバーから実行する必要があります。