加入现有 NLB 集群

2023-12-28

我一直在尝试编写一个 powershell 程序来检查集群是否存在。如果没有,那么它会创建它并将自己添加到其中。 如果另一台计算机醒来,它会检查集群是否存在,如果存在,则将自己添加到集群中。

我在尝试从集群 IP 地址获取对集群对象的引用时遇到问题。每个节点都知道它的地址和集群地址。我想避免每个节点都有其集群中所有其他节点的列表。

我发现我需要查看非集群 IP 地址才能使 get-nlbcluster 正常工作。指定集群 IP 地址只是错误。

有什么方法可以做到这一点,而不必每次在集群中添加或删除节点时更新每个节点上的此列表。我想我还想避免节点醒来并必须轮询“主”列表中的每台机器以查找已启动的机器以将其自身添加到集群的情况。


这有帮助吗?我不久前就做到了,但从未有机会完全测试它:

#Add a new node to NLB cluster
#Tested with Windows Server 2008 R2 only
#Requires WSManCredSSP Server Role Enabled on cluster Host
Function join-NlbCluster {
    Param(
        [Parameter(Mandatory=$true)]
        $clusterHostname,
        [Parameter(Mandatory=$true)]
        $newNodename,
        [Parameter(Mandatory=$true)]
        $newNodeinterfaceName,
        [Parameter(Mandatory=$true)]
        $userName,
        [Parameter(Mandatory=$true)]
        $password
        )
    Write-Verbose "Verifiying if the remote node has NLB installed"
    If (!((Get-OSFeature -computerName $newNodename -featureName NLB).Installed)) {
        Write-Error "NLB feature is not installed on $newNodename. Cannot continue."
        return $false
    }
    $cmdBlock = "Import-Module networkLoadBalancingClusters
    `$nlbCluster = Get-nlbCluster -HostName $clusterHostName
    if (`$nlbCluster) {
        `$newNode = Add-NlbClusterNode -InputObject `$nlbCluster -NewNodeName $newNodename -NewNodeInterface `"$newNodeinterfaceName`"
        if (`$newNode) {
            Write-Host `"New node is added to cluster`"
            return `$newNode
        } else {
            Write-Host `"Error Creating the NLB Cluster`"
            return `$false
        }
    } else {
        Write-Host `"No NLB cluster found on $clusterHostname`"
        return `$false
    }"

    Write-Verbose $cmdBlock
    $scriptBlock = $ExecutionContext.InvokeCommand.NewScriptBlock($cmdBlock)
    try {
        Write-Verbose "Creating new NLB Cluster"
        Invoke-Command -ComputerName $clusterHostName -ScriptBlock $scriptBlock -HideComputerName -Authentication Credssp -Credential (Get-PSCredential -userName $userName -Password $password)
    }
    catch {
        Write-Verbose $_
        return $false
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加入现有 NLB 集群 的相关文章

  • 如何在 PowerShell 中使用参数执行外部程序?

    我读过这个答案堆栈溢出 https stackoverflow com questions 1673967 how to run exe in powershell with parameters with spaces and quote
  • 使用 shell_exec Powershell 输出到 PHP 变量

    我有一个 powershell 脚本 它输出视频文件持续时间 运行这个脚本给了我预期的结果 Folder C my path to folder File sample1 1280 720 mp4 LengthColumn 27 objSh
  • 如何从计划任务中删除触发器

    我使用 PowerShell 中的任务计划程序 cmdlet 为 Perfmon 数据收集器集的计划任务配置触发器 我使用以下命令来修改计划任务并在服务器启动时启动数据收集器集 trigger New ScheduledTaskTrigge
  • Powershell 设置盖子关闭操作

    我想自动设置 Windows 7 在我的工作笔记本电脑上合上盖子时所执行的操作 因为每次登录时都会通过 GPO 重置该操作 我知道我可以在批处理脚本中使用 powercfg 命令来实现此目的 powercfg setacvalueindex
  • Powershell 调用程序集委托

    我有一个用于过程控制应用程序的 dll 程序集 我在我的内部使用 load电源外壳 script 该DLL包含我需要使用的委托类型 委托名称是 X Y Delegate 我在该 DLL 中有另一个方法 应该这样调用 Method deleg
  • Powershell脚本命令持久化

    我开始学习 Powershell 并编写一个模块 psm1 来存储我的函数 然后我将这段代码插入到模块中 以便在修改模块时重新加载模块 function reload Remove Module init Import Module F S
  • 将 stdout 和 stderr 重定向到单独的文件时抑制 NativeCommandError 输出

    我有以下文件 test ps1 e test bat gt stdout txt 2 gt stderr txt test bat echo off echo write to stdout echo write to stderr gt
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 如何修复在 Windows 终端中启动“powershell.exe”时出现的错误 0x800700c1?

    最近我在 Windows 终端中遇到以下错误 error 0x800700c1 when launching C Users Dry C Desktop AppData Local Microsoft WindowsApps Microso
  • 与 Write-Host 相比,Write-Output 的使用非常不可靠

    有人指出一个问题 如果我希望命令按顺序操作 建议使用 Write Output 而不是 Write Host 因为 Write Host 不会将输出放在管道上 而其他命令却这样做 这意味着 Write Host 输出可以发生在管道上的其他命
  • 通过将密码与命令一起传递,使用 powerShell 脚本进行 ssh

    如果我输入 我可以从 PowerShell ssh 到服务器 ssh 用户名 主机 这会提示输入密码 我输入有效的密码 但我试图编写一个脚本 通过 ssh 进入服务器执行一些脚本并返回 所以我必须传递密码和命令我该怎么做 关于 shell
  • Powershell - 奇怪的 WSL 输出字符串编码

    今天我只是想检查我的 Windows 工作站上是否安装了特定的子系统 因此 我使用 Windows Subsystem for Linux WSL 并安装可从 Microsoft Store 获取的 Ubuntu 现在我试图找到一种方法来检
  • 尝试在 powershell 5.1 中使用here-strings 但不起作用

    当我尝试在 PS 5 1 中使用此处字符串时 出现红色曲线 我缺少什么 function Main csv test1 test2 echo csv Main Error White space is not allowed before
  • 使用 UTF-8 编码的 Powershell 字符串变量

    我检查了许多与此相关的问题 但找不到解决我的问题的东西 基本上 我想将 UTF 8 编码的字符串存储在变量中 然后使用该字符串作为文件名 例如 我正在尝试下载 YouTube 视频 如果我们打印视频标题 则会显示非英文字符 ytd这是you
  • 导入模块 WebAdministration 不会从脚本加载,但会从命令行加载

    我正在进行一个使用的项目PowerShell编写构建脚本 该构建利用了WebAdministration模块来管理本地 IIS 实例 当我运行构建脚本时 尝试导入时会引发以下错误WebAdministration 错误 06 29 2016
  • 如何在管道函数中使用 Write-Progress?

    我正在尝试编写一个函数PowerShell接受管道输入 我想使用显示进度条Write Progress 管道中每个项目的增量 例如 function Write PipelineProgress Cmdletbinding Param Pa
  • Pester 没有捕获抛出的错误

    当我运行以下纠缠测试时 我希望它能够捕获预期的错误 但事实并非如此 但是 当我使用不同的函数和不同的 throw 语句运行测试时 它会起作用 纠缠测试 Describe Remove GenericCredential Function T
  • 在 Powershell 4 中压缩和解压缩文件

    我使用的是 Windows Server 2012 R2 64 位 我有 powershell 版本 4 可用 我正在尝试压缩和解压缩文件 当我尝试 Write Zip 命令时 它会抛出以下错误 Write Zip 术语 Write Zip
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 在 .Net 中保持 Powershell 运行空间打开

    我正在尝试从 VB Net 中运行一些 PowerShell 代码 如果您知道的话 C 编码器也可能会有所帮助 代码的第一部分 我需要使用密码连接到 na 控制器 并且需要保持连接打开 我还有其他命令需要通过单击按钮来运行 获取文件 显示文

随机推荐

  • 强制 Bootstrap 下拉菜单始终显示在底部并允许其离开屏幕

    当视口底部没有空间容纳下拉菜单时 它会显示在下拉按钮的顶部 是否可以改变这种行为并使下拉菜单始终出现在底部 div class dropdown div
  • Groovy Eclipse 插件组织导入

    我一直在使用最新版本的 groovy eclipse 插件 适用于 eclipse 3 4 我注意到当我在文件上运行组织导入时 它实际上删除了我需要的一些导入 它似乎删除了我的项目中的那些 而不是 java 导入 有什么想法吗 谢谢 杰夫
  • Android 倒计时器的小时/分钟选择器

    我正在尝试实现类似倒计时器的东西 在 0 时播放警报 我希望能够设置计时器响起之前等待的时间 我想知道是否有一个 UI 小部件或元素可以提供这种选择功能 基本上 android有类似iPhone选择旋转轮的东西吗 或者是否有某种类型的时间选
  • 如何将 -L 链接器标志传递给 rustc 以进行基于货物的项目?

    如何办理货物通行证 Lrustc 调用的链接器标志 现在可以使用 cargo config See https github com rust lang cargo issues 1109 https github com rust lan
  • CodeIgniter 延迟加载库/模型/等

    在编写 CodeIgniter 应用程序时 我的控制器操作往往以如下几行开头 this gt load gt model abc model this gt load gt library ijk 然后 只是为了完整性 它们的使用如下 th
  • 无法从 Github 容器注册表 (GHCR) 提取公共映像

    我已将映像推送到 Github 容器注册表 GHCR 并将其公开 当我尝试拉它时 出现错误 我已经完成了docker login docker pull ghcr io username reponame master 我收到的错误 Err
  • 调试启动时在 Flash 构建器中清理项目

    使用 Flash builder 4 构建 AIR 应用程序 当我使用调试器启动项目时 我的代码更改始终没有生效 可能大约每小时发生一次 那么有谁知道如何让 FlashBuilder 在每次启动之前自动清理项目 Thanks 我在使用 Fl
  • 线程引用需要静态生命周期吗?

    虽然直观上讲 传递给生成线程的引用需要具有静态生命周期 但我不清楚到底是什么导致以下代码无法编译 use std sync Arc use std sync Mutex struct M fn do something m Arc
  • Pandas MultiIndex(超过 2 级)DataFrame 到嵌套 Dict/JSON

    这个问题类似于this one https stackoverflow com questions 47920624 convert pandas multiindex dataframe to nested dictionary 但我想更
  • 从绑定的 ListBox 中获取所选项目字符串

    我在从列表框中的绑定文本块获取字符串时遇到问题 当我使用下面的代码时 我可以绑定列表框并且列表框显示项目 但是当单击列表中的项目时我不这样做如果没有得到正确的字符串 我会打印一个消息框 其中包含对象名称的消息 例如 我的应用程序项目 相反出
  • 如何在 C# 中获取向量类型?

    我想在我正在编写的 C 应用程序中使用向量 特别是 Vector3 对于我来说 无需编写自己的向量类型 最好的方法是什么 我在 POC 中使用了一个我发现的代码项目 http www codeproject com KB recipes V
  • 如何在 DO 块中执行选择查询?

    我想将以下 SQL 代码从 MS SQL Server 移植到 PostgreSQL DECLARE iStartYear integer DECLARE iStartMonth integer DECLARE iEndYear integ
  • Material-ui 从 React-router 添加 Link 组件

    我正在努力添加我的 Material ui AppBar 的组件 这是我的导航类 class Navigation extends Component constructor props super props render var sty
  • JavaScript 检查图像是否存在

    我正在尝试显示谷歌地图或图像 所以 我想要的是默认情况下我想显示图像 如果图像不存在 则显示谷歌地图 为此 默认情况下我禁用谷歌地图 map canvas display none 然后 我需要类似布尔条件的东西来检查图像的存在 然后返回
  • 如何在 Python 中的泛型类型上使用 isinstance

    我试图检查参数是否是类声明中指定的泛型类型的实例 然而Python似乎不允许这样做 T TypeVar T class MyTypeChecker Generic T def is right type self x Any return
  • 如何通过单击按钮将其打印在一张纸上[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找使用按钮打印页面的解决方案OnClick event 让我举一个例子 带按钮OnClick事件时 代码将随机地将某些图像彼此相邻
  • 在 ListView WPF 中设置项目焦点

    有什么方法可以从 WPF 中的 WinForms 实现此功能吗 ListView FocusedItem ListView Items itemToFocusIndex 我正在尝试手动设置focus 不是选择 WPF ListView 中的
  • C# 检查MySQL数据库是否存在

    我正在使用顶级语句用 C 编写一个简单的控制台应用程序 我想在开始时检查是否存在数据库 这是我的代码 using MySql Data MySqlClient using MySqlConnection connection new MyS
  • 在主键上创建索引并建立索引有什么好处吗?

    我检查了这个帖子 MySQL中主键 唯一键 索引有什么区别 https stackoverflow com questions 3844899 whats the difference between primary key unique
  • 加入现有 NLB 集群

    我一直在尝试编写一个 powershell 程序来检查集群是否存在 如果没有 那么它会创建它并将自己添加到其中 如果另一台计算机醒来 它会检查集群是否存在 如果存在 则将自己添加到集群中 我在尝试从集群 IP 地址获取对集群对象的引用时遇到