簡體   English   中英

將Powershell查詢轉換為vb.net查詢

[英]Translate powershell query to vb.net query

在Powershell中,這四行的vb.net等效項是什么。 這與我有關在網頁上生成下拉列表的其他問題有關。 從Powershell的角度來看,我知道此查詢會生成一個列表。 謝謝。

$dom = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$domnames = $dom.Domains
$fqdns = $domnames | Select -exp Name
$fqdns = $fqdns 

下面的示例在C# 希望您可以輕松地將其轉換為VB.NET

添加對System.DirectoryServices程序集的引用,然后使用以下代碼示例

using System.DirectoryServices.ActiveDirectory;

    class Program
    {
        static void Main(string[] args)
        {
            Forest fc = Forest.GetCurrentForest();
            DomainCollection dc = fc.Domains;
            foreach (var item in dc)
            {
                Console.WriteLine(item.ToString());
            }
        }
    }

您可以使用LINQ在一行中完成此操作:

Dim fqdns As String() = System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains.[Select](Function(x) x.Name).ToArray()

這會給名為fqdns的字符串數組分配一個值。

也許這可以使您的代碼正常工作:

 Dim Domains As DomainCollection = Forest.GetCurrentForest.Domains

            For Each obj In Domains
                 ComboBox1.Items.Add(obj.Name)
            Next obj

這有助於在default.aspx頁中填充dropdownbox1

   Public Function EnumerateDomains() As ArrayList
    Dim alDomains As New ArrayList()
    Dim currentForrest As Forest = Forest.GetCurrentForest()
    Dim myDomains As DomainCollection = currentForrest.Domains
    For Each objDomain As Domain In myDomains
        alDomains.Add(objDomain.Name)
    Next
    Return alDomains
   End Function

   Public Function EnumerateDomains() As ArrayList
    Dim alDomains As New ArrayList()
    Dim currentForrest As Forest = Forest.GetCurrentForest()
    Dim myDomains As DomainCollection = currentForrest.Domains
    For Each objDomain As Domain In myDomains
        alDomains.Add(objDomain.Name)
    Next
    Return alDomains
   End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM