Хорошо, я пытался это выяснить, но решил, что пришло время спросить об паутинах.Мне интересно, если это ошибка или что-то подобное.
Я пытаюсь запустить задания на нескольких компьютерах, чтобы определить, какие имена баз данных находятся на них.
Настройка системы Мой компьютер1: Powershell 2.0, Windows 2k3 Enterprise x64
На компьютере1 я могу запустить:
Start-Job -scriptblock {gwmi -query "select * from win32_computersystem" -ComputerName "Computer2"}
И задание будет зависать в состоянии«Бег» навсегда.Но не в том случае, если я запускаю ту же команду вне блока сценария задания в оболочке.
Я попробовал эту точную настройку здесь с учетными данными локального администратора (против моего домена), но с тем жерезультат.По какой-то причине у меня это не работает.
Я пытался создать собственный объект WMI dotnet, который не использует gwmi, но я получаю тот же результат!
-asjobпараметр ?: Это не решение.
При использовании этого параметра окно powershell падает примерно на 2 ГБ памяти, используемой в системе 12 ГБ;Принимая во внимание, что я могу использовать start-job вплоть до 12GB без проблем.С таким же успехом я мог бы выполнять каждый запрос последовательно.
Кроме того, память никогда не освобождается при использовании параметра -Asjob в Gwmi, поэтому дальнейшие задания не могут быть продолжены;даже после запуска "удалить-работу * -force" или "[GC] :: Collect ()", потребление памяти powershell.exe упорно остается тем же (опять-таки, в отличие от запуска задания).
Так что единственное, что я не пробовал, может быть, мне нужно указать параметр полномочий?