2015-09-22 96 views
1

我有一個WIX文件(* .wxs),我們使用%USERDOMAIN環境變量來檢索登錄用戶的域。例如,它爲以DOMAINA \ user1登錄的用戶提供DOMAINA。 此提取的域名然後用於爲用於ACL Web資源的其他安全組添加前綴。如何在運行時獲取服務器域名?

直到現在它仍然正常工作。但是現在,由於安全限制,登錄用戶不是來自服務器和應用程序運行的相同域。用戶從管理域登錄,如DOMAINM。現在,%USERDOMAIN不起作用,因爲資源是使用不正確的SG進行ACL的,例如DOMAINM \ SG1等不存在的資源。

我有什麼方法可以檢索服務器的域,以便它可以在WIX​​文件中用於生成部署MSI?

感謝您的幫助!

回答

1

有提供此註冊表值:

<Property Id="TCPIPDOMAIN" Secure="yes"> 
    <RegistrySearch Id="tcpipDomain" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" Name="Domain" Win64="no" Type="raw"/> 
</Property> 

還有另一個其中%USERDOMAIN和%USERDNSDOMAIN不工作很重要的場景。通過以SYSTEM身份運行的工具(如SCCM)推出MSI。 SYSTEM配置文件不會初始化這些環境變量。這就是我使用註冊表搜索技術的原因。

+0

謝謝......感謝您的回覆。現在,我只需從這個字符串中提取簡短的域名。 – RajKinect

+0

我希望我能理解你在做什麼。我可能會提供更好的幫助。 –

+0

我們使用WIX工具來構建MSI。在用於構建MSI的.wxs文件中,它會檢查%USERDOMAIN,然後使用它來構建完整的安全組以將資源ACL ACL。與生產的PRODUCTION \ SG1和集成環境的INTEGRATION \ SG1一樣。 %USERDOMAIN是基於環境/域獲取的運行時。如果正在部署的用戶具有與服務組相同的域中的帳戶,則工作正常。但在我們的例子中,用戶帳戶更改爲MGMT域,但應用程序安全組仍保留在PRODUCTION和INTEGRATION域中。因此不能取決於%USERDOMAIN。 – RajKinect

相關問題