2016-09-26 56 views
0

背景:我正在创建一个脚本,向我的域中的每个人发送消息。我能够使用Invoke-WMImethod和MSG.exe完成此操作。但是,我的主管希望发送更多可自定义的消息。像改变颜色,字体大小,字体样式等等。我使用PowerShell创建的。调用wmimethod win32_process

脚本:

Invoke-WmiMethod -ComputerName $Computer -Class Win32_Process -Name Create -ArgumentList {"C:\x\x\x\Powershell.exe -File `"\\Server\Share\Folder\Script.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

回答

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 
+0

我测试了从PS v 2.0到PS v 5.1,它的工作原理是它不是PS版本。 – Captor

相关问题