Получаем в Powershell активных сессий пользователей AD и их компьютеров

Заметки Лёвика

При загрузке компьютера появляется сообщение об ошибке загрузки профиля и пустой (может и не совсем пустой, но точно не мой) рабочий стол Windows. Также пропали мои документы, рисунки.. осталось только стандартное-по умолчанию.

Видимо, действительно, произошла ошибка при загрузке профиля и Windows создала временную учетную запись пользователя с именем TEMP (все учетные данные находятся в каталоге Documents and Settings/TEMP или USERS/TEMP для Vista и windows 7)

Если ситуация возникла после длительного простоя компьютера, возможно, произошли проблемы при идентификации записи на контроллере домена. В этом случае можно попробовать перезагрузиться — возможно, повторная идентификация пользвателя будет успешной.

Более точную информацию ошибки загрузки профиля можно посмотреть в системном журнале событий. Ошибка “Произошла ошибка при загрузке профиля” может быть вызвана, например, сбоем системного реестра или ошибочным файлом ntuser.dat.

Переносить документы в каталог временной учетной записи не рекомендуется — при удачной загрузке она может быть удалена (вместе с документами.. ). Если уж такое случилось — постарайтесь как можно меньше работать с системного диска (чтобы не затереть удаленные файлы). Использование специальной утилиты для восстановления файлов при загрузке с другого носителя (я использую Alkid LiveCD) может частично (или полностью) восстановить “удаленные файлы”

forum.windowsfaq.ru/archive/index.php/t-124768.html — немного о похожей ситуации.

Если после обычной перезагрузки временный пользователь не удалился

1. Войти под учётной записью администратора (может потребоваться загрузка в безопасном режиме, чтобы разрешить вход под администратором)

2. Удаляем/заменяем SID временного пользователя.

  • Делаем резервную копию всех данных из каталога пользователей (C:users) и удаляем сам каталог
  • Переходим в HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
  • В дереве слева ищем папку с именем S-1-5….. (SID key), у которой в конце названия присутствует BAK, проверяем, что ProfileImagePath соответствует удалённому каталогу
  • Делаем резервную копию ветки реестра (экспорт в файл)
  • Ветку с именем без BAK удаляем, а ветку “bak” переименовываем (удаляем bak из названия) /как вариант — удалить обе ветки и система создаст новый профиль при очередном входе/

Метки: windows

Опубликовано Вторник, Июнь 22, 2010 в 06:39 в следующих категориях: Без рубрики. Вы можете подписаться на комментарии к этому сообщению через RSS 2.0. Вы можете добавить комментарий, или trackback со своего сайта.

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Как получить список залогиненных пользователей

В Powershell есть несколько методов возврата списка активных пользователей. Каждый из способов имеет свои минусы и поэтому, в зависимости от цели, какой-то способ будет удобнее использовать локально (при входе пользователя), а какой-то удаленно. В случае с WMI это так и не получилось сделать, так нет класса, который бы хранил все нужные значение и работал бы везде.

Самый простой способ — это поместить скрипт в планировщик задач, который будет выполняться при входе пользователя в систему. Этот способ не подразумевает удаленной работы. Почти полный скрипт выглядит так:

Получение имени залогинившегося пользователя и его времени в Powershell

Можно создать политику, которая будет запускать скрипт при входе и экспортировать в CSV. Сам файл CSV может находится на удаленном компьютере. Следующая команда сделает это записав данные в конец существующий файл (т.е. не перезапишет файл):

Получится примерно следующий вид файла:

Получение имени залогинившегося пользователя и его времени в Powershell в CSV

Как создавать команды и функции в Powershell вызывать их и передавать параметры

Через Powershell

За, что я люблю Poweshell, так это за его огромные возможности, у него для Active Directory отдельный модуль с командлетами, позволяющими производить большое количество манипуляций. Сразу приведу готовый код, который ищет компьютеры, от которых не было вестей 120 дней и выводит все это дело в тестовый файл с датой последнего обращения.

$date_with_offset= (Get-Date).AddDays(-120)
Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:Scriptservices.txt

находим устаревшие учетные записи компьютеров-1

Замечательно список мы с вами научились получать, и вы можете посмотреть время последнего обращения компьютера к контроллеру домена. Идем дальше, теперь я хочу, чтобы данные компьютеры были выключены в Active Directory и были перемещены в отведенную под это дело OU. Вот пример кода.

