在远程计算机运行PowerShell命令

简介:

检查PowerShell Remoting是否启用


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

1
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,然后输入以下脚本:

1
Enable-PSRemoting  -Force


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


验证是否启动成功:

clip_image007



配置信任主机


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

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

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


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

1
Restart-Service  WinRM



测试连接


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

1
Test-WsMan  szsql05


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

clip_image009



执行远程命令


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

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

COMPUTER为计算机的名字;

COMMAND是你要运行的命令;

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


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

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

clip_image011


输入域账号密码后:

clip_image013



开始一个远程会话


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

1
Enter-PSSession  -ComputerName COMPUTER -Credential USER

clip_image015















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1884773,如需转载请自行联系原作者




相关文章
|
17天前
|
监控 数据可视化 安全
AD域管理PowerShell常用命令总结
本文介绍了GET-ADUser命令在AD域管理中的多种应用场景,包括获取、过滤和导出用户信息至CSV文件。同时,推荐了卓豪ADManager Plus软件,该软件提供了批量用户与组管理、报表生成功能,极大简化了AD域的日常管理工作,提升了IT管理员的工作效率和准确性。
|
4月前
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
|
4月前
|
Java 开发工具 数据安全/隐私保护
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
|
4月前
【Azure 应用服务】Azure Function 中运行Powershell 脚本,定位 -DefaultProfile 引发的错误
【Azure 应用服务】Azure Function 中运行Powershell 脚本,定位 -DefaultProfile 引发的错误
|
4月前
|
开发工具 微服务 Windows
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
|
4月前
这10条Powershell命令有多香,谁用谁知道!
这10条Powershell命令有多香,谁用谁知道!
100 0
PowerShell实战:Get-Item命令使用详解
【2月更文挑战第10篇】Get-Item 命令使用频率非常高,主要是获取位于指定位置的项。 一般搭配使用通配符 (*) 来获取项目的包含的项目。如果不使用*的话只是获取当前项的内容。
|
7月前
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
7月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
PowerShell实战:文件操作相关命令笔记
【2月更文挑战第9篇】cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。