Как проверить, из cmd, статус профиля локальный или временный, в роуминге или резервном копировании?
7091
DannyBoi
Как проверить, из cmd, статус профиля локальный или временный, в роуминге или резервном копировании?
Есть способ проверить ТИП и СОСТОЯНИЕ профилей на компьютере из командной строки.
Обычно мы получаем это здесь ....
Я подключусь к компьютеру с помощью psexec \\ipaddress cmd Затем я хочу запустить команду для просмотра этой информации.
Я мог проверить это в реестре, проанализировав ПУТЬ ИЗОБРАЖЕНИЯ ПРОФИЛЯ, но для этого мне нужно сначала найти SID. Но этот метод не идеален, потому что он говорит мне только, локальный он или нет.
Я бы предпочел метод командной строки для проверки размера профиля, типа и статуса. «Статус» является приоритетом в этом вопросе. Я хочу четко различать статус профиля, будь то локальный или перемещаемый, временный или резервный.
Пожалуйста помоги.
Этот вопрос SU может предложить некоторую помощь: [Как узнать SID учетной записи пользователя Windows?] (Http://superuser.com/questions/231908/how-to-know-sid-of-windows-user-account)
Ƭᴇcʜιᴇ007 7 лет назад
0
2 ответа на вопрос
1
lightwing
Вы можете запросить WMI через Powershell с помощью psexec с помощью этой команды:
`powershell.exe -command" gwmi win32_userprofile | выберите localpath, roamingpath, status "` отображает только список локальных путей
DannyBoi 7 лет назад
0
Я не уверен. Я протестировал его на своей собственной системе на сервере, например: `psexec \\ имя_сервера powershell -command" gwmi win32_userprofile | выберите localpath, roamingpath, status "` Он вернул ожидаемые для меня результаты. Возможно ли, что на вашем устройстве нет перемещаемых профилей? Если перемещаемых профилей нет, столбец перемещаемого профиля будет пустым, а статус будет отличаться от 2 (0, если он локальный).
lightwing 7 лет назад
0
Попробуй это. Он подтвердит, существуют ли эти поля в классе WMI в тестируемой системе: `psexec \\ servername powershell.exe -command" gwmi win32_userprofile | get-member "'` Get-member возвращает список всех свойств и методы, доступные для команды, которая передана ей.
lightwing 7 лет назад
0
Итак, я сделал `get-member` и Localpath, Roaming Path, Status - все там. Я запускал команду кусочно из cmd. `powershell` затем` gwmi` затем `win32_userprofile 'отображает всю информацию, включая` Localpath, Roaming Path, Status`. Путь роуминга не указан, но статус в порядке.
DannyBoi 7 лет назад
0
@ ltghtwing ..... Я попробовал `powershell.exe -команду" gwmi win32_userprofile | выберите статус "` Все было пустым. Затем я скопировал его в текстовый файл и обнаружил, что в столбце состояния отображается ** в столбце 445 **. Нам нужен лучший фильтр
DannyBoi 7 лет назад
0
1
Pimp Juice IT
Как проверить, из cmd, статус профиля локальный или временный, в роуминге или резервном копировании?
Вот чистый метод WMIC для командной строки, чтобы получить Status на основе значения LocalPath имени пользователя, которое вы хотите проверить.
Убедитесь, что %username%значение проверяемого профиля явно указано вместо того, %username%чтобы не проверять профиль, из которого вы его запускаете, когда запускаете его.
Команда
WMIC PATH win32_UserProfile WHERE LocalPath="c:\\users\\%username%" GET Status
Пример результата
Значения значения статуса
Статус
Тип данных: uint32
Тип доступа: только для чтения
Получает битовое поле, которое содержит статус профиля.
Это свойство содержит одно или несколько из следующих значений:
Значение: 0 не определено
Значение: статус профиля не установлен.
Значение: 1 временный
Значение: профиль является временным и будет удален после выхода пользователя из системы.
Значение: 2 роуминга
Значение: профиль установлен в роуминге. Если этот бит не установлен, профиль устанавливается как локальный.
Значение: 4 обязательно
Значение: профиль является обязательным.
Значение: 8 испорчено
Значение: профиль поврежден и не используется. Пользователь или администратор должен исправить повреждение, чтобы использовать профиль.