$date_with_offset= (Get-Date).AddDays(-120)
$comps = Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate
foreach ($comp in $comps)
Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:Scriptservices.txt

Тут все отключенные компьютеры будут перемещаться в организационное подразделение Мск Л. рабочие станции на удаление. И далее я сделал, вывод в txt файл, чтобы видеть, какие именно учетные записи были отключены.

находим устаревшие учетные записи компьютеров-2

Далее вы этот скрипт можете повесить на контроллеры домена, через групповую политику и выполнять хотя бы раз в месяц. Я лично такие компьютеры через неделю удаляю.

Кто заходил в компьютер при загрузке системы

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

Для вашего удобства я создал два файла которые добавляют необходимые ключи в реестр. Один ключ включает опцию показа информации о последнем входе, а другой отключает данную функцию. Если вам лень самому все делать или вы не разбираетесь, тогда смело качайте архив.

Запускать файлы надо от Администратора!

А теперь для любителей погорячее, которые решили делать все ручками не скачивая эти файлы со страшными вирусами, которые еще и надо запускать от имени администратора )).

Запустим редактор реестра. На Windows 7 и 8 делается это с помощью пункта «Выполнить», которое находится в меню «Пуск». После того как появилось окно «Выполнить» вводим команду «regedit».

кто заходил компьютер

Regedit на Windows 7, 8, 8.1

На Windows 10 тоже можно через пункт «Выполнить» или с помощью поиска, так как это показано на скрине ниже.

кто заходил компьютер

Regedit на Windows 10

Теперь в редакторе реестра находим каталог «System».

HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Policies System

В котором создаем новый параметр.

кто заходил в компьютер

Даем ему имя «DisplayLastLogonInfo»

кто заходил в компьютер

И изменяем его значение с 0 на 1.

последний вход в систему

Если вы все сделали правильно, то получите вот такой вот результат.

кто включал компьютер

После этапа авторизации появится окно в котором будет подробная информация о последнем успешном входе в систему, дате и точном времени. А также данные о всех неудачных попытках входа в Windows. После ознакомления нажимаем ОК и продолжаем процесс загрузи системы.

кто включал компьютер

Хотелось бы уточнить, что даже если компьютер является членом домена Active Directory и на него заходят под доменными учетными записями, при локальном включении политики отображаться будет только информация о локальных учетных записях. Для отображения информации о доменных пользователях необходимо воспользоваться доменными групповыми политиками.

На этом все, друзья. Теперь вы без проблем сможете узнать когда и кем был осуществлен последний вход в систему. Вещь очень полезная, если вы не единственный пользователь компьютера или в случаях когда вы оставляете его на какое-то время без присмотра.

Вас также может заинтересовать статья «Блокировка Windows«, в которой мы рассказывали как быстро, буквально в один клик заблокировать систему, в случае если вам нужно на время отойти от компьютера.

Как узнать, какая учетная запись используется

После объяснения, в чем разница между локальной учетной записью и учетной записью Microsoft, давайте посмотрим, как узнать, какую учетную запись мы используем.

  1. Нажмите на клавиатуре компьютера клавиши Win (это клавиша с логотипом Windows) и I одновременно. Откроется окно настроек Windows.
  2. Нажмите Учетные записи.
  3. Если на закладке Ваши данные вы видите ссылку Управление учетной записью Microsoft, это означает, что вы используете учетную запись пользователя сервисов Microsoft.

Ссылка на управление учетной записью пользователя Майкрософт

Если в окне Ваши данные вы видите Войти под учетной записью Microsoft. Это означает, что вы используете локальную учетную запись.

Ответов на вопрос «Почему в управлении компьютером нет локальных пользователей»: 28

Вариант 1 —
Локальные политики -> Параметры безопасности -> Учетные записи: состояние учетной записи «Администратор» -> выберите нужное вам значение (Включен/Выключен) -> перезагрузите комп.
Вариант 2 —
В командной строке написать «net user Администратор /active:yes» Для английской версии, и для английской версии с установленным русским языковым пакетом, нужно вводить “net user administrator /active:yes” И самое главное: Запустить командную строку от имени администратора!

«Служебные программы» разворачивать не пытался?

