Estações de trabalho não licenciadas no Active Directory

2

Sou auditor e descobri que dois dos usuários da empresa para quem trabalho têm sistemas operacionais Windows não licenciados, o que me leva a acreditar que talvez haja outros. Estou curioso para saber se existe alguma maneira de extrair todas as contas no domínio que não ativaram o Windows?

    
por iliyandobrev 27.03.2018 / 13:26

3 respostas

1

Sim, existem vários opções . Do Scriptin Guys Blog, pegue o Get-ActivationStatus snippet (ou função) e tente algo assim:

Get-ADComputer -Filter * | Get-ActivationStatus | Export-Csv C:\Activation.csv

function Get-ActivationStatus {
[CmdletBinding()]
    param(
        [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
        [string]$DNSHostName = $Env:COMPUTERNAME
    )
    process {
        try {
            $wpa = Get-WmiObject SoftwareLicensingProduct -ComputerName $DNSHostName '
            -Filter "ApplicationID = '55c92734-d682-4d71-983e-d6ec3f16059f'" '
            -Property LicenseStatus -ErrorAction Stop
        } catch {
            $status = New-Object ComponentModel.Win32Exception ($_.Exception.ErrorCode)
            $wpa = $null    
        }
        $out = New-Object psobject -Property @{
            ComputerName = $DNSHostName;
            Status = [string]::Empty;
        }
        if ($wpa) {
            :outer foreach($item in $wpa) {
                switch ($item.LicenseStatus) {
                    0 {$out.Status = "Unlicensed"}
                    1 {$out.Status = "Licensed"; break outer}
                    2 {$out.Status = "Out-Of-Box Grace Period"; break outer}
                    3 {$out.Status = "Out-Of-Tolerance Grace Period"; break outer}
                    4 {$out.Status = "Non-Genuine Grace Period"; break outer}
                    5 {$out.Status = "Notification"; break outer}
                    6 {$out.Status = "Extended Grace"; break outer}
                    default {$out.Status = "Unknown value"}
                }
            }
        } else {$out.Status = $status.Message}
        $out
    }
}
    
por 04.04.2018 / 15:25
1

Apesar de usar Ferramenta de gerenciamento de ativação de volume (VAMT) para obter um relatório?

The Volume Activation Management Tool (VAMT) enables network administrators and other IT professionals to automate and centrally manage the Windows®, Microsoft® Office, and select other Microsoft products volume and retail-activation process. VAMT can manage volume activation using Multiple Activation Keys (MAKs) or the Windows Key Management Service (KMS).

VAMT is designed to manage volume activation for: Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Microsoft Office 2010, and Microsoft Office 2013. Computers installed with volume editions of Windows XP or Windows Server 2003 cannot be managed using VAMT. However, Office 2010 and Office 2013 products installed on these two operating systems can still be managed.

    
por 04.04.2018 / 16:17
0

I am curious to know if there is any way to get extract all of the accounts in the domain that have not activated their Windows?

Não, não há como fazer isso - o Active Directory não o acompanha. Também há boas razões para NÃO ativar máquinas, especialmente se você não executar um servidor de ativação local (principalmente: VMs e máquinas que vivem apenas temporariamente para fins de desenvolvimento).

Existe um script powershell fornecido em outro anwer que basicamente executa

Get-ADComputer -Filter * | Get-ActivationStatus

  • mas não obtém o status do diretório ativo como você pediu. Ele consulta o AD para todas as máquinas e, em seguida, pergunta a elas.

Isso tem vários problemas:

  • A máquina deve estar on-line para ser verificada
  • As permissões devem permitir a verificação.
  • A máquina deve estar acessível, ou seja, a chamada não é protegida por firewall e / ou por trás do NAT
por 04.04.2018 / 15:34