【问题标题】:PS Script: Match First 3 octets of IP address with IPArrayPS 脚本:将 IP 地址的前 3 个八位字节与 IPArray 匹配
【发布时间】:2018-10-04 02:02:18
【问题描述】:

在 PS 脚本方面需要帮助。

要求:我想使用 FTP 将大文件复制到多个 VM。我有具有 C 类子网的多个 IP 范围的 FTP。 例如“10.10.10.10”、“10.11.10.10”“10.10.12.10”、“10.10.10.13”(均为 C 类,子网为 255.255.255。

脚本将在每个 VM 上本地执行。所以我希望脚本匹配分配 IP 的前 3 个八位字节(很少有虚拟机也有多个不同范围的 IP),然后从 IP 地址列表中选择 FTP IP 并将其设置为变量。

据我所知,我创建了包含所有 FTP IP 地址的 IP 数组。然后我使用 Win32_NetworkAdapterConfiguration 来获取 IP 地址、子网和网关的列表。我将 Win32_NetworkAdapterConfiguration 放到哈希表中,以便可以使用它进行比较。

需要帮助来比较哈希表数据并从 IP 数组中获取匹配的 IP 地址并将该 FTP IP 设置为变量。

。如果 VM A 的 IP 为 10.10.12.25,那么它应该使用 10.10.12.10 FTP IP。

我需要使用 Win32_NetworkAdapterConfiguration 使脚本与运行 PS v2 的旧操作系统兼容

$FTPIPs = @("10.10.10.10","10.11.10.10""10.10.12.10","10.10.10.13")
$AllIPs = @()
foreach ($adapter in (Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName $env:COMPUTERNAME ))
        {
         $Prop = @{
                'IPAddress' = $adapter.IpAddress
                'SubnetMask' = $adapter.IPSubnet
                'DefaultGateway' = $adapter.DefaultIPGateway
         }      
$obj = New-Object -TypeName PSobject -Property $Prop
$AllIPs += $obj
        }

【问题讨论】:

    标签: arrays powershell split pattern-matching match


    【解决方案1】:

    创建的脚本如下。

    $FTPIPs = @("10.10.10.10","10.11.10.10","10.10.12.10","10.10.10.13")
    $Prop = @{
        'IPAddress' = '10.11.10.54'
        'SubnetMask' = '255.255.255.128'
        'DefaultGateway' = '10.11.10.1'
    }
    $LocalIP = New-Object -TypeName PSobject -Property $Prop
    
    $FTPIPs |
    ForEach-Object {
        If ((([IPAddress]$LocalIP.IPAddress).Address -band ([IPAddress]$LocalIP.SubnetMask).Address) -eq (([IPAddress]$_).Address -band ([IPAddress]$LocalIP.SubnetMask).Address)) {
            "$_ is in the same subnet as $($LocalIP.IPAddress)"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 2020-10-17
      • 2023-01-05
      • 2015-11-02
      相关资源
      最近更新 更多