0

会社のドメインにあるすべての Windows 7 コンピューターにクエリを実行し、最後に Microsoft Office を使用した時間を特定する方法を急いで見つけようとしています。私たちは監査を受けており、明日 (はい) 完了する必要があります。不要なライセンスの支払いを行う前に、Office をアンインストールできるかどうかを確認したいと考えています。

しばらく PowerShell を使用していませんでしたが、率直に言って、これは昨夜このコードを開始してから見つけたものです (つまり、newb)。たぶん、もっと良い方法や簡単な方法はありますか?昨夜、事前に作成されたスクリプトまたはプログラムを検索してみましたが、Office が最後に使用されたのはいつであるかを示すものは見つかりませんでした。

以下のコードと関数を使用して最新の「LastUse」を取得できますが、その番号が関連付けられているコンピューター名を知る必要があります。現在、最新の番号を返すだけです: 20170928

function Measure-Latest {
BEGIN { $latest = $null }
PROCESS {
        if (($_ -ne $null) -and (($latest -eq $null) -or ($_ -gt $latest))) {
            $latest = $_ 

        }
}
END { $latest }
} 

$Software = Get-WmiObject -Class win32_softwarefeature | Select Caption,LastUse
$ComputerName = $env:COMPUTERNAME

$(foreach ($item in $Software) 
{
$Name = $Item.Caption
$LastUsedString = $Item.Lastuse.Substring(0,8)
$LastUsed = [int]$LastUsedString



    if ($Name -like 'Microsoft Office*' -or $Name -like 'Microsoft Outlook')  
       { 

        $LastUsed
            }   }) | Measure-Latest 
4

2 に答える 2