停止或启动远程计算机上的服务

2024-03-30

我创建了一个脚本,它将根据服务的显示名称启动或停止服务。我的脚本可以在本地计算机上运行,​​但我想确保它可以在远程计算机和本地计算机上完成。我不知道如何让它在远程机器上工作。

任何帮助,将不胜感激。

    $serviceName = Read-Host -Prompt 'Please enter service name: '

# Check that service name exists
If (Get-Service $serviceName -ErrorAction SilentlyContinue) 
{

# Check that service name is not empty
if([string]::IsNullOrEmpty($serviceName)) 
{            
    Write-Host "Service name is NULL or EMPTY"            
} 
else 
{            


$Choice =  Read-Host -Prompt 'Would you like to start or stop the service'

#Start service
If ($Choice -eq 'start') {

Start-Service -displayname $serviceName

Write-Host $serviceName "Starting..." -ForegroundColor Green 
}

#Stop service
If ($Choice -eq 'stop') {

  Stop-Service -displayname $serviceName

  Write-Host $serviceName "Stopping..." -ForegroundColor Green
}
 }
  }
else {            
    Write-Host "Service name does not exist"            
}

你不能使用Start-Service/Stop-Service然而,对于远程计算机,您可以从以下位置传递服务对象:Get-Service(使用ComputerName参数)到Set-Service它可以对远程计算机执行相同的启动/停止操作:

Get-Service $ServiceName -ComputerName $ComputerName | Set-Service -Status Running

我发现这比使用 PowerShell Remoting 或 WMI 命令容易得多。

您可以通过最少的代码更改轻松更新代码:

$serviceName = Read-Host -Prompt 'Please enter service name: '

#get computername or use localhost for local computer
if(($ComputerName = Read-Host 'Enter Computer Name, leave blank for local computer') -eq ''){$ComputerName = 'localhost'}

$Service = Get-Service -DisplayName $serviceName -ComputerName $ComputerName -ErrorAction SilentlyContinue

