【发布时间】:2019-05-02 06:19:41
【问题描述】:
环境:
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
我应该在哪里更改?
【问题讨论】:
-
你为什么使用 WinRS.exe?据我回忆,这会启动一个远程 CMD shell。通常的方法是使用
Invoke-Command... -
我想这样做,在远程 linux 服务器上用 pywinrm 连接我的 windows 程序。我试图执行我的 .exe 但是,当我使用日语时出现字符代码问题,所以现在我试图包装 PowerShell 并转换 charcode。
-
感谢您的“为什么”。我很欣赏这些信息... [grin]
标签: powershell windows-server-2016 winrm