Назад | Перейти на главную страницу

Как получить аутентификацию лицензии Microsoft для всех машин в сети?

У нас есть небольшая сеть (~ 150 рабочих столов, ~ 20 серверов), большая часть которой - Linux. MS хочет проводить аудит наших продуктов MS примерно каждые 3 года. У меня действительно нет времени идти к 80-90 рабочим столам и копировать ключи активации Win, а затем соотносить ключи лицензирования программного обеспечения MS.

Есть ли способ получить эту информацию с помощью Active Directory? Может быть, с помощью PowerShell?

Заранее спасибо.

Мы развернули OCS Inventory. Это бесплатно, потрясающе и предоставляет всю необходимую информацию.

OCS Inventory NG Projet

Общее решение:

Я думаю, что решение этой проблемы, ориентированное на Microsoft, - лицензировать использование клавиши регулировки громкости, а затем просто используйте свой KMS сервер для отчета о статусе активации лицензии.

Windows 7 и выше - решение

Если корпоративное лицензирование невозможно, и все ваши клиенты работают под управлением Windows 7 или новее, вы можете просто запросить SoftwareLicensingProduct WMI класс на каждом компьютере для получения сведений о лицензировании, вот пример использования PowerShell и AD:

$Clients = Get-ADComputer -LDAPFilter "(&(operatingSystem=*Windows*))"

$LicenseQuery = "SELECT ApplicationID,Name,Description,ProductKeyID,PartialProductKey FROM SoftwareLicensingProduct WHERE LicenseStatus = 1"

foreach($Client in $Clients){
    $ActiveLicenses = @(Get-WmiObject -Query $LicenseQuery -ComputerName $Client.Name)
    if($ActiveLicense.Count -le 1){
        Write-Warning "Unable to find active license for computer $($Client.Name)"
    }
    # Do what you want with the license information here
}

Это потребует немного обработки ошибок и логики вывода (вы можете экспортировать детали в файл CSV, если хотите), но это поможет вам двигаться в правильном направлении.

Атрибутов, которые я включил в запрос, должно быть достаточно для аудита, но если есть сомнения, обратитесь в Microsoft.

Мы обрабатываем это так, что наши сценарии запуска PowerShell используют NirSoft ProduKey для извлечения этой информации из системы и загрузки данных в общую папку. Мы уже использовали сценарии запуска PowerShell для управления множеством наших административных задач, поэтому было достаточно просто добавить еще один шаг.

Всякий раз, когда меня спрашивают о лицензиях, я просто просматриваю загруженные отчеты и проверяю совпадение счетчиков, проверяю наличие повторяющихся ключей и т. Д.

Сначала у меня был скрипт PowerShell для обхода WMI и реестра вручную для этой информации, но было несколько крайних случаев, с которыми инструмент NirSoft справился лучше, чем мой доморощенный инструмент.

используя NirSoft ProduKey:

ProduKey.exe /remoteall 

ищите другие параметры командной строки в readme.txt