トップ回答者
SetDynamicDNSRegistrationの実行結果がReturn Value 91(アクセス拒否)になってしまいます

質問
-
【環境】
Windows 7 x86
【試行内容】
「この接続のアドレスをDNSに登録する」のチェックをONにするためにPowerShellで以下のコマンドを実行。
$NIC=Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "ipenabled='true'"
$NIC.SetDynamicDNSRegistration($True)
【結果】
administratorで実行した場合はReturn Value 0
administrator以外で実行した場合はReturn Value 91(アクセス拒否)
<実行結果詳細>
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 91
PSComputerName :
administrator以外のユーザーでアクセス拒否を回避するにはどのような方法がございますでしょうか?
よろしくお願いいたします。
回答
-
チャブーンです。
この件ですが、以下のスレッドの続編と理解しています。
SetDynamicDNSRegistrationの実行にはAdministrators権限が必要です。したがって一般ユーザ権限の「ログオンスクリプト」で実行しようとするのは不可能です。
コンピュータに適用する前提でスタートアップスクリプトを組むのが適切かと思います。特定のコンピュータにのみスクリプトを動作させたい、という場合WMIフィルターを検討してください。
追記:もしAdminsitrator以外の「管理者アカウント」で実行している場合は、UACの影響によるものです。PowerShellを「管理者として実行」すれば当座の問題は解決しますが、システムとして展開する場合、結局はコンピュータへのスタートアップスクリプトになる点は変わらないでしょう。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
すべての返信
-
チャブーンです。
この件ですが、以下のスレッドの続編と理解しています。
SetDynamicDNSRegistrationの実行にはAdministrators権限が必要です。したがって一般ユーザ権限の「ログオンスクリプト」で実行しようとするのは不可能です。
コンピュータに適用する前提でスタートアップスクリプトを組むのが適切かと思います。特定のコンピュータにのみスクリプトを動作させたい、という場合WMIフィルターを検討してください。
追記:もしAdminsitrator以外の「管理者アカウント」で実行している場合は、UACの影響によるものです。PowerShellを「管理者として実行」すれば当座の問題は解決しますが、システムとして展開する場合、結局はコンピュータへのスタートアップスクリプトになる点は変わらないでしょう。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。