Пользователи и Локальное использование Отчета Групп Powershell?

Изобретение мыши приняло один режим и переместило его на устройство ввода, а контекстные меню взяли другой режим и переместили его на кнопку. По иронии судьбы, появление сенсорных устройств имело обратный эффект, создавая мультимодальные интерфейсы:

  • осознают мультимодальные - касание и речь знают друг о друге и пересекаются

  • не знают мультимодальные - касание и речь не знают друг о друге и конфликтуют

Традиционные интерфейсы WIMP имеют Основная предпосылка, что информация может входить и выходить из системы через один канал или поток событий. Этот поток событий может быть в форме ввода (мышь, клавиатура и т. Д.), Когда пользователь вводит данные в систему и ожидает обратной связи в форме вывода (голос, вибрация, визуальная информация и т. Д.), Когда система отвечает. Но канал сохраняет свою особенность и может обрабатывать информацию по одному источнику за раз. Например, в сегодняшнем взаимодействии компьютер игнорирует введенную информацию (через клавиатуру) при нажатии кнопки мыши.

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

Ссылки

11
задан 9 June 2009 в 14:12
поделиться

2 ответа

На самом деле вы можете использовать ярлык типа ADSI и прозвище WinNT. Вот пример вывода списка групп и участников с вашего компьютера:

$server="."
$computer = [ADSI]"WinNT://$server,computer"

$computer.psbase.children | where { $_.psbase.schemaClassName -eq 'group' } | foreach {
    write-host $_.name
    write-host "------"
    $group =[ADSI]$_.psbase.Path
    $group.psbase.Invoke("Members") | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
    write-host
}
13
ответ дан 3 December 2019 в 05:36
поделиться

Powershell не имеет встроенной поддержки такой функции. Однако легко обернуть команду net localgroup парой функций PowerShell и таким образом включить ее в конвейере.

Получить локальные группы

function Get-LocalGroups() {
  net localgroup | ?{ $_ -match "^\*.*" } | %{ $_.SubString(1) };
}

Получить членов локальной группы

function Get-LocalGroupMembers() {
  param ([string]$groupName = $(throw "Need a name") )
  $lines = net localgroup $groupName
  $found = $false
  for ($i = 0; $i -lt $lines.Length; $i++ ) {
    if ( $found ) {
      if ( -not $lines[$i].StartsWith("The command completed")) {
        $lines[$i]
      }
    } elseif ( $lines[$i] -match "^----" ) {
      $found = $true;
    }
  }
}
7
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

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