1

NLBをインストールしてセットアップしました。私は次のようにインターフェースデータを取得します:

Get-NlbClusterNodeNetworkInterface



InterfaceName       : quanet
   NlbBound            : False
   Cluster             :
   DhcpEnabled         : False
   InterfaceIP         : 10.165.250.206
   InterfaceSubnetMask : 255.255.0.0
   ClusterPrimaryIP    :
   ClusterSubnetMask   :

   InterfaceName       : cluster
   NlbBound            : False
   Cluster             :
   DhcpEnabled         : False
   InterfaceIP         : 172.16.1.206
   InterfaceSubnetMask : 255.255.255.0
   ClusterPrimaryIP    :
   ClusterSubnetMask   :

Powershellを使用してNlbBoundをtrueに設定したいと思います。言うまでもなく、プロパティの設定は機能しません。例えば

   $x = Get-NlbClusterNodeNetworkInterface
   $x[1].nlbbound = $true
   $x = Get-NlbClusterNodeNetworkInterface
   echo $x[1].NlbBound
   False

この機能はスクリプトで実行されるため、ネットワークアダプタ設定でプロパティを明示的に設定する必要はありません。また、可能であればWMIの使用は避けたいと思います。

Get-Memberコマンドレットによると、NlbBoundプロパティは設定可能です。

Get-Member -InputObject $x[1]

   TypeName: Microsoft.NetworkLoadBalancingClusters.PowerShell.NetworkInterface

Name                MemberType Definition
----                ---------- ----------
Equals              Method     bool Equals(System.Object obj)
GetHashCode         Method     int GetHashCode()
GetType             Method     type GetType()
ToString            Method     string ToString()
Cluster             Property   System.String Cluster {get;set;}
ClusterPrimaryIP    Property   System.String ClusterPrimaryIP {get;set;}
ClusterSubnetMask   Property   System.String ClusterSubnetMask {get;set;}
DhcpEnabled         Property   System.Boolean DhcpEnabled {get;set;}
InterfaceIP         Property   System.String InterfaceIP {get;set;}
InterfaceName       Property   System.String InterfaceName {get;set;}
InterfaceSubnetMask Property   System.String InterfaceSubnetMask {get;set;}
NlbBound            Property   **System.Boolean NlbBound {get;set;}**
4

1 に答える 1

0
Import-Module ServerManager

# Interface cards should be named the same and have a fixed IP
$interfaceName = "NLB"
$clusterName = "NLB-Cluster"
$clusterIpAddress = "1.2.3.0"
$clusterSubnet = "255.0.0.0"

# Install Network Load Balancing and Tools
Write-Host "Install Network Load Balancing and Tools"
Add-WindowsFeature NLB, RSAT-NLB
Import-Module NetworkLoadBalancingClusters

# If the cluster hasn't been created yet then create it
if (!(Get-NlbCluster -HostName $clusterIpAddress -ErrorAction SilentlyContinue))
{
    Write-Host "Creating NLB Cluster: $clusterName" -ForegroundColor yellow 

    # Create Cluster (default unicast)
    New-NlbCluster -InterfaceName $interfaceName -ClusterName $clusterName -ClusterPrimaryIP $clusterIpAddress -SubnetMask $clusterSubnet 

    # Remove defaults
    Write-Host "Removing default port rules" -ForegroundColor yellow 
    Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force

    # Create port rules
    Get-NlbCluster | Add-NlbClusterPortRule -StartPort 80 -EndPort 80 -Protocol TCP -Affinity None | Out-Null
    Get-NlbCluster | Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -Protocol TCP -Affinity None | Out-Null 
}
else
{
    Get-NlbCluster 
}

# if this node isn't already a member of a cluster then add it
if(!(Get-NlbClusterNode -HostName $env:COMPUTERNAME))
{
    # Add node to cluster
    Write-Host "Adding node to cluster: $clusterName" -ForegroundColor yellow 
    Get-NlbCluster -HostName $clusterIpAddress | Add-NlbClusterNode -NewNodeName $env:COMPUTERNAME -NewNodeInterface $interfaceName
}
else
{
    Get-NlbClusterNode
}
于 2012-05-28T10:30:45.007 に答える