Я новичок в PowerShell. Я пишу скрипт для вычисления идентификатора сети и широковещательного адреса с использованием IP-адреса и маски Su bnet. Я борюсь с логическим и. Мой скрипт запрашивает у пользователя IP и Su bnet, а затем преобразует приглашение в двоичный файл. Затем я использую для l oop, чтобы выполнить логическое и. Однако '.' является частью ввода в for l oop, поэтому операция не работает. Могу ли я удалить «.» с целью операции? Часть моего кода вставлена ниже. Я уверен, что есть простое решение, но я новичок, поэтому любая помощь приветствуется. Спасибо!
$input = Read-Host "Would you like to calculate the Network Address? (Y for yes, N for no)"
if ($input -eq 'Y')
{
$ipAddress = Read-Host "Please enter your IP Address"
$ipBin = $ipAddress -split '\.'| ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8, '0')}
$ipBinJoin = $ipBin -join '.'
$subnetMask = Read-Host "Please enter your Subnet Mask"
$subnetBin= $subnetMask -split '\'| ForEach-object {[System.Convert]::ToString($_,2).PadLeft(8, '0')}
$subnetBinJoin = $subnetBin -join '.'
echo $ipAddress, $ipBinJoin
echo $subnetMask, $subnetBinJoin
for ($i = 0; $i -lt 32; $i++)
{
$networkIDBin = $ipBinJoin.Substring($i,1) -band $subnetBinJoin.Substring($i,1)
}