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

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

目次

Blog 利用状況

書庫

日記カテゴリ

ドメインのグループ用のクラス(VB)

ドメインのグループを表すクラス DomainGroup クラスは DomainObject クラスを継承し IGroup インターフェイスを実装します。

Webアプリでデータソースとして使えるようにします。

 

<DataObject()>

Public NotInheritable Class DomainGroup

  Inherits DomainObject

  Implements IGroup

 

#Region " プライベートフィールド "

  Private ReadOnly _security As Boolean

  Private ReadOnly _scope, _type As String

  Private ReadOnly _scopeType As DomainGroupScopeType

#End Region

 

#Region " フレンドコンストラクタ "

  'DirectoryEntry を指定して DomainGroup クラスの新しいインスタンスを初期化します。

  Friend Sub New(entry As DirectoryEntry)

    MyBase.New(entry)

 

    Dim gtype = Convert.ToInt32(entry.Properties.Item("groupType").Value)

    If gtype < 0 Then

      _security = True

      _type = "セキュリティ"

    Else

      gtype += Int32.MinValue

      _type = "配布"

    End If

    _scopeType = DirectCast([Enum].ToObject(GetType(DomainGroupScopeType), gtype), DomainGroupScopeType)

    _scope = GetGroupScope()  'グループのスコープを取得

  End Sub

#End Region

 

#Region " パブリックプロパティ "

  'Entry の ADSI Group オブジェクトを取得します。

  Public ReadOnly Property Native As IADsGroup Implements IGroup.Native

    Get

      If MyBase.IsDisposed Then

        Throw New ObjectDisposedException(Me.GetType().Name)

      End If

      Return DirectCast(MyBase.Entry.NativeObject, IADsGroup)

    End Get

  End Property

 

  'グループのスコープを取得します。

  Public ReadOnly Property Scope As String

    Get

      Return _scope

    End Get

  End Property

 

  'グループのスコープタイプを取得します。

  Public ReadOnly Property ScopeType As DomainGroupScopeType

    Get

      Return _scopeType

    End Get

  End Property

 

  'セキュリティ グループかどうかを取得します。

  Public ReadOnly Property SecurityEnabled As Boolean

    Get

      Return _security

    End Get

  End Property

 

  'グループの種類を取得します。

  Public ReadOnly Property [Type] As String

    Get

      Return _type

    End Get

  End Property

#End Region

 

#Region " パブリックメソッド "

  '指定した名前のグループを検索します。このメソッドはデータバインド用です。

  <DataObjectMethod(DataObjectMethodType.Select)>

  Public Shared Function FindByName(name As String) As DomainGroup

    Return DirectCast(DirectoryAccess.FindDirectoryObject(name, CategoryType.Group), DomainGroup)

  End Function

 

  'グループの一覧を取得します。このメソッドはデータバインド用です。

  <DataObjectMethod(DataObjectMethodType.Select)>

  Public Shared Function GetGroups() As IList(Of DomainGroup)

    Return DirectoryAccess.GetGroups(Of DomainGroup)()    'グループを取得

  End Function

#End Region

 

#Region " プライベートメソッド "

  'グループのスコープを取得します。

  Private Function GetGroupScope() As String

    Select Case Me.ScopeType

      Case DomainGroupScopeType.BuiltInLocal

        Return "ビルトイン ローカル"

      Case DomainGroupScopeType.DomainLocal

        Return "ドメイン ローカル"

      Case DomainGroupScopeType.[Global]

        Return "グローバル"

      Case Else

        Return "ユニバーサル"

    End Select

  End Function

#End Region

End Class

 

コンストラクタ内で属性「groupType」が正の値の時に、Int32.MinValue を加算(負の値なので実質減算)してます。

これは配布グループが正の値で符号ビットがないだけだからです。というよりセキュリティ グループに符号ビットが立ってるからです。

※ADSI の ADS_GROUP_TYPE_ENUM 列挙体の ADS_GROUP_TYPE_SECURITY_ENABLED

投稿日時 : 2013年8月24日 17:02

コメントを追加

# steps to write a essay v97nys 2022/09/04 1:20 Charlosmox


Many thanks. Valuable information! https://definitionessays.com/ write my research paper for me for free

# thesis papers b90sim 2023/02/09 17:53 Albertosed


Cheers, Loads of knowledge.

https://service-essay.com/ research methodology thesis

# abstract dissertation s61qwa 2023/02/27 4:44 Robertsaids


You said it adequately..
write my phd dissertation https://dissertationwritingtops.com/ can someone write my dissertation for me

# paper writing service reddit k95pys 2023/03/01 4:20 StevenGrelo


Seriously all kinds of very good info!
custom paper writing https://service-essay.com/ the best college paper writing service

# ph d thesis writing d34fwe 2023/03/03 2:47 Josephbried


Truly a lot of amazing data.
thesis for philosophy paper https://writingthesistops.com/ argumentative essay thesis statements

# how to do essay writing t576yg 2023/03/06 7:44 EugeneSib


Effectively expressed of course! !
how to write essays for scholarships https://bestmasterthesiswritingservice.com how to write an compare and contrast essay https://topswritingservices.com

# writing a character analysis essay j77mcw 2023/03/06 14:45 Gregorysaipt


Many thanks, Good information.
value of college education essay https://helpwritingdissertation.com best essay help https://helpmedomyxyzhomework.com

# how to write a review essay s60dcy 2023/03/07 13:18 Gregorysaipt

You said this wonderfully.
perfect college essays https://essaywritingservicehelp.com writing the dissertation https://helpwithdissertationwriting.com

# dissertation formats o617iy 2023/03/07 13:41 EugeneSib


Many thanks! I appreciate this.
how to write a good personal essay https://homeworkcourseworkhelps.com transfer college essays https://buyanessayscheaponline.com

# best essay for you v31jzt 2023/03/08 5:57 EugeneSib

You explained that well!
dissertation titles https://essaytyperhelp.com great writing 4 great essays https://domyhomeworkformecheap.com

# how to write a memoir essay k63pps 2023/03/10 4:16 EugeneSib

You actually explained it really well!
hire freelance writers https://essaywriting4you.com writing a great college essay https://domycollegehomeworkforme.com

# dissertation requirements e49nfs 2023/03/10 7:09 Gregorysaipt


Kudos, Lots of material!
write college essays for money https://helpmedomyxyzhomework.com essay about writing https://writinganessaycollegeservice.com

# geography dissertation z887mm 2023/03/10 18:33 EugeneSib


Kudos, A lot of info.
mba essay help https://bestonlinepaperwritingservices.com cheap essay writers https://buyanessayscheaponline.com

# how can i write a good essay g108ct 2023/03/12 2:29 Gregorysaipt


You have made your position quite clearly..
cheap writing services https://cheapessaywriteronlineservices.com dissertation funding https://bestmasterthesiswritingservice.com

# how to write synthesis essay u342cm 2023/03/13 20:30 EugeneSib


With thanks. Lots of tips.
essay dissertation https://service-essay.com assignment writer https://helpmedomyxyzhomework.com

# custom writings service n73exz 2023/03/13 21:58 Gregorysaipt


Kudos, Loads of knowledge!
who can i pay to write my essay https://essaywritinghelperonline.com custom writing service https://topswritingservices.com

# citing a website in essay w64bfb 2023/04/02 13:08 EugeneSib


Thanks, A good amount of data.
law essays https://buycheapessaysonline.com essay writing steps https://essaywriting4you.com

タイトル
名前
URL
コメント