無論Windows 7 還是Windows 8.1,在進行本地組策略設(shè)置時都不會出現(xiàn)的問題。但筆者在Windows 10中進行完全相同的操作時,卻遇到了以下出錯信息,即提示“命名空間已定義”:
Namespace ‘Microsoft.Policies.Sensors.WindowsLocationProvider’is already defined as the target namespace for another file in the store.
File C:WINDOWSPolicyDefinitionsMicrosoft-Windows-Geolocation -WLPAdm.admx,line 5,column 110
而且,這樣的錯誤絕非偶然。筆者在Windows 10中試圖打開基于活動目錄 AD(Active Directory)組策略對象GPO(Group Policy Object)時,也遇到了“命名空間已定義”錯誤提示,只不過此時的域名為
Namespace ‘Microsoft.Policies.Sensors.WindowsLocationProvider’is already defined as the target namespace for another file in the store.
File\
對于上述提示信息,我們只要點擊“OK”將其忽略,便能完成組策略設(shè)置,并不會造成任何影響。但是,這樣的錯誤提示為何發(fā)生,如何徹底解決呢?
經(jīng)過仔細查找筆者發(fā)現(xiàn),Windows 10之所以反復(fù)出現(xiàn)上述錯誤提示,是因為文件“LocationProviderADM.admx”被重命名為“Microsoft-Windows- Geolocation-WLPAdm.admx”,而文件“LocationProviderADM.adml”被重命名為“Microsoft-Windows-Geolocation-WLPAdm.adml”所致!這些文件具體路徑分別為“C:WindowsPolicyDefinitions”以 及“C:WindowsPolicyDefinitionsen-US”,這就意味著原有的文件在本機上依然存在,但它們均指向相同的組策略命名空間,于是發(fā)生了沖突。
圖1 選擇“Administrators”以及“Full Control”
為解決沖突問題,筆者決定刪除兩個舊文件,即“LocationProviderADM.admx” 與“LocationProviderADM.adml”;然后將兩個新文件即“Microsoft- Windows-Geolocation-WLPAdm.admx” 與“Microsoft-Windows Geolocation-WLPAdm.adml”分別重命名為“LocationProviderADM.admx”與“LocationProvider ADM.adml”。
但是,刪除和重命名不僅僅涉及到權(quán)限,即便是管理員,也需要進行更細致的操作技巧。具體而言,首先對第一個文件點擊右鍵,選擇“屬性→高級”,點擊文件所屬旁的“更改”按鈕后點擊“OK”,然后才能對該文件的NTFS權(quán)限進行更改。返回到“安全性”欄目后點擊“編輯”,依次選擇“Administrators”以 及“Full Control”,然后點擊“OK”以及確認按鈕“Yes”,并對上述4個文件逐一執(zhí)行上述操作(如圖1)。
至此,我們就可以刪除文件“LocationProviderADM.admx” 以 及“Location ProviderADM. adml”,當(dāng) 然此時會提示管理員權(quán)限,只要點擊“繼續(xù)”即可。最后再將文件“Microsoft-Windows-Geolocation-WLPAdm.admx”和“Microsoft-WindowsGeolocation-WLPAdm.adml”分別命名為“LocationProviderADM.a d m x ” 與“LocationProviderADM.adml”。
經(jīng)過這樣的操作,Windows 10中的“命名空間已定義”之“癥狀”得以根治。