我正在使用winrs来运行我正在开发的一些服务器软件的testing客户端。 我正在使用客户端来生成testing服务器上的负载以进行分析。 我正在运行服务器软件和winrs的机器以及运行testing客户机的机器(在第一台机器上使用winrs来运行它)是Win7盒子,x64,大量的内存。 所有进程都以pipe理员身份运行。 当我手动运行testing客户端时,它可以产生6000个并发连接,并饱和一个100MB的链接(有问题的机器有Gbnetworking,所以我只加载他们之间的链接约10%)当我运行它通过winrs约一半的连接失败,似乎是在OpenSSL内存相关的错误。 我确定在我的testing客户端中有一些奇怪的事情,但是知道winrm代表winrs请求运行的进程是否有适当的限制是很有用的。 我还没有find任何文件表明有限制,但我可能不够努力。 更新:考虑到这一点似乎有可能,这些进程是在一个内存限制的工作对象下运行,这有点合理,但我会假设,如果这是这样的话可以在服务器端configuration…
我有一个可控的控制机器(host-A),需要与host-C(一个没有本地用户的Windows机器(这是一个Active Directory))交谈。 主机-A对主机C没有networking访问权限,但可以使用主机-B进行通信。 主机-B它是一个Linux机器。 host-A通过ssh访问主机B. 本文后面我创build了一个nginx服务器来在主机B上路由WinRMstream量 server { listen 5986 default ssl; server_name localhost; ssl_certificate ssl/nginx.crt; ssl_certificate_key ssl/nginx.key; location /host-c { proxy_pass https://host-c-address:5986/wsman; } } 我的主机C的库存清单就像: [windows] host-c ansible_host=host-b ansible_winrm_path=host-c 而windows的group_vars是: ansible_user: myuser ansible_pass: andmypass ansible_port: 5986 ansible_connection: winrm ansible_winrm_realm: HOSTCDOMAIN.LOCAL ansible_winrm_scheme: https ansible_winrm_transport: kerberos ansible_winrm_server_cert_validation: ignore 我迄今testing的东西 1testing没有Kerberos 改变了这一行: ansible_winrm_transport: ssl 这是不可能的,因为host-c不能拥有本地用户。 fatal: [host-c]: […]
我有一个系统,当计算机名包含点时,我无法使用PowerShell连接到远程计算机(或远程自己)。 例如,这工作: Enter-PSSession HostA -Credential user1 但是这不是: Enter-PSSession 192.168.0.1 -Credential user1 这也不起作用: Enter-PSSession HostA.DomainA -Credential user1 当我尝试通过networking将PS-Session连接到使用其IP地址或完整域名的同一台计算机(或者仅通过将短名称添加到点)时,会发生同样的问题。 唯一的例外是“127.0.0.1” – 在这种情况下远程PS连接工作。 我将TrustedHosts设置为'*' – 这没有任何区别。 我有另一个系统,不会出现这种行为 – 即我可以交换使用IP地址和完全合格的主机名称。 我没有看到这些系统之间的configuration有任何明显的差异。 我收到以下错误: Enter-PSSession : Connecting to remote server 192.168.0.1 failed with the following error message : The client cannot connect to the destination specified in the request. Verify that […]
我已经开始了脚本来实现这一点: $SecurePassword = ConvertTo-SecureString –String $Password –AsPlainText -Force $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword $sess = New-PSSession -ComputerName $IPAddress -Credential $Credential Invoke-Command -Session $sess -ScriptBlock {Get-Service} Remove-PSSession -Session $sess 但我得到这个连接错误: New-PSSession:[xx.xx.xx.xx]连接到远程服务器xx.xx.xx.xx失败,并显示以下错误消息:WinRM无法完成操作。 validation指定的计算机名称是否有效,是否可以通过networking访问该计算机,以及是否启用WinRM服务的防火墙例外,并允许从此计算机访问。 默认情况下,公用configuration文件的WinRM防火墙例外限制对同一本地子网内的远程计算机的访问。 有关更多信息,请参阅about_Remote_Troubleshooting帮助主题。 要尝试获取脚本,我已经在客户端和远程服务器上运行了Enable-PSRemoting命令。 由于远程服务器不是域的一部分,我已经将服务器IP地址添加到客户端服务器上的TrustedHosts 。 我一直在使用这个网页,以及其他许多人,试图解决这个问题,据我可以告诉它应该工作(或至less没有连接问题)。 我要连接到远程服务器的用户不是pipe理员,而是Remote Managers Group 。 我也跟着这个问题的build议,授予访问该服务。 我不认为这是远远的,但我想提到它的完整性。 任何答案,意见,build议等,非常感谢。 谢谢。
我想浏览和编辑WinRMconfiguration设置,但与winrm.exe斗争。 是否有我应该调查的替代应用程序,命令行开关,XML文件,registry设置(等)?
我有一台服务器2008 R2服务器充当其他两台服务器的收集器。 一个是2008 R2,另一个是2012 R2。 收集器启动转发工作正常,这是我所实现的唯一的types。 我决定在Source Initiated上去,而且还没解决。 我已经通过TechNet上的“ configuration计算机以转发和收集事件 ”(以及链接的相关文章)对其进行configuration。 我可以看到货运公司本身的健康状况,但是“源计算机”专栏仍然是空白的,而且wcutil gs报告也一样:健康的货代,没有消息来源。 组策略肯定是应用到源服务器(gpresult显示它),并将它们发送到http://, 我敢肯定是错误的 ,因为已经有一个单独的网站在收集器上回答端口80.我试过WinRM默认端口(例如,我将GPO中的值设置为Server=http://server.foo.com:5985 ,但是这也不起作用)。 我已确保收集器的计算机帐户位于每个源服务器的Administrators组中,并且我已重新启动每个源服务器以获得更好的效果。 我认为值得重申的是它与收集器发起的转发工作 ,所以winrm qc做了它的工作,什么都没有。 其他的东西显然不见了,但是什么? 编辑:我应该提到我也已经在每个源计算机上的networking服务帐户添加到各自的计算机的事件日志读者组,作为另一个职位在这个问题上build议。
我有一个主机上有16虚拟主机的环境。 他们都运行Windows2008R2。 有一次我有PowerShell远程工作在所有的服务器,但一个。 然后我又失去了两个接触。 至less可以这么说,这很烦人。 每当我回到WinRM作为服务运行的事实,但它仍然不起作用。 它被设置为使用ssl。 Invoke-Command -ComputerName "BadMachine" -ScriptBlock {Get-Service | Where-Object {($_.Name -eq "WinRM") -and ($_.Status -eq "Running")}} -ErrorAction Stop -UseSSL -Credential(Get-Credential) Invoke-Command -ComputerName "BadMachine" -ScriptBlock {Get-Service | Where-Object {($_.Name -eq "WinRM") -and ($_.Status -eq "Running")}} -ErrorAction Stop -UseSSL -Credential(Get-Credential)结果众所周知 [BadMachine] Connecting to remote server BadMachine failed with the following error message […]
我试图在Windows Server 2008上启用Powershell Remoting,但是据我所知,默认的防火墙例外是,只有当计算机(客户端和服务器)驻留在同一本地子网中时,才允许PSRemoting。 如何删除Windows Server 2008中的本地子网限制。我知道在2012年及以上的服务器上,你可以这样做: Set-NetFirewallRule –Name "Name" –RemoteAddress Any 如何在Windows Server 2008中完全相同的事情?
我试图创build一个脚本作为计划任务运行,这将运行在多个服务器上并检索一些信息。 首先,我使用Get-ADComputer通过查询所有符合特定条件的服务器的AD来填充服务器列表。 问题是,列表作为一个对象返回,我不能然后传递给New-PSSession列表。 我试图通过执行以下操作将其转换为逗号分隔的string: foreach ($server in $serverlist) {$newlist += $server.Name + ","} 但是这仍然不起作用。 另一种方法是迭代遍历列表,并针对每个服务器运行各种命令,但是我的首选是避免这种情况,并使用一对多的远程方式运行它们。 更新:为了澄清我想最终能够做的是使用-ComputerName $serverlist ,所以我想$ serverlist是一个string,而不是一个对象。 更新2:感谢所有的build议。 在他们和我原来的方法之间,我开始怀疑-ComputerName是否可以接受一个stringvariables? 我有不同程度的成功获得转换为逗号分隔string的计算机列表,但不pipe我怎么做,我总是得到无效的networking地址。
我已经在我的Hyper-V服务器上成功configuration了WinRM以使用HTTPS。 我能够连接到它并执行命令从我的客户端PC上通过使用相同的本地用户名和密码(他们在工作组),例如winrs -r:https://<server>:5986 dir 。 但是我无法弄清楚在Hyper-Vpipe理器的“连接到服务器”对话框中指定要使用HTTPS的地址。 默认情况下,它只会尝试通过HTTP连接失败,因为我不想添加一个不安全的TrustedHostsexception。 错误信息本身指出我可以使用HTTPS而不是TrustedHosts。