powershell在远程windows server上登录并执行程序

简介:

分两部分操作:

一。在远程主机上执行相应的策略允许。

在远程主机上开启防火墙该组件Windows Remote Management (Http-In)允许为public

在远程主机上开通5985端口。

powershell run as administrator

PS> Start-Process powershell -Verb runAs

PS> enable-psremoting -force


PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

PS> set-item wsman:\localhost\Client\TrustedHosts -value "remote-ip" -force

PS> set-item WSMan:\localhost\Shell\MaxMemoryPerShellMB -Value 0 -Force


powershell 或者进程号:$id=Get-Process -name explorer* | Select-Object id | ForEach-Object -Process{$_.id}




二。本地电脑上允许某些策略

powershell run as administrator

PS> Start-Process powershell -Verb runAs

PS> enable-psremoting -force



把远程主机加入到本地powershell信任列表

PS> set-item wsman:\localhost\Client\TrustedHosts -value "remote-ip" -force

PS> set-item WSMan:\localhost\Shell\MaxMemoryPerShellMB -Value 0 -Force


在本机上允许执行powershell脚本

PS> set-executionpolicy -executionpolicy unrestricted




脚本内容:

$remoteUsername = "username" 

$remotePassword = "password" 

$remoteHostname = "remote-ip"


$process="pro-name"

 

$securePassword = ConvertTo-SecureString -AsPlainText -Force $remotePassword 

$cred = New-Object System.Management.Automation.PSCredential $remoteUsername, $securePassword

 

Invoke-Command -ComputerName $remoteHostname -Credential $cred -ScriptBlock { 

   Write-Host "Hello, World (from $env:COMPUTERNAME)" 

   if($process){

      stop-process -name $process

      start-sleep -seconds 2

      start-process "C:\path\to\program.exe"

      write-host "program restart finished."

   } else {

      start-process "C:\path\to\program.exe"

      write-host "program start finished."} 

}

'










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





相关文章
|
4月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
1140 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
|
4月前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
508 0
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
|
4月前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
706 0
|
5月前
|
运维 安全 网络安全
Windows Server 2019拨号“找不到设备”?Error 1058解决指南
Windows Server 2019拨号报错1058?别急!这不是硬件故障,而是关键服务被禁用。通过“服务依存关系”排查,依次启动“安全套接字隧道协议”“远程接入连接管理”和“路由与远程访问”服务,仅需4步即可恢复PPPoE或VPN拨号功能,轻松解决网络中断问题。
451 1
|
4月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
231 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
5月前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
2491 3
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
|
4月前
|
Unix Shell Windows
Windows PowerShell技巧:使用findstr实现类似grep的功能
显示带有线路编号**: `/N`选项将显示每条结果前面带有其在线路上出现位置编号。
740 7
|
4月前
|
存储 Windows
Windows PowerShell操作:如何删除环境变量
此外,还有一些第三方工具可以用来管理环境变量,这些工具通常提供了更为用户友好的界面来添加、编辑或删除环境变量,但是使用PowerShell可以更直接地控制这些设置,并且可以很容易地集成到脚本中以自动化环境配置的管理。
608 7
|
5月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
279 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
481 10