# Check that service name exists
if ($Service) {
    # Check that service name is not empty
    if([string]::IsNullOrEmpty($serviceName)){Write-Host 'Service name is NULL or EMPTY'}
    else {    
        $Choice =  Read-Host -Prompt 'Would you like to start or stop the service'

        #Start service
        If ($Choice -eq 'start') {
            $Service | Set-Service -Status Running
            Write-Host $serviceName 'Starting...' -ForegroundColor Green
        }

        #Stop service
        If ($Choice -eq 'stop') {
          $Service | Set-Service -Status Stopped
          Write-Host $serviceName 'Stopping...' -ForegroundColor Green
        }
    }
}
else {            
    Write-Host 'Service name does not exist'            
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

停止或启动远程计算机上的服务 的相关文章

随机推荐

  • 类型参数不可分配给字符串

    我有一个格式化的 json 数据 我想在 d3 中使用它来绘制层次结构 它正在处理旧数据 但在 json 数据中添加更多维度后 出现以下错误 类型参数 name string 孩子们 组 数量 名称 字符串 组 数量 不可分配给 只读字符串
  • 安卓LVL合理吗?

    我即将发布我的第一个 Android 应用程序 我正在考虑为我的应用程序使用 Android 的许可服务 LVL 但现在我不确定不使用任何许可服务是否会更好 a LVL 无论如何都可以被破解 b LVL 导致我的应用程序出现一些延迟 你们有
  • 缩放后确定 HTML5 画布上的鼠标位置

    我正在开发一些 HTML5 中涉及画布使用的软件 我需要在一张画布上进行缩放并允许用户通过单击鼠标在画布上进行涂鸦 到目前为止 在我找到的一些示例的帮助下 我已经可以使用缩放功能了 问题是缩放后 我的绘图工具上的鼠标位置不正常 在进行任何缩
  • 绘制线而不是点 R

    这可能是一个简单的问题 但我无法找到解决方案 我有以下图 我正在使用图 CI 因为我无法用图 填充点 leg lt c 1 2 3 4 5 6 7 8 Col rar1 lt c rgb 1 0 0 0 7 rgb 0 0 1 0 7 rg
  • PyQt self.close() 在 __init__() 中

    我在 Python 2 7 下使用 PyQt4 时遇到了一些小问题 我正在编写一个小项目 其中有一些 QDialogs 相互打开 因此 我打开一个对话框 然后立即打开另一个对话框来检查某些内容 当出现错误检查时 我希望关闭整个对话框 它看起
  • 您可以设置整数的最大限制(C++)吗?

    如果我不想让一个整数超过 100 是否有任何简单的方法可以确保该整数永远不会超过 100 无论用户添加了多少 例如 50 40 90 50 50 100 50 60 100 50 90 100 尝试这个 std min 50 40 100
  • 从 JSON 创建多表头表

    我是熊猫新手 我正在尝试创建下表 C Perl line func line func version covered total covered total 我创建的 JSON 结构如下 version1 perl line covere
  • 使用 Google AppEngine MapReduce 处理所有记录后,如何从计数器获取值?

    使用 Google AppEngine MapReduce 处理所有记录后 如何从计数器获取值 或者我在这里错过了计数器的用例 示例代码来自http code google com p appengine mapreduce wiki Us
  • 如何从 browserify/babelify 导出全局变量以便在没有 browserify 的项目中使用?

    设想 我有两个设置完全不同的项目 常规网站 遗留代码和简单的 gulp 设置 小宠物项目 在 ES6 类的帮助下编写的 JS 滑块插件 用 babel 转译 JS 吞咽任务 gulp task js function return gulp
  • Apache Hive regEx serde:数据类型

    对于处理日志 我想使用 Apache Hive regEx serde 但我只找到使用 String 作为表列的数据类型的示例 现在我的问题是 是否支持基于日期的类型 整数和数组 还是只是字符串 此示例 和其他示例 仅使用字符串 CREAT
  • Google 关于输入/输出参数作为指针的样式指南

    The 谷歌 C 风格指南 http google styleguide googlecode com svn trunk cppguide html做出了明确的区分 严格遵循cplint py http google styleguide
  • 打开/关闭sql连接-冗余代码

    我想知道避免以下情况的最基本方法是什么 con ConnectionString connection String con Open cmd Connection con database interaction here cmd Clo
  • 是否已经可以在react-native中使用顶级await了?

    是否已经可以在react native中使用顶级await了 我看到它已被添加到 TypeScript 3 8 中 我没有使用 TS 我只是想看看它是否有帮助 但没有 然而 在react native中 文件转换是由babel处理的 我不认
  • Jupyter - 在多个单元中拆分类

    我想知道是否有可能将 jupyter 类分成不同的单元格 可以说 first cell class foo object def init self var self var var second cell def print var se
  • 如何从 Java 最小化 JFrame 窗口?

    在我的 Java 应用程序中 我有一个 JFrame 窗口 如何从我的 Java 程序中最小化它 最小化与frame setState Frame ICONIFIED 恢复与frame setState Frame NORMAL
  • 如何更改command_not_found_handle中的当前工作目录

    我正在尝试在 Bash 中编写一个未找到的句柄 它执行以下操作 如果 1 存在并且它是一个目录 cd进去 如果 1 存在于用户定义的目录中 DEV DIR cd 进入其中 如果前面的条件不适用 则失败 现在我有这样的事情 export DE
  • 并行解决多个获取请求

    我正在尝试执行多个并行获取请求react native 但我没有得到预期的响应数据 我错误地整合了什么 async componentDidMount try let res1 res2 await Promise all fetch ap
  • 为 Azure CDN 创建服务主体失败,并出现租户权限错误

    我正在尝试将 Azure CDN 添加为服务帐户 以便将其连接到 KeyVault 遵循官方指南和其他建议 例如无法将 Microsoft Azure Cdn 服务主体添加到 Key Vault 访问策略 https stackoverfl
  • 语义 UI 浮动

    语义 UI 新手 我在文档中找不到如何 如果可能的话 浮动一个简单元素而不使其成为其他元素 如按钮或段 例如 我在页面底部有一个步骤导航 计数器 其写法如下 div class row three column div class colu
  • 停止或启动远程计算机上的服务

    我创建了一个脚本 它将根据服务的显示名称启动或停止服务 我的脚本可以在本地计算机上运行 但我想确保它可以在远程计算机和本地计算机上完成 我不知道如何让它在远程机器上工作 任何帮助 将不胜感激 serviceName Read Host Pr