Invoke-wmimethod win32_process



背景:我正在创建一个脚本发送消息给我的域名中的每个人。我能够使用Invoke-WMImethod和MSG.exe完成此操作。然而,我的主管想要发送一个更可定制的消息。比如改变颜色、字体大小、字体样式等等。这是我用PowerShell创建的

脚本:

Invoke-WmiMethod -ComputerName $Computer -Class Win32_Process -Name Create -ArgumentList {"C:xxxPowershell.exe -File `"\ServerShareFolderScript.ps1`""}

当我在我的电脑上运行这个脚本时,它工作得很好。然而,当我试图在远程计算机上运行它时,它失败了。我不明白为什么。

这是相同的脚本,我使用MSG.exe,这工作,但它仍然不能与powershell脚本工作。

我试图将脚本复制到远程计算机的"C:"并从该文件路径运行它,但它仍然不起作用。

我已经验证了Powershell.exe的文件路径与脚本相同,并且远程工作站可以访问。ps1脚本。

但是,脚本确实运行了,并且返回值为0。例子:

__GENUS: 2__class: __parameters__SUPERCLASS:__dynasty: __parameters__RELPATH:__property_count: 2__derivation: {}__SERVER :__NAMESPACE:__PATH :ProcessId: 8748返回值:0

我的建议是检查两台机器上的版本。您使用的CmdLet可能不能在以前的版本上工作。

我有一个建议,你可以使用下面的命令来完成你的工作,如果你有powershell版本3或以上。

$Outputreport = "Test message to send data using port 443"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$wc = new-object System.Net.WebClient
Invoke-RestMethod -Method Post https://hostnamedotcom/cgi-bin/dir-path/$hostname-filename -Body $Outputreport

相关内容

  • 没有找到相关文章

最新更新