Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


microsoft-system-center:configuration-manager:sccm-2012-r2-add-computers-to-collection-from-file-with-powershell

SCCM 2012 R2 - Добавляем компьютеры в Коллекцию из текстового файла через PowerShell

Простой PowerShell-скрипт для добавления компьютеров в Коллекцию компьютеров Microsoft System Center 2012 R2 Configuration Manager из текстового файла

code.ps1
$CMModulePath = "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1"
$CMSiteCode = "K01"
$CMCollectionID = "K010013A"
$CMClientsList = "D:\Temp\Computers.txt"
#
If ( ! (Get-module ConfigurationManager )) { 
    Import-Module $CMModulePath -verbose
 
}
Set-Location $CMSiteCode":"
#
$ComputerList = Get-Content $CMClientsList
Foreach($Computer in $ComputerList)
{
 Write-Host $Computer -Foreground green
 Add-CMDeviceCollectionDirectMembershipRule -CollectionID $CMCollectionID `
  -ResourceId $(Get-CMDevice -Name $Computer).ResourceID
}
Write-Host "Complete" -Foreground magenta

Пример файла, из которого считываются имена компьютеров:

Computers.txt
KOM-WS001
KOM-WS003
KOM-SRV01

Автор первичной редакции:
Алексей Максимов
Время публикации: 22.05.2017 13:04

Обсуждение

КонстантинКонстантин, 02.10.2017 06:37
Здравствуйте!
Скрипт ваш очень полезен... но...
Не работает у меня скрипт ваш по добавлению компьютеров в Коллекцию компьютеров Microsoft System Center 2012 R2 Configuration Manager из текстового файла...
Ошибок много, ругается чуть ли не на каждую строчку.. например сайт "K01", почему то пишет что нет диска такого, потом про то что модули нет... и т.п.
Запускаю скрипт через встроенный в систему PowerShell.
В чем может быть проблема?
Алексей МаксимовАлексей Максимов, 02.10.2017 07:51
Здравствуйте, Константин. Первые четыре строчки скрипта - переменные, которые должны быть заменены Вашими значениями.
КонстантинКонстантин, 03.10.2017 06:54
Добрый день. Нашел в чем была проблема... оказывается в Windows 7 встроен PowerShell 2 версии, а необходимо 3 версии.. установил, заработало. Спасибо!
Только вопрос еще один...
В строке Add-CMDeviceCollectionDirectMembershipRule -CollectionID $CMCollectionID `
-ResourceId $(Get-CMDevice -Name $Computer).ResourceID
... заменил Add на Remove и получилось удаление компа из коллекции... вот только при удалении компа из коллекции требует подтверждение постоянно.. как сделать чтобы по умолчанию было "Y"?
AlexKanAlexKan, 17.09.2020 15:16
Используйте ключ -Force
КонстантинКонстантин, 03.10.2017 07:55
Возможно ли отследить информацию о текущем состоянии при установке на клиенте любого пакета через Microsoft System Center 2012 R2 Configuration Manager? Например, "идет установка приложения... завершено установка и т.п."
ПавелПавел, 13.03.2019 11:31
Это работает. Спасибо огромное!
АндрейАндрей, 16.07.2020 11:38
Скрипт очень полезный, спасибо!
ИванИван, 18.05.2022 14:00
Отличный скрипт! Очень помог.
Поначалу тупанул и указал имя коллекции, а не ID.

Спасибо!
МихаилМихаил, 21.03.2023 12:11
Добрый день.
Где найти у себя в Configuration Mansger
$CMSiteCode
$CMCollectionID
Алексей МаксимовАлексей Максимов, 21.03.2023 12:41
Здравствуйте, Михаил.
Спросите у администратора Configuration Manager.
МихаилМихаил, 21.03.2023 13:13
Теперь при прогоне скрипта выдает ошибку



Add-CMDeviceCollectionDirectMembershipRule : Не удается привязать аргумент к параметру "ResourceId", так как он имеет значение NULL.
Ваш комментарий:
 
microsoft-system-center/configuration-manager/sccm-2012-r2-add-computers-to-collection-from-file-with-powershell.txt · Последнее изменение: 22.05.2017 13:10 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki