Есть цикл, который перебирает диапазон IP адресов:
$ipStart = '10.62.39.1'
$ipEnd = '10.62.39.16'
for ($x = $ipStart[3]; $x -le $ipEnd[3]; $x++)
{
$ip = $ipStart[0], $ipStart[1], $ipStart[2], $x -join '.'
$sql = "INSERT INTO computers (ip) VALUES ('$ip');"
Invoke-DB -sql $sql
}
Далее, эти IP адреса заносятся в базу данных с помощью функции:
function Invoke-DB
{
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string]$sql
)
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $conn;
$cmd.ExecuteNonQuery() | Out-Null
}
Суть в том, что мне нужно занести в таблицу БД ещё и наименование компьютера, наименование ОС согласно IP-адреса.
Должно быть так:
10.62.39.1 | RS062039 | Windows 10
10.62.39.2 | RS062045 | Windows 10
10.62.39.3 | RS062048 | Windows 10
Думаю, есть строка запроса имени компьютера:
Get-ADComputer -identity SRV-DB01 -Properties * | FT Name
Как написать код, чтобы имя компа и имя ОС было совместимо с IP-адресом компьютера?