繁体   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