Ageron
31-01-2020, 15:00
нужна помощь, в создании массива значений.
$obj = New-Object –TypeName PSObject
$Computers = Get-ADComputer -Filter 'enabled -eq "true"' -Properties Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address | Select-Object -Property Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address
Foreach ($Computer in $Computers)
{
if (Test-Connection -ComputerName $Computer.Name -Count 1 -Quiet)
{
$sourceW32TM = w32tm /query /computer:$Computer.Name /source
$statusServiceW32TM = (Get-Service -Name W32Time -ComputerName $Computer.Name).Status
$precisionW32TM = (ConvertFrom-Csv -In ((w32tm /query /computer:$Computer.Name /status) -replace ':', ',') -H Status,Value)[2].value
$obj | Add-Member -MemberType NoteProperty -Name Name -Value $Computer.Name -pass |
Add-Member -MemberType NoteProperty -Name Operatingsystem -Value $Computer.Operatingsystem -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemVersion -Value $Computer.OperatingSystemVersion -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemServicePack -Value $Computer.OperatingSystemServicePack -pass |
Add-Member -MemberType NoteProperty -Name IPv4Address -Value $Computer.IPv4Address -pass |
Add-Member -MemberType NoteProperty -Name TestConnection -Value "true" -pass |
Add-Member -MemberType NoteProperty -Name sourceW32TM -Value $sourceW32TM -pass |
Add-Member -MemberType NoteProperty -Name statusServiceW32TM -Value $statusServiceW32TM -pass |
Add-Member -MemberType NoteProperty -Name precisionW32TM -Value $precisionW32TM
}
else {
$obj | Add-Member -MemberType NoteProperty -Name Name -Value $Computer.Name -pass |
Add-Member -MemberType NoteProperty -Name Operatingsystem -Value $Computer.Operatingsystem -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemVersion -Value $Computer.OperatingSystemVersion -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemServicePack -Value $Computer.OperatingSystemServicePack -pass |
Add-Member -MemberType NoteProperty -Name IPv4Address -Value $Computer.IPv4Address -pass |
Add-Member -MemberType NoteProperty -Name TestConnection -Value "false"
}
}
Write-Output $obj
должна получится таблица как во вложении.
или ссылку на код как это сделать.
$obj = New-Object –TypeName PSObject
$Computers = Get-ADComputer -Filter 'enabled -eq "true"' -Properties Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address | Select-Object -Property Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address
Foreach ($Computer in $Computers)
{
if (Test-Connection -ComputerName $Computer.Name -Count 1 -Quiet)
{
$sourceW32TM = w32tm /query /computer:$Computer.Name /source
$statusServiceW32TM = (Get-Service -Name W32Time -ComputerName $Computer.Name).Status
$precisionW32TM = (ConvertFrom-Csv -In ((w32tm /query /computer:$Computer.Name /status) -replace ':', ',') -H Status,Value)[2].value
$obj | Add-Member -MemberType NoteProperty -Name Name -Value $Computer.Name -pass |
Add-Member -MemberType NoteProperty -Name Operatingsystem -Value $Computer.Operatingsystem -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemVersion -Value $Computer.OperatingSystemVersion -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemServicePack -Value $Computer.OperatingSystemServicePack -pass |
Add-Member -MemberType NoteProperty -Name IPv4Address -Value $Computer.IPv4Address -pass |
Add-Member -MemberType NoteProperty -Name TestConnection -Value "true" -pass |
Add-Member -MemberType NoteProperty -Name sourceW32TM -Value $sourceW32TM -pass |
Add-Member -MemberType NoteProperty -Name statusServiceW32TM -Value $statusServiceW32TM -pass |
Add-Member -MemberType NoteProperty -Name precisionW32TM -Value $precisionW32TM
}
else {
$obj | Add-Member -MemberType NoteProperty -Name Name -Value $Computer.Name -pass |
Add-Member -MemberType NoteProperty -Name Operatingsystem -Value $Computer.Operatingsystem -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemVersion -Value $Computer.OperatingSystemVersion -pass |
Add-Member -MemberType NoteProperty -Name OperatingSystemServicePack -Value $Computer.OperatingSystemServicePack -pass |
Add-Member -MemberType NoteProperty -Name IPv4Address -Value $Computer.IPv4Address -pass |
Add-Member -MemberType NoteProperty -Name TestConnection -Value "false"
}
}
Write-Output $obj
должна получится таблица как во вложении.
или ссылку на код как это сделать.