2011-07-06 106 views
3

我試圖從一個完全合格的域名獲得NetBios名稱...從FQDN獲取域名?

用戶輸入的FQDN和我轉換爲NetBios名稱爲

如xyz.test.com(這只是一個例如,FQDN是什麼)

它的NetBios(我不知道它是否被稱爲NetBios請隨時糾正我)name'xyz'。

有沒有辦法做到這一點.. ??

感謝

理解的一部分?

我有點用的術語混淆...

,我們有不同的FQDN客戶喜歡xyz.test.comint.hdsh.local等..

我需要得到域名出來的這些,所以我可以形成域\用戶名

所以上面的例子看起來像某某\ usernam ehdsh \ username ..

正如我們可以看到第二個FQDN的第二部分爲域。

所以我需要幫助是搞清楚哪些是FQDN內的域。

回答

3

你想要NetBIOS名稱還是FQDN的主機名部分?

如果它只是主機名,你可以做

hostname=fqdn.Split('.')[0] 

--edit

你希望得到的域名爲當前計算機,因爲你可以只使用

System.Environment.GetEnvironmentVariable("USERDOMAIN") 

當然,只有當您正在運行非域用戶(例如服務)時才能以登錄用戶身份運行,您可以使用這些用戶:

System.DirectoryServices.ActiveDirectory.Domain.GetComputerDomain().Name 

您需要從GAC中引用DirectoryServices.dll。這將返回AD域(它是一個FQDN),因此您將不得不使用@語法而不是\

例如。如果它作爲home.lan出現,您可以使用[email protected]

+0

請你能看看理解部分..謝謝 – user175084

+0

所以這不會工作它的領域是第二部分。 – user175084

0

FQDN是使用DNS而不是NetBIOS查找的計算機的域名。如果您使用現代版本的Windows,我認爲您可以使用其他形式:username @ FQDN來形成完整的用戶名。