マイナーでもいいよね??

殆どVB系、でも .NET じゃない VB は知らないよん

目次

Blog 利用状況

書庫

日記カテゴリ

ドメインユーザのプロパティの確認

ドメインユーザは非常に多くのプロパティ(属性)を持ってます。

Active Directory 内のオブジェクトの検索指定の最後にちょっと書きましたが、ドメインコントローラが Windows server 2008 だと管理ツール「Active Directory ユーザとコンピュータ」から確認することができます。

User05

この図はユーザのプロパティで「属性エディタ」タブを開いたとこです。スクロールバーの小ささからしてその多さが判ると思います。

右下にフィルタボタンがあるので、設定されてるものだけに絞ることもできます。

色んなタブの項目を設定して、属性エディタで値を確認することで、どの属性がどの項目に対応してるのか確認できます。

プログラムからだと DirectoryEntry.Properties でプロパティ(属性)名を指定してそのプロパティを取得します。 ですが、これで取得できるプロパティは設定されてる項目の一部だけです。

ひとまずこのプロパティに保持されてる属性名とその値をテキストファイルに出力するサンプルです。(Windowsアプリ用)

VB

Private Sub OutputProperties(entry As DirectoryEntry)

  Dim folderName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

  Dim fileName = String.Format("{0}Properties.txt", entry.Properties.Item("cn").Value)

  Dim props = entry.Properties.PropertyNames.Cast(Of String)().OrderBy(Function(s) s).ToList()

 

  Using writer As New StreamWriter(Path.Combine(folderName, fileName), False, Encoding.UTF8)

    For Each pname In props

      Dim val = entry.Properties.Item(pname).Value

      If TypeOf val Is Byte() Then

        Dim bstr = BitConverter.ToString(DirectCast(val, Byte()))

        writer.WriteLine("{0}:{1}", pname, bstr)

      Else

        For Each pval In entry.Properties.Item(pname)

          writer.WriteLine("{0}:{1}", pname, pval)

        Next

      End If

    Next

  End Using

  MessageBox.Show(Me, String.Format("{0} に '{1}' を作成しました。", folderName, fileName), "プロパティ出力")

End Sub

 

C#

private void OutputProperties(DirectoryEntry entry)

{

  var folderName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

  var fileName = String.Format("{0}Properties.txt", entry.Properties["cn"].Value);

  var props = entry.Properties.PropertyNames.Cast<string>().OrderBy(s => s).ToList();

 

  using (var writer = new StreamWriter(System.IO.Path.Combine(folderName, fileName), false, Encoding.UTF8))

  {

    foreach (var pname in props)

    {

      var val = entry.Properties[pname].Value;

      if (val is byte[])

      {

        var bstr = BitConverter.ToString((byte[])val);

        writer.WriteLine("{0}:{1}", pname, bstr);

      }

      else

      {

        foreach (var pval in entry.Properties[pname])

        {

          writer.WriteLine("{0}:{1}", pname, pval);

        }

      }

    }

  }

  MessageBox.Show(this, String.Format("{0} に '{1}' を作成しました。", folderName, fileName), "プロパティ出力")

}

投稿日時 : 2013年7月14日 23:55

コメントを追加

# I am genuinely pleased to read this webpage posts which carries plenty of helpful facts, thanks for providing these kinds of data. 2021/07/12 18:57 I am genuinely pleased to read this webpage posts

I am genuinely pleased to read this webpage posts which carries plenty of helpful facts, thanks for
providing these kinds of data.

# Exceptional post however , I was wondering if you could write a litte more on this subject? I'd be very thankful if you could elaborate a little bit more. Kudos! 2021/07/18 8:28 Exceptional post however , I was wondering if you

Exceptional post however , I was wondering if you could write a litte more on this
subject? I'd be very thankful if you could elaborate a little bit more.
Kudos!

# Wonderful, what a web site it is! This website gives helpful facts to us, keep it up. 2022/03/24 7:45 Wonderful, what a web site it is! This website giv

Wonderful, what a web site it is! This website gives helpful facts to
us, keep it up.

# Wonderful, what a web site it is! This website gives helpful facts to us, keep it up. 2022/03/24 7:46 Wonderful, what a web site it is! This website giv

Wonderful, what a web site it is! This website gives helpful facts to
us, keep it up.

# Wonderful, what a web site it is! This website gives helpful facts to us, keep it up. 2022/03/24 7:47 Wonderful, what a web site it is! This website giv

Wonderful, what a web site it is! This website gives helpful facts to
us, keep it up.

# Wonderful, what a web site it is! This website gives helpful facts to us, keep it up. 2022/03/24 7:48 Wonderful, what a web site it is! This website giv

Wonderful, what a web site it is! This website gives helpful facts to
us, keep it up.

タイトル
名前
URL
コメント