我想在Microsoft的DNS服務器中創建一個別名記錄,將AliasA指向ComputerA。我如何以編程方式執行此操作?如何以編程方式添加DNS別名?
4
A
回答
2
我用WMI來做到這一點,在網上找到了一個例子,這就是它的樣子。
private ManagementScope _session = null;
public ManagementPath CreateCNameRecord(string DnsServerName, string ContainerName, string OwnerName, string PrimaryName)
{
_session = new ManagementScope("\\\\" + DnsServerName+ "\\root\\MicrosoftDNS", con);
_session.Connect();
ManagementClass zoneObj = new ManagementClass(_session, new ManagementPath("MicrosoftDNS_CNAMEType"), null);
ManagementBaseObject inParams = zoneObj.GetMethodParameters("CreateInstanceFromPropertyData");
inParams["DnsServerName"] = ((System.String)(DnsServerName));
inParams["ContainerName"] = ((System.String)(ContainerName));
inParams["OwnerName"] = ((System.String)(OwnerName));
inParams["PrimaryName"] = ((System.String)(PrimaryName));
ManagementBaseObject outParams = zoneObj.InvokeMethod("CreateInstanceFromPropertyData", inParams, null);
if ((outParams.Properties["RR"] != null))
{
return new ManagementPath(outParams["RR"].ToString());
}
return null;
}
0
我不認爲.NET有任何東西可以提供對這些的訪問(我可以在一些快速搜索中找到對專有庫,控件等的引用),因此您可能必須使用Win32 API通過P/Invoke(儘管另一種可能性是通過WMI來完成這項工作)。
你會先DnsAcquireContextHandle
開始,然後(可能)DnsQuery
得到一個當前記錄集,修改其內容並加入新的別名,DnsReplaceRecordSet
有DNS服務器使用新的記錄集,最後DnsReleaseContextHandle
關閉事情下降。
當然,您需要在服務器上擁有正確的權限,否則這些權限都不起作用。
相關問題
- 1. 如何以編程方式在引導後添加別名
- 2. 以編程方式向OS X中的Dock添加別名
- 3. WebsitePanel:以編程方式添加/刪除域別名
- 4. 如何以編程方式添加Slidingpanelyout?
- 5. 如何以編程方式添加ZedGraph?
- 6. 如何以編程方式添加UIImage?
- 7. 如何以編程方式添加DataTrigger
- 8. 如何以編程方式添加UIPanGestureRecognizer
- 9. 如何以編程方式添加UITabBarItem?
- 10. 如何以編程方式添加UIBarButtonItem?
- 11. 如何以編程方式添加ProgressBar?
- 12. 如何以編程方式將帖子添加到類別
- 13. 如何以編程方式添加styleDependent名稱?
- 14. 如何以編程方式向Magento添加類別和類別路徑?
- 15. 以任何方式在.NET中以編程方式添加HttpHandler?
- 16. 以編程方式在Linux上設置DNS名稱服務器
- 17. 如何刪除部分文件名並以編程方式添加擴展名?
- 18. 如何以編程方式刷新Windows Mobile中的DNS緩存?
- 19. 如何以編程方式獲取實例的公共dns?
- 20. 在asp.net中以編程方式添加「類別」標題
- 21. 以編程方式向Outlook 2010中添加多個類別
- 22. 嘗試以編程方式將SQL別名添加到註冊表中
- 23. 如何以編程方式添加按鈕以刪除WebView?
- 24. 如何以編程方式添加便攜式CDI Extension?
- 25. 如何以編程方式向Word文檔添加樣式
- 26. 我們如何以編程方式添加樣式?
- 27. 以編程方式添加DOJO CheckedMultiSelect
- 28. DataGridView並以編程方式添加列
- 29. 以編程方式添加時間戳
- 30. Log4j2 + Java:以編程方式添加asyncLogger