powershell - 如何通过 WinRM 执行 PowerShell
问题描述
环境:
Windows Server 2016 Standard Evaluation
version 1607(OSbuild 14393.2248)
my_powershell.ps1 在下面。
echo $args
在本地我可以执行上面的脚本。
PS C:\Users\Administrator> .\echo_args.ps1 "aaaa"
aaaa
我可以通过winrm执行命令或exe文件。例如)
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword .\my.exe
但是当我通过 WinRM(下)执行 my_powershell.ps1 时,my_powershell.ps1 一直在等待,没有做任何事情。
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword .\echo_args.ps1
我的 WinRM 配置如下。
PS C:\Users\Administrator> winrm get winrm/config
Config
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts = *
Service
RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
MaxConcurrentOperations = 4294967295
MaxConcurrentOperationsPerUser = 1500
EnumerationTimeoutms = 240000
MaxConnections = 300
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
Auth
Basic = true
Kerberos = true
Negotiate = true
Certificate = false
CredSSP = false
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *
EnableCompatibilityHttpListener = false
EnableCompatibilityHttpsListener = false
CertificateThumbprint
AllowRemoteAccess = true
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 7200000
MaxConcurrentUsers = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2048
MaxShellsPerUser = 2147483647
我应该在哪里改变?
解决方案
我对 winrm 的命令是错误的。通过 WinRm 执行 PowerShell 时,我应该指定使用 PowerShell.exe。
所以正确的命令在下面。
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword powershell .\echo_args.ps1 "aaaa"
推荐阅读
- prolog - 用于计算余弦的泰勒近似值的递归程序在 Prolog 中不起作用
- r - LARS“套索”回归没有选择重要的解释变量
- python - Python:创建用于对象检测的 XML 文件
- mysql - Mysql Percona 备份正在关闭 mysql 实例
- python - 为什么 tuple 和 str 的子类在 Python 中不能支持弱引用?
- llvm - 如何将 llvm 模块转储到 .ll 文件
- sql-server - SQL 查询到 LINQ 表达式 - Entity Core Framework 3 + SQL Server
- javascript - TypeError:无法读取 Jquery 中未定义的属性“历史” - React
- date - Power BI Weeknum 迭代
- drush - drush sql-sync 错误找不到数据库记录