首页 > 解决方案 > 在 Windows IoT 核心设备上运行 powershell 脚本“.ps1”

问题描述

我在网关上运行 Windows IoT 核心,并希望在 Windows 物联网核心设备中以 .ps1 格式运行 PowerShell 脚本,

我编写了一个简单的 PowerShell 脚本来获取变量中的存储并打印变量

$a = Get-PSDrive
echo "$a"

在此之前,我已经使用 PowerShell IDE 连接了本地 IoT 核心设备,

 net start WinRM
 Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.1.104
 Enter-PSSession -ComputerName 192.168.1.104 -Credential administrator 

在此之后,我得到了 windows IoT 核心设备的 PowerShell

[192.168.1.104]: PS C:\Data\Users\administrator.MINWINPC\Documents>

现在,当我运行单行 cmdlet 时

192.168.1.104]: PS C:\Data\Users\administrator.MINWINPC\Documents>  Get-PSDrive

它的工作文件给出了输出,但是当我尝试这个时-

$a = Get-PSDrive
echo "$a"

这给出了以下错误 -

[192.168.1.104]: PS C:\Data\Users\administrator.MINWINPC\Documents>     $a = Get-PSDrive
echo "$a"
Alias C Cert Env Function HKCU HKLM U Variable WSMan

我需要在 IoT 核心设备中运行 PowerShell 脚本

感谢您的回答,在windows系统中它的工作正常

这与“”完美呼应

$a = "hi"
echo "about to start infinite loop"
while(1)
{
      echo "$a"
      Start-Sleep -Seconds 1.5
}


PS C:\Users\arnab.h.ghosh> C:\Users\arnab.h.ghosh\Pictures\loop.ps1
about to start infinite loop
hi
hi
hi
hi

标签: powershelliotwindows-iot-core-10

解决方案


您可以尝试使用以下脚本:

$a = Get-PSDrive
echo $a

这里,$a是一个存储结果的变量Get-PSDrive,不能用引号来呼应变量。请参阅使用变量存储对象


推荐阅读