首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过WinRM执行PowerShell

如何通过WinRM执行PowerShell
EN

Stack Overflow用户
提问于 2018-11-30 13:22:41
回答 1查看 734关注 0票数 0

环境:

代码语言:javascript
复制
Windows Server 2016 Standard Evaluation  
version 1607(OSbuild 14393.2248)  

my_powershell.ps1在下面。

代码语言:javascript
复制
echo $args

在本地我可以执行上面的脚本。

代码语言:javascript
复制
PS C:\Users\Administrator> .\echo_args.ps1 "aaaa"
aaaa

我可以通过winrm执行命令或exe文件。例如)

代码语言:javascript
复制
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword .\my.exe

但是当我通过WinRM执行my_powershell.ps1 (如下所示)时,my_powershell.ps1一直在等待,什么也没做。

代码语言:javascript
复制
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword .\echo_args.ps1

我的WinRM配置如下。

代码语言:javascript
复制
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

我应该在哪里换乘?

EN

回答 1

Stack Overflow用户

发布于 2018-11-30 14:11:39

我对winrm的命令是错误的。当通过WinRm执行PowerShell时,我应该指定使用PowerShell.exe。

下面是右边的命令。

代码语言:javascript
复制
PS C:\Users\Administrator> winrs -r:localhost -u:Administrator -p:MyPassword powershell .\echo_args.ps1 "aaaa"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53551681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档