1

Я пытаюсь применить фильтр wmi к групповой политике с помощью этой команды:

Select * from Win32_Processor where AddressWidth = '64' 

Это будет применять GPO только к 64-битным компьютерам (все наши машины - Windows 7), когда фильтр связан. Однако объект групповой политики не применяется, и когда я запускаю оператор выбора на компьютере, я получаю:

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

Я знаю, что это как-то связано с переменными среды, однако я не уверен, как назначить именно эту переменную, если это так.

Любая помощь будет принята с благодарностью!

2 ответа2

1

Это, как заявил JdeBP. Вам нужно использовать инструмент, который может обработать ваш WQL (sql-like) оператор. Вы можете отказаться от использования командной оболочки cmd.exe и использовать командную оболочку powershell.exe для выполнения запроса. Он предлагает командлет, который позволяет обрабатывать операторы WQL. Попробуй это:

Откройте окно командной строки, введите Powershell и нажмите Enter. Это приведет к запуску экземпляра powershell внутри текущего сеанса cmd. Теперь, когда вы находитесь в powershell, вы можете использовать командлет Get-WmiObject для запроса вашей информации:

get-wmiobject -query "select * from win32_processor where addresswidth='64'"

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

Обратите внимание, что вы также можете открыть Powershell напрямую, а не через cmd.exe. просто введите "Powershell" в поле "Выполнить" или в поле поиска в нижней части меню "Пуск", и на вашем экране откроется окно powershell, как если бы вы использовали cmd.exe.

Если по какой-то причине вы не можете запустить powershell, вы можете проверить и убедиться, что он установлен. На моей установке Win 7 он живет здесь:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Надеюсь это поможет,

Связанное чтение:

Powershell Введение

О командлете Get-WmiObject

0

Я знаю, что это как-то связано с переменными среды

Откуда бы ни пришли эти знания, это неправильно.

Ваш SELECT является запросом WMI на языке WQL (подмножество SQL). Вы не просто вводите его в командной строке командного интерпретатора cmd . cmd интерпретирует совершенно другой язык. Вы не можете произвольно давать команды на одном языке компьютера инструменту, который говорит на другом совершенно другом языке. Это не так, как работают компьютеры.

дальнейшее чтение

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