2011年11月22日

Active Directory からログインしている自分自身の情報を取得する方法 (VBScript)

ログインユーザーの情報を AD から取得する VBScript です。

社内システムでは、PC を開いているユーザー (各社員) 本人の情報を自動的に取得して使いたいというニーズが存在します。
例えば様々なシステムへのシングルサインオン、申請書類への記入などです。

たまたま調べる機会があったので、確認している範囲で記載しておきます。


Dim objADSystemInfo As Variant
Dim objUser         As Variant
Dim V               As String

Set objADSystemInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objADSystemInfo.UserName)

V = "接続情報"
V = V & vbCrLf & "ADSystemInfo.UserName: " & objADSystemInfo.UserName
V = V & vbCrLf & "識別名: " & objUser.distinguishedName
MsgBox (V)

V = "[全般] タブ"
V = V & vbCrLf & "姓: " & objUser.LastName
V = V & vbCrLf & "名: " & objUser.FirstName
V = V & vbCrLf & "表示名: " & objUser.DisplayName
V = V & vbCrLf & "電話番号: " & objUser.TelephoneNumber
V = V & vbCrLf & "電子メール: " & objUser.mail
MsgBox (V)

V = "[アカウント] タブ"
V = V & vbCrLf & "ユーザーログオン名: " & objUser.userPrincipalName
V = V & vbCrLf & "ユーザーログオン名(Windows 2000より前): " & objUser.sAMAccountName
MsgBox (V)

V = "[電話] タブ"
V = V & vbCrLf & "自宅: " & objUser.homePhone
V = V & vbCrLf & "ポケットベル: " & objUser.pager
V = V & vbCrLf & "携帯電話: " & objUser.mobile
V = V & vbCrLf & "FAX: " & objUser.facsimileTelephoneNumber
V = V & vbCrLf & "IP 電話: " & objUser.ipPhone
V = V & vbCrLf & "メモ: " & objUser.info
MsgBox (V)

V = "[所属されている組織] タブ"
V = V & vbCrLf & "会社名: " & objUser.company
V = V & vbCrLf & "部署: " & objUser.Department
V = V & vbCrLf & "役職: " & objUser.Title
V = V & vbCrLf & "上司: " & objUser.Manager
MsgBox (V)

Set objUser = Nothing
Set objADSystemInfo = Nothing

出典は次のサイトです。
http://pnpk.net/cms/archives/400
http://ss64.com/vb/syntax-userinfo.html

今日の気分 (-_-)



posted by 中田智玄 at 14:28 | Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。