我安装了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。不用说设置属性不起作用。 e.g
$x = Get-NlbClusterNodeNetworkInterface
$x[1].nlbbound = $true
$x = Get-NlbClusterNodeNetworkInterface
echo $x[1].NlbBound
False
我想避免在网络适配器设置中显式设置属性,因为此功能将存在于脚本中。 如果可能的话,我也想避免使用WMI。
根据Get-Member cmdlet,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;}**
答案 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
}