Как я получаю идентификатор Пользователя Active Directory?

Exim поставляется с инструментами для помощи с анализом файла журнала. В частности, exigrep может представлять интерес, поскольку он может искать шаблон в строке и затем показать все строки журнала для того сообщения, включая тех, которые приехали перед строкой соответствия.

Exim поставляется с документацией, "Спецификация Exim"; по крайней мере у Вас должен быть файл под названием "spec.txt", если не .pdf или другой вариант; это также онлайн по http://www.exim.org/; Вы могли бы найти "49. Файлы журнала", документируя точный формат файлов журнала, и "50. Утилиты Exim", чтобы быть полезным.

Каждая строка журнала имеет метку времени; группа exim идентификатором сообщения и затем видом меткой времени и у Вас есть первоначальный заказ назад.

2
задан 19 July 2012 в 16:28
2 ответа

Файл authz-windows отображает SID пользователей и групп Active Directory (поле LDAP objectSid ).

Но обратите внимание, что значения этого поля в AD хранятся в шестнадцатеричном формате, поэтому вы можете использовать некоторые предыдущие ответы для определения связанных идентификаторов пользователей.

( пример PowerShell в StackOverflow. )

4
ответ дан 3 December 2019 в 09:06

Обновление 2016:

Обновление до последней версии VisualSVN Server. Начиная с VisualSVN Server 3.4, сервер поставляется с рядом командлетов PowerShell. Некоторые из них, например Get-SvnAccessRule , могут выводить список правил доступа, назначенных для учетных записей пользователей и групп Active Directory / Windows.

Вот пример создания отчета о правилах доступа в CSV-файле AccessReport. csv:

Get-SvnAccessRule | Выберите репозиторий, путь, имя учетной записи, доступ | Export-Csv -NoTypeInformation AccessReport.csv

Для получения полной информации о командлетах PowerShell для VisualSVN Server прочтите статью KB88: Справочник по командлетам PowerShell для VisualSVN Server .


Устаревший ответ:

Я согласен с ответ похмелье и надеюсь, вы найдете следующий VBScript полезным. Он создает список определенных разрешений и должным образом преобразует идентификаторы безопасности в понятные и читаемые ДОМЕН \ Имя пользователя .

'
' Print permissions in the form: user_name,path,level
'
strComputer = "."
Set wmi = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" _
  & strComputer & "\root\VisualSVN")

Set win = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" _
  & strComputer & "\root\cimv2")

' Return text representation for the Access Level
Function AccessLevelToText(level)
  If level = 0 Then
    AccessLevelToText = "No Access"
  ElseIf level = 1 Then
    AccessLevelToText = "Read Only"
  ElseIf level = 2 Then
    AccessLevelToText = "Read/Write"
  Else 
    AccessLevelToText = "Unknown"
  End If
End Function

' Return repository path for the object
Function GetPath(obj)
  cname = assoc.Path_.Class
  If cname = "VisualSVN_Service" Then
    GetPath = "Repositories Root"
  ElseIf cname = "VisualSVN_Repository" Then
    GetPath = assoc.Name
  ElseIf cname = "VisualSVN_RepositoryEntry" Then
    GetPath = assoc.RepositoryName & ": " & assoc.Path
  Else
    GetPath = "Unknown"
  End If
End Function

' Convert SID to user name
Function SidToUserName(sid)
  Set account = win.Get("Win32_SID.SID='" & sid & "'")
  user = account.AccountName
  domain = account.ReferencedDomainName
  SidToUserName = domain & "\" & user
End Function

' Return user name associated with account
Function GetAccountName(account)
  If account.Path_.Class = "VisualSVN_WindowsAccount" Then
    GetAccountName = SidToUserName(account.SID)
  Else
    GetAccountName = account.Name
  End If
End Function

' Iterate over all security descriptions
Set objs = wmi.ExecQuery("SELECT * FROM VisualSVN_SecurityDescriptor")
For Each obj In objs
  Set assoc = wmi.Get(obj.AssociatedObject)

  For Each perm in obj.Permissions
    name = GetAccountName(perm.Account)
    level = AccessLevelToText(perm.AccessLevel)

    Wscript.Echo name & "," & GetPath(assoc) & "," & level
  Next
Next
3
ответ дан 3 December 2019 в 09:06

Теги

Похожие вопросы