微群有人问“不通过远程桌面如何启用 Remoting”。
试了一下,3.0 以后可以通过 Invoke-WmiMethod 来实现。
不过前提条件是可以通过 WMI 来访问远程机器。可以通过下面的命令进行测试。
Get-WmiObject -Class win32_computersystem -ComputerName "yourserver" -Credential (Get-Credential administrator)
如果能成功返回,就可以通过下面的命令来开启 Remoting 啦!
Invoke-WmiMethod -ComputerName "yourserver" -Class win32_process -Name Create -Args "powershell Enable-PSRemoting -Force" -Credential (Get-Credential administrator)
2.0 由于存在 double-hop 问题,无法直接启用成功,可以参考 Program: Remotely Enable PowerShell Remoting。
本文链接: https://www.pstips.net/using-invoke-wmimethod-enable-remoting.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
thanks. 我试试看
实现PS远程需要先设置信任关系,所以必须先修改注册表或组策略的相关值:“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWSMANClienttrusted_hosts”
我按照上面的命令执行了,有返回值:__GENUS : 2__CLASS : __PARAMETERS__SUPERCLASS :__DYNASTY : __PARAMETERS__RELPATH :__PROPERTY_COUNT : 2__DERIVATION : {}__SERVER :__NAMESPACE :__PATH :ProcessId : 2532ReturnValue : 0PSComputerName :但是还是没有配置正确,因为连不上。
没听明白。
2.0 下面是有问题
我的还是PowerShell 4.0 (Windows 7系统)的。
返回的什么错误呢
机器被回收了,我明天再试试。
New-PSSession : [1.1.1.1] Connecting to remote server 1.1.1.1 failed with the following error message :The WinRM client cannot process the request. Default authentication may be used with an IP address under the followingconditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials areprovided. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be
再通过wmi设置一下 TrustedHosts。Set-Item wsman:localhostclienttrustedhosts -Value *
首先你提供的wmi的方法本身没有问题。我现在搞清楚了我那个错误的原因了,我用的是IP去连的。如果是通过IP去连得化,需要具备两个条件。1是得使用SSl,2是得配置TrustedHosts。配置TrustedHosts还好,但是要配置SSL就麻烦了,还得去整个自签名证书。所以没事,最好用FQDN连接吧。
WMI太强大了,今天才发现还有这功能,只要有管理员密码,可以当黑客了。
菲不知道能否利用WMI从本地传输一个exe文件到对端呢?
要远程wmi,你得有权限,既然都有权限了,为什么不把远程机器的整个盘设置成共享呢?然后你随便用copy即可。例如: copy-item file \pstips.netc$dir
如果不能自动化,利用wmi也能把对方电脑的远程桌面打开,那样更方便操作,我尝试使用copy-item但是,无法组合在wmi里面使用,不能这样从远端复制文件。
广播: 通过计划任务SCHTASKS远程启用Remoting | PowerShell 中文博客
我知道了为什么Invoke-WmiMethod 会失败了,有两点原因
1. -force参数没有应用到enable-psremoting上,被过滤掉了或者当作powershell -force处理了,我已经可以通过一个实验证明。并且有了解决方案。
2.第二点,发送过去的命令没有以Admin身份运行。start-process -verb runas即可解决。
现在,需要把第一点和第二天相结合,即可破解此问题!