IDG.bg  •  PC World  •  Computerworld  •  CIO  •  CFO  •  Networkworld  •  Business How  •  Кариерна зона
computerworld | кариерна зона | Lang Cloud
Computerworld | кариерна зона | programming | Visual Basic .NET

Проверка за логнати потребители

Visual Basic .NET 12 прочитания


Страртирайте скрипта от командния ред и ще бъдете попитани за IP/име на хост. Ако посочената машина може да се ping-не, криптът ще върне данни за логнатия потребител на база Active Directory

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 On Error Resume Next
 
 WScript.StdOut.Write("IP Address/Computer Name> ")
 WScript.StdIn.Read(0)
 strComputer = WScript.StdIn.ReadLine()
 
 If IsHostAlive(strComputer) = False Then Wscript.quit
 
 For Each strComputer In arrComputers
   Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
   For Each objItem in colItems
      If IsNull(objItem.UserName) = False Then
         Wscript.Echo "Computer Name: " & objItem.DNSHostName
         Wscript.Echo "UserName: " & objItem.UserName
         GetUserName(objItem.UserName)
      Else
         Wscript.Echo "Computer Name: " & objItem.DNSHostName
         Wscript.Echo "UserName: Null"
      End If
        Next
 Next
 
 '*******************************************************************************
 
 Function GetUserName(LoginID)
   ' Constants for the NameTranslate object.
   Const ADS_NAME_INITTYPE_GC = 3
   Const ADS_NAME_TYPE_NT4 = 3
   Const ADS_NAME_TYPE_1779 = 1
 
   ' Determine DNS name of domain from RootDSE.
   Set objRootDSE = GetObject("LDAP://RootDSE")
   strDNSDomain = objRootDSE.Get("defaultNamingContext")
 
   ' Use the NameTranslate object to find the NetBIOS domain name from the
   ' DNS domain name.
   Set objTrans = CreateObject("NameTranslate")
   objTrans.Init ADS_NAME_INITTYPE_GC, ""
   objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain
   strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4)
   ' Remove trailing backslash.
   strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)
 
   strNTName = Trim(LoginID)
 
   ' Use the Set method to specify the NT format of the object name.
   ' Trap error if user does not exist.
   On Error Resume Next
 
   objTrans.Set ADS_NAME_TYPE_NT4, strNTName
 
   If (Err.Number = 0) Then
      On Error GoTo 0
      ' Use the Get method to retrieve the RPC 1779 Distinguished Name.
      strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
 
      ' Bind to the user object (if desired).
      Set objUser = GetObject("LDAP://" & strUserDN)
      ' Do whatever you want...
      wscript.echo "Name: " & objUser.GivenName & " " & objUser.sn
      wscript.echo "Phone: " & objUser.physicalDeliveryOfficeName
      wscript.echo "Office: " & objUser.telephonenumber
      wscript.echo "Mobile: " & objUser.mobile
   Else
      On Error GoTo 0
      ' Alert user about bad user name.
      Wscript.Echo "User " & strNTName & " does not exist"
   End If
 End Function
 
 
 Function IsHostAlive(strComputer)
   IsHostAlive = False    ' normally we will return false, unless ping is successful
 
   Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = '" + strComputer + "'")
 
   For Each oRow In colItems
      Select Case oRow.StatusCode
         Case 0
            IsHostAlive = True
            wscript.echo strComputer & " is alive..."
         Case 11001 wscript.echo "Buffer Too Small"
         Case 11002 wscript.echo "Destination Net Unreachable"
         Case 11003 wscript.echo "Destination Host Unreachable"
         Case 11004 wscript.echo "Destination Protocol Unreachable"
         Case 11005 wscript.echo "Destination Port Unreachable"
         Case 11006 wscript.echo "No Resources"
         Case 11007 wscript.echo "Bad Option"
         Case 11008 wscript.echo "Hardware Error"
         Case 11009 wscript.echo "Packet Too Big"
         Case 11010 wscript.echo "Request Timed Out"
         Case 11011 wscript.echo "Bad Request"
         Case 11012 wscript.echo "Bad Route"
         Case 11013 wscript.echo "TimeToLive Expired Transit"
         Case 11014 wscript.echo "TimeToLive Expired Reassembly"
         Case 11015 wscript.echo "Parameter Problem"
         Case 11016 wscript.echo "Source Quench"
         Case 11017 wscript.echo "Option Too Big"
         Case 11018 wscript.echo "Bad Destination"
         Case 11032 wscript.echo "Negotiating IPSEC"
         Case 11050 wscript.echo "General Failure"
         Case Else wscript.echo "Status code " & objPing.StatusCode & " - Unable to determine cause of failure."
      End Select
   Next
 End Function

ICON ICON ICON Tweet it! ICON

Преброяване на селекцията в TreeView
Когато искате да намерите колко от възлите в едно дърво са селектирани, използвайте следната функция, като й подадете за параметър желаното дърво за анализ.
Visual Basic .NET 502 прочитания
Създаване на масив от текстов файл
Ето една примерна функция за създаване и запълване на масив със съдържанието на текстов файл: Function FileToArray(ByVal filePath As String) As String()    Dim content As...
Visual Basic .NET 671 прочитания
Преобразуване на числов низ в число
Предлагам на вниманието ви функция, която преобразува числов низ в коректен формат за валута в SQL Server, независимо от регионалните настройки на потребителя
Visual Basic .NET 833 прочитания
Кодиране с UTF-8
В този пример е показано как може да се конвертират url адреси с UTF-8
Java 567 прочитания
Сериализиране на обект в XML
За да сериализирате инстанция на обект в XML, използвайте XMLSerializer с неговия метод Serialize
C# 439 прочитания
Как да се изтрие съдържанието на символен низ в C++ ?
За да изтриете съдържанието на обект от тип string използвайте член-функцията erase()
C++ 579 прочитания
Извличане на изображение от база данни
В следния фрагмент от код изображението foto.gif се прочита от базата чрез метода getBinaryStream
Java 504 прочитания
Премигване на контролите във форма
Потребителите често се оплакват от премигване на контролите по време на зареждане или други операции.
.NET 511 прочитания

Новини

Заплащане на ИКТ специалистите 2011

HR на месеца

Вяра Николова e мениджър човешки ресурси в Софика Груп за България и Македония

Вяра Николова e мениджър човешки ресурси в Софика Груп за България и Македония

“ Вяра Николова e мениджър човешки ресурси в Софика Груп за България и Македония. Вяра стартира кариерата си в областта на човешките ресурси през 2004 година, когато става част от екипа на БТК. Вече повече... ” вижте още »

IT сертификати