3

Как проверить, из cmd, статус профиля локальный или временный, в роуминге или резервном копировании?

Есть способ проверить ТИП и СОСТОЯНИЕ профилей на компьютере из командной строки.

Обычно мы получаем это здесь ....

Свойства системы

Я подключусь к компьютеру с помощью команды psexec \\ipaddress cmd Затем я хочу запустить команду для просмотра этой информации.

Я мог бы проверить это в реестре, проанализировав ПУТЬ ИЗОБРАЖЕНИЯ ПРОФИЛЯ, но для этого мне нужно сначала найти SID. Но этот метод не идеален, потому что он говорит мне только, локальный он или нет.

Я бы предпочел метод командной строки для проверки размера профиля, типа и статуса. «Статус» является приоритетом в этом вопросе. Я хочу четко различать статус профиля, будь то локальный или перемещаемый, временный или резервный.

Пожалуйста помоги.

2 ответа2

1

Вы можете запросить WMI через Powershell с помощью psexec с помощью этой команды:

powershell.exe -command "gwmi win32_userprofile | select localpath,roamingpath,status"

localpath с даст вам имя пользователя и статус даст вам тип.

Класс Win32_UserProfile

Значения статуса:

  • Undefined - 0 - статус профиля не установлен.
  • Временный - 1 - Профиль является временным и будет удален после выхода пользователя из системы.
  • Роуминг - 2 - В профиле установлен роуминг. Если этот бит не установлен, профиль устанавливается как локальный.
  • Обязательно - 4 - Профиль является обязательным.
  • Corrupted - 8 - Профиль поврежден и не используется. Пользователь или администратор должен исправить повреждение, чтобы использовать профиль.

Если вы можете использовать psexec, вы можете просто использовать командный ключ powershell gwmi для удаленного подключения к устройству:

gwmi win32_userprofile -computername mypc | select localpath,roamingpath,status

Кроме того, это может помочь при запросе размера профиля. Hey Scripting Guy Blog: Используйте PowerShell для определения размера профиля пользователя.

1

Как проверить, из cmd, статус профиля локальный или временный, в роуминге или резервном копировании?

Вот чистый метод WMIC для командной строки, чтобы получить Status на основе значения LocalPath имени пользователя, которое вы хотите проверить.

Убедитесь, что значение %username% проверяемого профиля явно указывается вместо %username% если оно не проверяет профиль, из которого вы его запускаете, когда запускаете его.

Команда

WMIC PATH win32_UserProfile WHERE LocalPath="c:\\users\\%username%" GET Status

Пример результата


Значения значения статуса

Статус

Тип данных: uint32

Тип доступа: только для чтения

Получает битовое поле, которое содержит статус профиля.


Это свойство содержит одно или несколько из следующих значений:

  • Значение: 0 не определено
    • Значение: статус профиля не установлен.

  • Значение: 1 временный
    • Значение: профиль является временным и будет удален после выхода пользователя из системы.

  • Значение: 2 роуминга
    • Значение: профиль установлен в роуминге.Если этот бит не установлен, профиль устанавливается как локальный.

  • Значение: 4 обязательно
    • Значение: профиль является обязательным.

  • Значение: 8 испорчено
    • Значение: профиль поврежден и не используется.Пользователь или администратор должен исправить повреждение, чтобы использовать профиль.

источник


Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .