Александр @aenikitin
Ведущий инженер
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург и область, Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность
Специализация
System Administration
Lead
Vmware vSphere
VMware
PowerShell
Ansible
Ведущий инженер
Вот лопух то…
1. Вместо Where-Object {} можете использовать альяс ?{}. А вместо Select-Object просто select. Имена свойств можно указывать без аргумента -Property. Этот аргумент удобно использовать для просмотра всех свойств объекта, например | select -Property *
2. Зачем вам в Get-AD(Object, Computer,User,Group) аргумент Filter? Вы выбрали все станции, а потом отсортировывали не выключенные станции через Where-Object проделывая, считай, двойную работу. Читай вы внимательно хелп к командлетам (это кстати можно удобно делать через Get-Help -Online), узнали бы что получить сразу не выключенные станции можно так:
3. Пинг компьютера вам уже подсказали выше можно было бы сделать через Test-Connection. Уточню лишь, что используя этот командлет вне условия if вы рискуете получить не булевый результат, а массив с результатами теста, по этому если вам нужно получить результат пинга в булеву переменную используйте аргумент -Quiet.
4. Получить наличие хрома на компьютере действительно лучше посредством WMI-запроса. Командлет для всех WMI запросов один — это Get-WMIObject. Необходимый командлету параметр это -Class. Что бы получить список WMI классов можно воспользоваться свитчем -List. Нужный нам для нашей задачи класс — Win32_InstalledProgram. Ну а полный запрос наличия хрома будет выглядеть так:
Итого, если не заниматься ерундой с выводом в консоль получается вот такой лаконичный код:
Он чутка сложнее для понимания новичками, так как не использует развернутую конструкцию foreach и можно легко запутаться в ссылках на текущий объект ($_). Но мне нравится как такой код выглядит. Прошу прощения за помпезность. ;-)
Если посмотреть вот сюда, то явно видно что ограничение 32ГБ оперативной памяти есть у самых младших версиё Standard/WebServer (про Foundation вообще не говорим). Enterprise же ограничена 64ГБ в 32 разрядной редакции и 1 ТБ в 64 разрядной (для R2 — 2ТБ).
Апгрейд между версиями (я так понимаю вы имеетие ввиду Standard — Datacenter) возможен только в сторону повышения — от Std к DC, что собственно было и в Win 2008/R2 там только путь был длиннее Std — Ent -DC. Ничего странного в этом не вижу.