Я получаю информацию о мониторах из WMI.Есть свойства под названием «WeekOfManufacture» и «YearOfManufacture».В данном случае это:
Week : 24
Year : 2009
Я пытаюсь получить приблизительную дату, соответствующую этому.
Я делаю это, чтобы получить действительно грубую оценку:
(Get-Date -Date $YearOfManufacture/01/01).AddDays(7*$WeekOfManufacture)
Но очевидно, что "неделя" не всегда должна иметь 7 дней.
Каков наилучший подход?
Полный код, который я сейчас использую:
$Monitors = Get-WmiObject WmiMonitorID -Namespace root\wmi
foreach ($Monitor in $Monitors) {
$Manufacturer = ($Monitor.ManufacturerName -notmatch 0 | ForEach{[char]$_}) -join ""
$Code = ($Monitor.ProductCodeID -notmatch 0 | ForEach{[char]$_}) -join ""
$Name = ($Monitor.UserFriendlyName -notmatch 0 | ForEach{[char]$_}) -join ""
$Serial = ($Monitor.SerialNumberID -notmatch 0 | ForEach{[char]$_}) -join ""
$WeekOfManufacture = $Monitor.WeekOfManufacture
$YearOfManufacture = $Monitor.YearOfManufacture
$DateManufacture = (get-date -Date $YearOfManufacture/01/01).AddDays(7*$WeekOfManufacture)
"$Manufacturer - $Code - $Name - $Serial - $DateManufacture"
}
, который возвращает что-то вроде (запутанная информация):
SAM - 1234 - SycMastr - XXXX - 06/18/2009 00:00:00
SAM - 1234 - SycMastr - XXXX - 09/10/2009 00:00:00