在远程计算机运行PowerShell命令

在远程计算机运行PowerShell命令



检查PowerShell Remoting是否启用


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

Enter-PSSession -ComputerName localhost


返回如下截图:

clip_image002

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


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

clip_image004


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

clip_image005

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



启用PowerShell Remoting


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

Enable-PSRemoting -Force


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


验证是否启动成功:

clip_image007



配置信任主机


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

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

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


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

Restart-Service WinRM



测试连接


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

Test-WsMan szsql05


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

clip_image009



执行远程命令


使用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

clip_image011


输入域账号密码后:

clip_image013



开始一个远程会话


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

Enter-PSSession -ComputerName COMPUTER -Credential USER

clip_image015



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值