将纯文本发送到另一台计算机的简单方法

将纯文本发送到另一台计算机的简单方法

我是 powershell 和 windows 的新手,我想知道一种简单而优雅的方法将小尺寸纯文本发送到另一台计算机。我知道您可以在 Linux/OSX shell 中非常轻松地使用以下命令执行此操作:

ls | mail <my@email>

无论是 powershell 等效方法还是其他方法都值得赞赏!

答案1

这不是 PowerShell 独有的功能。早在 PowerShell 出现之前,它就已经可以做到了。几十年来,您一直可以通过内置的 Windows 可执行文件在 Windows 中做到这一点。

Syntax
      MSG username [options] [message]
      MSG sessionname [options] [message]
      MSG sessionid   [options] [message]
      MSG  @filename [options] [message]
      MSG * [options] [message]

Options
   username            The user to send to, * will send to all sessions on the machine.
   /SERVER:servername  The server to contact (default is current).
   /TIME:seconds       Time delay to wait for receiver to acknowledge msg.
   /V                  Verbose, display extra information.
   /W                  Wait for response from user, useful with /V.
   message             The message text to send, some special characters may
                       have to be escaped.


# Examples
msg User1 "Let's meet at 1PM today"

# Example - additional data to see what the user did with the message
msg $env:USERNAME /w /v "Let's meet at 1PM today"

# Results of the user reposne
<#
Sending message to session Console, display time 60
Message to session Console responded to by user
#>

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msg

执行相同操作的完整 PowerShell 方法只是调用相同的可执行文件。

Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "msg * 'help me'" -ComputerName $env:COMPUTERNAME

然而,有时,老派才是最好的。

只需知道,当您转到 Powershell v7 时,WMI cmdlet 等就不在其中。具体来说,因为 PSv7 是跨平台的,并且它们上没有 WMI 堆栈。

注意事项:

Msg.exe 并不存在于所有 Windows 操作系统版本中,例如 Windows 家庭版。

用户必须在您的网络上!

如果不是,那么您会遇到一个完全不同的问题,这将需要其他配置和/或工具/方法。

答案2

将文件中的数据从一台计算机复制到另一台计算机的最简单方法是 Copy-Item。从某种意义上说,这假定两台计算机位于同一网络上。

您可以阅读 Copy-Item 的帮助文件这里

如果您确实必须使用电子邮件来传达数据,则可以使用 Send-MailMessage cmdlet。您可以阅读 Send-MailMessage 的帮助文件这里

相关内容