2016-10-03 120 views
1

我試圖將所有Windows 10連接設置爲metered以阻止自動更新。這就需要編輯值HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost下,但木偶代理(運行的LocalSystem)不能修改這些值拋出類似的錯誤:使用Puppet更改TrustedInstaller擁有的註冊表項的權限

Error:/Stage[main]/Main/Node[default]/Registry_value[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\Default]: Could not evaluate: Unexpected exception from Win32 API. detail: (Access denied.). ERROR CODE: 5. Puppet Error ID: F46C6AE2-C711-48F9-86D6-5D50E1988E48 

因爲密鑰是由TrustedInstaller擁有。

是否可以用自動方式修改這些值?

更新。site.pp有問題的部分:

node default { 
    registry_value { 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\3G': 
    ensure => present, 
    type => dword, 
    data => "2", 
    } 
    registry_value { 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\4G': 
    ensure => present, 
    type => dword, 
    data => "2", 
    } 
    registry_value { 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\Default': 
    ensure => present, 
    type => dword, 
    data => "2", 
    } 
    registry_value { 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\Ethernet': 
    ensure => present, 
    type => dword, 
    data => "2", 
    } 
    registry_value { 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost\WiFi': 
    ensure => present, 
    type => dword, 
    data => "2", 
    } 
} 
+0

你能否提供清單作爲你問題的一部分?謝謝! – ferventcoder

+1

@ferventcoder完成。 –

回答

2

這似乎是一個權限問題,其中LocalSystem只是沒有憑據來更改這些註冊表值。你能做下列之一:

  • 本地系統添加到右側組(使用組資源),因此它將具有適當的權限,這樣就可以調整這些鍵(快速搜索不看像這樣的一組帳戶,而專戶)
  • 使用exec來製作
  • 可能授予被翻譯到的TrustedInstaller特權(快速搜索並沒有改變
  • 之前給 LocalSystem給這些鍵的寫訪問把它作爲可能性)

它看起來像你需要像cacl.exe調用設置權限,覆蓋作爲所有者TrustedInstaller和授予LocalSystem所有權,然後在那裏的權限。請先研究以瞭解在做出改變之前的這種影響,以及在做出改變後如何改變設置,如果想要改變它。

備註:ACL模塊尚未處理註冊表的權限,但它可能在將來。

+0

我將使用SubInACL(https://www.microsoft.com/zh-CN/download/details.aspx?id=23510)運行一些測試,如http://www.askvg.com/windows-tip -take-ownership-permission-of-registry-keys-from-command-line /另一種方式可以是純PS如此處所示https://blogs.technet.microsoft.com/brad_rutkowski/2008/09/29/set- ACL-上的註冊表鍵/ –