2012-05-22 35 views
1

我有NLB安装和设置。我得到的接口数据是这样的:绑定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 cmdlet中NlbBound属性是setible:

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;}** 
+0

见我的答案在这里它应该让你对你的方式: [加入现有的NLB群集] [ 1] [1]:http://stackoverflow.com/questions/10435376/joining-an-existing-nlb-cluster/10734854#10734854 –

+0

优秀。如果您将您的评论重写为答案,我会将其标记为已接受,这样您会获得更多布尔点。非常感谢。 –

回答

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 
}