在远程计算机运行PowerShell命令

在远程计算机运行PowerShell命令

检查PowerShell Remoting是否启用

在Windows Server 2008 R2上以管理员身份运行PowerShell,然后输入

Enter-PSSession -ComputerName localhost

返回如下截图:

说明该版本默认是没有启用PowerShell Remoting功能。

在Windows Server 2012 R2上,返回如下截图:

在Windows Server 2016上,返回如下截图:

说明在2012和2016上,默认启用了PowerShell Remoting功能。

启用PowerShell Remoting

在Windows Server 2008 R2上,以管理员身份运行PowerShell,然后输入以下脚本:

Enable-PSRemoting -Force

这个命令会启动WinRM服务,设置为在你的系统上自动启动,并创建一条允许传入连接的防火墙策略。

验证是否启动成功:

配置信任主机

如果你的主机不在域环境,而是在工作组环境,可以配置能够远程访问该主机的可信任列表。

Set-Item wsman:\localhost\client\trustedhosts *

你也可以将*替换为可信任的局域网主机192.168.11.*

然后,重启WinRM服务使之生效:

Restart-Service WinRM

测试连接

从访问远程主机的客户端,通过Test-WsMan测试你的配置。这个命令测试远程主机上WinRM服务是否在运行。如果成功完成,你会知道WinRM启用了,可以彼此通信。

Test-WsMan szsql05

如果命令成功完成,你会看到远程计算机的WinRM服务信息。如果命令失败,会看到错误信息。

执行远程命令

使用Invoke-Command在远程系统上运行命令。语法如下:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME

COMPUTER为计算机的名字;

COMMAND是你要运行的命令;

USERNAME是你想在远程计算机上运行命令的用户名。你会提示输入该用户名的密码。

例如,以用户dx\xucy查看远程计算机szsql05上C盘根目录下的内容,你可以输入如下命令:

Invoke-Command -ComputerName szsql05 -ScriptBlock { Get-ChildItem C:\ } -credential dx\xucy

输入域账号密码后:

开始一个远程会话

使用Enter-PSSession启动一个远程PowerShell会话,这里你可以运行多个命令,而不只运行一个命令:

Enter-PSSession -ComputerName COMPUTER -Credential USER

时间: 2024-10-20 11:06:10

在远程计算机运行PowerShell命令的相关文章

PowerShell工作流学习-2-工作流运行Powershell命令

关键点: a)inlineScript 活动具有活动通用参数,但不具有PowerShell 通用参数,且inlineScript 脚本块中的命令和表达式不具有工作流的功能b)默认inlineScript 活动在单独的进程中执行而不是和工作流同一进程中执行,但是可使用参数OutOfProcessActivity进行控制,如果需要删除或者还原相关配置使inlineScript 活动在工作流进程内或者进程外运行,请参考例bc)工作流中定义的变量对 InlineScript 脚本块中的命令不可见,除非使

利用powershell进行远程服务器管理(命令行模式)

Pssession,Pssession是Windows Powershell会话的意思,一个会话,可以共享数据,提供交互式的对话,我们可以为某些命令例如Invoke-Command 制定会话来远程作业.当然我们还能利用Enter-Pssession来直接和远程计算机连接,直接建立一个持续安全的远程对话,来执行我们的所有命令. 我们分三个部分来讲述Powershell Session,首先是域环境下的远程连接,WAN/LAN的远程连接(Trusthost方式),WAN/LAN的远程连接(SSL加密

PowerShell中运行Bcdedit命令出错

见下图,当我尝试在PowerShell执行bcdedit删除其中一个启动项时,出现错误:而在CMD中运行时则正常. 执行的命令是: bcdedit /delete {f33a2785-b94a-11e3-a6eb-00e0661386c5} /cleanup 出错的原因: (1)PowerShell中将{}中的内容当作计算式对待: (2)CMD中将{-}整体看作字符: 事实上{f33a2785-b94a-11e3-a6eb-00e0661386c5}就是字符: 由此衍生出: (1)PowerSh

计算机运行命令全集

<计算机运行命令全集> winver---------检查Windows版本wmimgmt.msc----打开windows管理体系结构wupdmgr--------windows更新程序winver---------检查Windows版本wmimgmt.msc----打开windows管理体系结构wupdmgr--------windows更新程序wwww--------windows脚本宿主设置write----------写字板winmsd-----系统信息wiaacmgr-------

PowerShell运行cmd命令

1.使用.exe扩展名 2.使用 cmd /c "" 3.在 PowerShell v3 中有另一种选择来解决这个问题,只需在命令行的任意位置添加 –% 序列(两个短划线和一个百分号)PowerShell 就不会再去解析剩下的部分 From:http://www.pstips.net/using-windows-powershell-to-run-old-command-line-tools-and-their-weirdest-parameters.html PowerShell运行

Powershell运行Invoke-Sqlcmd命令的先决条件

运行Invoke-Sqlcmd命令,使用这个命令需满足如下条件: 1.在运行服务器中安装SQL Server 2008 R2 Management ObjectsI 2.在运行命令 invoke-sqlcmd 前执行如下语句. 1 Add-PSSnapin SqlServerCmdletSnapin100 2 Add-PSSnapin SqlServerProviderSnapin100 参考原文内容: Since all of the steps I required weren't list

【转】SSH穿越跳板机:一条命令跨越跳板机直接登陆远程计算机

转自:http://mingxinglai.com/cn/2015/07/ssh-proxycommand/ 今天在公司搭建跳板机,遇到一个比较麻烦的问题,这里简单记录一下,希望对有相同问题的人有所帮助. 我们公司的线上机器是下图这样的,A是我们本地的计算机,一般是windows系统,B是跳板机,C是目标机器,我们需要登录线上机器时,必须先登录跳板机,再登录目标机器. +-----+ +-----+ +-----+ | | | | | | | A +-----------> | B +-----

理解ASP.NET 5运行时命令:DNVM, DNX, 和DNU

ASP.NET 5 引入了一个新型的运行时,让我们可以现场交付模式组合式构建应用程序,而不依赖于宿主机上的.NET框架.这种新模式为我们提供了命令行工具(DNVM.DNX.DNU)用于管理我们的.net 版本,依赖的库和运行环境,我们可以不需要Visual Studio,只需要一个文本编辑器和命令行就可以开发一个应用程序. 了解.NET 版本管理器 (DNVM) 之间 ,.NET 执行环境 (DNX) 和.NET 开发实用程序 (DNU) 之间的关系是开发 ASP.NET 5的根本.在这篇文章我

Exchange 2013使用PowerShell命令显示凭据

当你在运行命令时, 有几个PowerShell和Exchange PowerShell命令能够提供一些凭据参数,允许你使用替代组凭据.当你使用手动远程Shell连接,发送邮件,以及工作在cross-forest中.在这一节,我们将学习下如何创建一个凭据对象,可以使用支持凭据参数的命令-credential 凭据工作原理 你可以使用Get-Credential命令去创建一个凭据.在下面的示例中,我们把凭据对象存储在变量中,而这个变量可以被Get-Mailbox命令使用 $credential =