#powershell
#powershell
Вопрос:
Этот скрипт работает нормально:
$machines = get-content H:PSRestartInventory417.txt
restart-computer -computername $machines -force
Этот скрипт работал нормально до этой недели. Я не вносил никаких изменений до сбоя:
$machines = get-content H:PSRestartInventoryAccom.txt
restart-computer -computername $machines -force
С пропуском ‘417’ в первом и ‘Accom’ во втором, в каждом из них есть по 100 дополнительных символов, и они оба выглядят идентично для меня.
Может кто-нибудь увидеть, чего мне не хватает? Информация re: версия Powershell является;
Name Value
---- -----
PSVersion 5.1.14409.1018
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1018
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Большое спасибо!
Я скопировал рабочие сценарии и просто заменил имя файла инвентаризации и попытался запустить это. Произошел тот же сбой.
В результате примерно за три года компьютеры либо перезапускались, либо сообщали о сбое идентификатора ПК. Все сценарии, кроме указанного выше, все еще делают это.
Ни один из сценариев никогда не возвращал список чего-либо, ЕСЛИ только не было устройств, которые не удалось перезапустить — тогда эти устройства перечислены.
Когда я запускаю сценарий, немедленно возвращается следующее:
PS C:Windowssystem32 > $ machines = get-content H:PSRestartInventoryAccom.txt перезагрузка-компьютер -имя_компьютера $machines -принудительный перезапуск-Компьютер: не удается проверить аргумент для параметра ‘имя_компьютера’. Аргумент равен null или пустой. Укажите аргумент, который не является нулевым или пустым, а затем повторите попытку команды. В строке: 2 символ: 32 перезагрузка-компьютер -имя_компьютера $ machines -force ~~~~~~~~~ CategoryInfo: InvalidData: (:) [Restart-Computer], параметр привязки ValidationException FullyQualifiedErrorId: ошибка параметраargumentvalidation, Microsoft.PowerShell.Команды.Resta rtComputerCommand
PS C:Windowssystem32 >
Извините. Забыл упомянуть, что я МОГУ отключить их через shutdown / i.
Комментарии:
1. Спасибо, boxdog.
2. Какие ошибки (если таковые имеются) вы получаете? что вы пытались решить проблему? Например, нормально ли загружается список компьютеров? Они выглядят правильно? Можете ли вы перезапустить те же машины по отдельности с того же хоста с помощью консоли?
3. Сообщение об ошибке указывает на то, что в
-ComputerName
скрипте передается null или пустая строка. Я предлагаю записать выходные данные любой переменной, в которую отправляется-ComputerName
, чтобы увидеть, когда это происходит, а затем устранить неполадки оттуда.4. Запустите ((get-content H:PSRestartInventoryAccom.txt ) -notmatch ‘S’).посчитайте и посмотрите, есть ли у вас пустая строка в этом файле.
5. mjolinor — БОЛЬШОЕ СПАСИБО! Каким-то образом я позволил двум пустым строкам проникнуть в inventory.txt файл в конце. Их удаление исправило это. Спасибо всем за вашу помощь!