none
エラー:アクセス許可がないため構成ファイルを読み取ることができません RRS feed

  • 質問

  • お世話になっております。

    リモートで仮想ディレクトリのwebdavオーサリング規則の削除をしたいですがエラーが出ます。
    スクリプトはbatに書き、開きます。

    問題のコマンドとエラーは以下です。

    Invoke-Command $session -ScriptBlock {Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -Filter "/system.webServer/webdav/authoringRules" -Location "webdav/$($args[0])" -Name "." -AtElement @{users= 'user01';roles='';path='*'}} -ArgumentList $user

    エラー:アクセス許可がないため構成ファイルを読み取ることができません
    +CategoryInfo:NotSpecified:(:)[Remove-WebconfigurationProperty], UnauthorizedAccessExeption
    +
    FullyQualifiedErroId: System.UnauthorizedAccessExeption,Microsoft.IIs.PowerShell.Provider.RemoveConfigurationPropertyCommand

    以上になり、WebDAVオーサリング規則の削除ができません。

    リモートでこれを削除するにはどのようにすれば良いか、
    ご存じでしたらご教示ください。



    • 編集済み kawasa19 2020年11月5日 5:16
    2020年11月4日 8:52

回答

  • チャブーンです。

    UACですが、ログオンしているユーザー(デスクトップのユーザー)に依存するケースがあるため、まずビルトインAdministratorでログオンし、コマンドプロンプトから実行してください。最低でもbatファイル自体を「他のユーザーで実行」として、ビルトインAdministratorで試してください。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク kawasa19 2020年11月10日 1:05
    2020年11月5日 11:18

すべての返信

  • 追記:

    スクリプトを書いたbat で開き、上記エラー発生後、そのまま同コマンドを打ち込むとエラー発生せずにオーサリング規則が消えることを確認できました。

    しかしbatではエラー発生します。

    • 編集済み kawasa19 2020年11月5日 5:15
    2020年11月5日 1:36
  • チャブーンです。

    この件ですが、「ビルトインAdministrator」でbatを実行した場合、どうなるでしょうか?(非ドメイン環境の場合実行先サーバーのビルトインAdministratorのパスワードをあわせておく必要があります)

    これで実行ができるなら、リモートのUACが邪魔をしている可能性が高いので、以下を見て無効化してください。

    https://www.poweradmin.com/help/pa-server-monitor-8-1/howto_disable_remote_uac.aspx


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2020年11月5日 7:40
  • チャブーンさん

    ご回答ありがとうございます。

    >この件ですが、「ビルトインAdministrator」でbatを実行した場合、どうなるでしょうか?(非ドメイン環境の場合実行先サーバーのビルトインAdministratorのパスワードをあわせておく必要があります)

    スクリプトの内容を修正し、以下のように対応しました。

    #リモート接続
    $session = New-PSSession -ComputerName <接続先IP> -Credential <接続先IP>\administrator

    #仮想ディレクトリuserのオーサリング規則user01を削除する
    Invoke-Command $session -ScriptBlock {Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -Filter "/system.webServer/webdav/authoringRules" -Location "webdav/$($args[0])" -Name "." -AtElement @{users= 'user01';roles='';path='*'}} -ArgumentList $user

    こちらをbat試した結果、同エラーが発生し、削除に至りませんでした。

    リモート接続する側、ビルトインAdministrator
    リモート接続される側、
    ビルトインAdministrator
    での実行です。




    • 編集済み kawasa19 2020年11月5日 8:54
    2020年11月5日 8:52
  • チャブーンです。

    UACですが、ログオンしているユーザー(デスクトップのユーザー)に依存するケースがあるため、まずビルトインAdministratorでログオンし、コマンドプロンプトから実行してください。最低でもbatファイル自体を「他のユーザーで実行」として、ビルトインAdministratorで試してください。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク kawasa19 2020年11月10日 1:05
    2020年11月5日 11:18
  • チャブーンさん

    ご返信ありがとうございます。以下2点お聞きしたいことがございます。

    UACですが、ログオンしているユーザー(デスクトップのユーザー)に依存するケースがあるため、まずビルトインAdministratorでログオンし、コマンドプロンプトから実行してください。

    ①リモート接続する側PCにビルトインAdministratorでログオンで良いでしょうか?

    ②コマンドプロンプトから実行とは、batを実行ですか?作成したコマンドを実行ですか?

    現在、ご返信を参考に
    →リモート接続する側PCにリモート接続する側PCの
    ビルトインAdministratorでログオン
    →スクリプトを記載したbatを実行
    →bat内でリモート接続される側PC
    リモート接続される側PCのAdministratorでログオン
    →UAC無効化

    →bat内でオーサリング規則削除
    →エラー:
    アクセス許可がないため構成ファイルを読み取ることができません

    という流れになっております。

    どこか手順が間違っていますでしょうか?お手数ですがご回答よろしくお願いいたします。




    • 編集済み kawasa19 2020年11月9日 1:28
    2020年11月6日 1:04