none
DCOMのResolveOxid2メソッドの戻り値「5」について RRS feed

  • 質問

  • DCOMのResolveOxid2メソッドの戻り値「5」について教えて頂きたいです。
    これはどういったエラー内容を示しているのでしょうか?

    WshControllerオブジェクトを利用して、リモートでスクリプトを実行しています。

    1 Dim objController
    2 Set objController = WScript.CreateObject("WshController")
    3 Set objRemote = objController.CreateScript("共有フォルダ上のスクリプトファイル(UNC)", "サーバー")

    Windows7からこれを実行した場合、特に問題はありません。なのでリモートでスクリプトを実行する設定はできているみたいです。
    Windows 10 バージョン1709(Fall Creators Update)でこれを実行すると、3行目で以下のエラーが起きます。

    Description:書き込みできません。
    Number:70
    Source:Microsoft VBScript 実行時エラー

    Microsoft Message Analyzerを使用して、どんなエラーが起きているのかを確認したところ
    以下の4行目で戻り値が「5」になっていることがわかりました。

    (一部抜粋)
    1 Module:MSRPCE Summary:RpcconnBindHdrT, NTLM, IObjectExporter (DCOM), UUID: {99fcfec4-5260-101b-bbcb-00aa0021347a}, Call: 0x00000003, AssocGrp: 0x00001E0E, Xmit: 0x16D0, Recv: 0x16D0
    2 Module:MSRPCE Summary:RpcconnBindAckHdrT, NTLM, IObjectExporter (DCOM), UUID: {99fcfec4-5260-101b-bbcb-00aa0021347a}, Call: 0x00000003, AssocGrp: 0x00001E0E, Xmit: 0x16D0, Recv: 0x16D0
    3 Module:MSRPCE Summary:RpcconnRpcAuth3HdrT, NTLM v1 with extended session security, User: , IObjectExporter (DCOM), UUID: {99fcfec4-5260-101b-bbcb-00aa0021347a}, Call: 0x00000003
    4 Module:DCOM   Summary:ResolveOxid2, pOxid: 13745006684895730314, pipidRemUnknown: 00000000-0000-0000-0000-000000000000, pAuthnHint: RpcCAuthnLevelDefault, pComVersion: 0.0, ReturnValue: 5

    4行目について、クライアントからサーバーへのリクエストに対するレスポンスは下記の通りです。

    _ResolveOxid2Request{hRpc=nothing,pOxid=13745006684895730314,cRequestedProtseqs=1,arRequestedProtseqs=[7]}
    _ResolveOxid2Response{ppdsaOxidBindings=,pipidRemUnknown=00000000-0000-0000-0000-000000000000,pAuthnHint=0,pComVersion=0.0,ReturnValue=5}

    この戻り値「5」は何を示しているのでしょうか?

    2018年7月2日 6:42

回答


  • DCOMのResolveOxid2の詳細はまだわかっていません。
    ですが本件の場合、Windows10 バージョン1709と1803では以下の設定が有効であることがわかりました。

    ・ローカルセキュリティポリシーの"DCOM: セキュリティ記述子定義言語 (SDDL) 構文でのコンピューター アクセス制限"の"ANNONYMOUS_LOGON"のリモートアクセスをON

    注意しなければならないのが、バージョン1709の場合のみ、この設定を実施するとレジストリHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DCOMのMachineAccessRestrinctionの文字列値の末尾に"S:"が追記される点です。
    これは1607や1803では追記されない文字列です。これを削除したところ、エラーを解消することができました。
    これが1709のバグなのかどうかはわかりません。

    自己解決となりましたがご報告させて頂きます。

    • 回答としてマーク FJKura 2018年8月27日 4:39
    2018年8月27日 4:38