Как проверить из cmd, является ли статус профиля локальным, временным, перемещаемым или резервным?
Есть способ проверить ТИП и СТАТУС профилей на компьютере из командной строки.
Обычно мы получаем это здесь...
Я подключусь к компьютеру с помощью psexec \\ipaddress cmd
Затем я хочу выполнить команду для просмотра этой информации.
Я мог бы проверить это в реестре, проанализировав ПУТЬ К ОБРАЗУ ПРОФИЛЯ, но для этого мне сначала нужно найти SID. Но этот метод не идеален, потому что он сообщает мне только, является ли он локальным или нет.
Я бы предпочел метод командной строки для проверки размера, типа и статуса профиля. «Статус» является приоритетом в этом вопросе. Я хочу четко различать статус профиля, будь он локальным или перемещаемым, временным или резервным.
Пожалуйста помоги.
решение1
Как проверить из cmd, является ли статус профиля локальным, временным, перемещаемым или резервным?
Вот чистая командная строкаВМИКметод полученияПоложение делна основеЛокальныйПутьценностьИмя пользователявы хотите проверить.
Убедитесь, что %username%
значение проверяемого профиля явно указано вместо, %username%
если при запуске не проверяется профиль, из которого он запущен.
Команда
WMIC PATH win32_UserProfile WHERE LocalPath="c:\\users\\%username%" GET Status
Пример результата
Статус Значение Значения
Положение дел
Тип данных:uint32
Тип доступа: Только чтение
Получает битовое поле, содержащее статус профиля.
Это свойство содержит одно или несколько из следующих значений:
- Ценить:0 Не определено
- Значение:Статус профиля не установлен.
- Ценить:1 Временный
- Значение:Профиль является временным и будет удален после выхода пользователя из системы.
- Ценить:2 Роуминг
- Значение:Профиль установлен на роуминг. Если этот бит не установлен, профиль установлен на локальный.
- Ценить:4 Обязательно
- Значение:Профиль является обязательным.
- Ценить:8 Поврежденный
- Значение:Профиль поврежден и не используется. Пользователь или администратор должны исправить повреждение, чтобы использовать профиль.
Дополнительные ресурсы
решение2
Вы можете выполнить запрос WMI через Powershell с помощью psexec с помощью этой команды:
powershell.exe -command "gwmi win32_userprofile | select localpath,roamingpath,status"
localpath даст вам имя пользователя, а status даст вам тип.
Значения статуса:
- Не определено - 0 - Статус профиля не установлен.
- Временный - 1 - Профиль является временным и будет удален после выхода пользователя из системы.
- Роуминг - 2 - Профиль установлен на роуминг. Если этот бит не установлен, профиль установлен на локальный.
- Обязательно - 4 - Профиль является обязательным профилем.
- Поврежден - 8 - Профиль поврежден и не используется. Пользователь или администратор должны исправить повреждение, чтобы использовать профиль.
Однако если вы умеете работать с psexec, вы, вероятно, можете просто использовать переключатель команды powershell gwmi для удаленного доступа к устройству:
gwmi win32_userprofile -computername mypc | select localpath,roamingpath,status
Также, для решения проблемы размера профиля, может помочь следующее: Блог Hey Scripting Guy: используйте PowerShell для определения размера профиля пользователя