web-dev-qa-db-ja.com

ActiveDirectoryのライセンスのないワークステーション

私は監査人ですが、私が働いている会社の2人のユーザーがライセンスのないWindowsオペレーティングシステムを使用していることがわかりました。そのため、他のユーザーがいる可能性があると思います。 Windowsをアクティブ化していないドメイン内のすべてのアカウントを抽出する方法があるかどうか知りたいのですが。

2
iliyandobrev

はい、 複数オプション があります。 Scriptin Guysブログから、Get-ActivationStatusスニペット(または関数)を取得して、次のようなものを試してください。

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
    }
}
1
bjoster

ボリュームアクティベーション管理ツール(VAMT) を使用してレポートを取得しますか?

ボリュームアクティベーション管理ツール(VAMT)を使用すると、ネットワーク管理者やその他のITプロフェッショナルは、Windows®、Microsoft®Officeを自動化して一元管理し、その他のマイクロソフト製品のボリュームおよび小売アクティベーションプロセスを選択できます。 VAMTは、複数のアクティベーションキー(MAK)またはWindowsキー管理サービス(KMS)を使用してボリュームアクティベーションを管理できます。

VAMTは、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、およびMicrosoft Office2013のボリュームアクティベーションを管理するように設計されています。 。WindowsXPまたはWindowsServer 2003のボリュームエディションがインストールされているコンピューターは、VAMTを使用して管理できません。ただし、これら2つのオペレーティングシステムにインストールされているOffice2010およびOffice2013製品は引き続き管理できます。

1
yagmoth555

Windowsをアクティブ化していないドメイン内のすべてのアカウントを抽出する方法があるかどうか知りたいのですが。

いいえ、これを行う方法はありません-ActiveDirectoryはそれを追跡しません。特にローカルアクティベーションサーバーを実行していない場合は、マシンをアクティベートしない理由もあります(ほとんどの場合、開発目的で一時的にしか存在しないVMとマシン)。

基本的に実行する別の回答で提供されるPowerShellスクリプトがあります

Get-ADComputer -Filter * | Get-ActivationStatus

  • ただし、要求したとおりにActiveDirectoryからステータスを取得しません。 ADにすべてのマシンを照会してから、それらに問い合わせます。

これには複数の問題があります。

  • チェックするには、マシンがオンラインである必要があります
  • 権限はチェックを許可する必要があります。
  • マシンは到達可能である必要があります。つまり、コールがファイアウォールで保護されていないか、NATの背後にある必要があります。
0
TomTom