Бабай ты дебил? читай выше говорит же нету вкладки на Windows 7.

Вижу что беда решена, хотя и неожиданно 🙂

Покопался по сетке, и ответ по какой причине нет этих разделов прост — ЭТО ДОМАШНЯЯ семёрка 🙂
Да создатели windows каждый раз создают себе новые грабли, на вопрос зачем — я не знаю садомазо-извращенцы может?

Я смог запустить администратора спустя командную строку, но теперь не могу отключить 🙂 Ошибка 5 !

Потому что Home Premium

Нужно или Ultimate, или Professional

Думаю, что панель управления у вас всё-таки имеется. ) Пуск — Панель управления — Учётные записи юзеров.

(WinUser Way)
Панель управления -> Администрирование -> Управление компом ->(в боковом дереве среди прочих «Локальные пользователи и группы»)

(WinAdmin Way)
Оснастка называется Можете прямо так и вызвать ее из «Выполнить»( hotkey: Win+R )

(WinGuru Way)
WSH + WMI
годный пример скриптов есть например тут

Там по ссылке, которую вы привели, справа ест кнопка «Download». Если я верно понял, по ней находится .exe файл, который вам спасет. А если у вас 64-х битная ОСь, то необходимо станет ещё кой-какие махинации с папками провернуть

Сходная со скриншотом функциональность находится в «Панель управления» > «Администрирование» > «Управление компом», однако что-то не видно там именно данного пункта. Наверно выключен спустя реестр.

У меня в тот момент под рукой был W7-64HB, а вот придя домой посмотрел английский W7-64HP и да, теперь так же вижу что и в Premium пункта нет.

Ну там и не должно быть такого)

Оснастка «Локальные пользователи и группы» (открывается по спустя Пуск — Выполнить) есть лишь в бизнес-версиях ОС — Профессиональной, Корпоративной и Максимальной. В домашних версиях ее нет.

В командную строку введи : — и появятся

Может Редактор локальной групповой политики? Win+R —

Наверно у тебя Win десять Home, поэтому и найти неможешь, потому что их там нет. так же как и редактора групповой политики.

«Локальные пользователи и группы»
Win+R
/s — ОК

В домашней редакции данного нет.

Доступ к этой оснастке допустимо получить, набрав в командной строке

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

Если компьютер домашний- то ты и так админ. Всего лишь настрой права на папки

Правой кнопкой по ярлыку и там запуск от имени администратора

Если имеющихся полномочий Запуск от имени Администратора не хватает, то наверно, что это работа вируса или возьмите и присвойте себе все права Администратора. Лишь не забудьте, что и вирусы будут так же пользоваться этими правами.

Во время установки Виндовс 7 автоматически создается аккаунт «администратор» , который позже автоматически отрубается. В результате созданный аккаунт пользователя хоть и обладает по-умолчанию привилегиями администратора, но при работе регулярно сталкивается с предупреждениями от UAC (контроль учетных записей) . Обойти это ограничение в полной мере (а не всего лишь искусственно ограничить выдачу напоминаний) , спасет активация аккуанта администратора и дальнейшая работа под этим аккуантом.

Для активации аккаунта, следует предпринять несколько простых действий:
Идите в «Пуск» -> «Обычные» -> «Командная строка» и кликните правой кнопкой мышки на этом пункте.
Выберите «Запуск от имени Администратора» .
В открывшемся окне введите команду «net user администратор /active:yes«.

Вы активировали аккаунт Администратора. Теперь нужно задать password (и по возможности, если это станет «сильный» password, который невозможно отгадать и тяжело подобрать) . Для данного выполните следующие действия:
В этой же строке наберите «Net user администратор

» задайте свежий password пользователя «Администратор» .
Закройте окно и перезагрузите комп.

После перезагрузки у вас станет возможность зайти в систему используя имя пользователя «Администратор» и заданный вами ранее password.

Что бы отключить аккаунт, проделайте аналогичные действия, начиная с первого пункта, но в п. 3 задайте команду «net user администратор /active:no«.

Есть так же альтернативная возможность достижения аналогичного результата:

-> Пуск -> Выполнить-> введите « -> Локальные политики -> Параметры безопасности -> Учетные записи: состояние учетной записи «Администратор» -> выберите нужное вам значение (Включен/Выключен) -> перезагрузите комп.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector