原文:【Windows10 IoT开发系列】PowerShell的相关配置

可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT
核心版设备。PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计。

1.​启动 PowerShell (PS)
会话

注:若要使用装有Windows10 IoT
Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系。

​启动 Windows IoT
核心版设备后,与该设备相连的屏幕上将显示一个 IP 地址:

![Windows 10 IoT 核心版上的
CoreDefaultApp](/content/images/DefaultApp.png) 可在Windows10 IoT
Core Watcher实用工具中找到相同信息。

Windows10
IoT Core启动界面

​在本地电脑上启动管理员 PS
控制台。

(在 Windows“开始”菜单旁的“搜索 Web 和
Windows”文本框中键入“powershell”)

搜索Powershell

以管理员身份启动 PS,请右键单击“Windows
PowerShell”项并选择“以管理员身份运行”:

管理员身份

Powershell控制台:

Powershell
主界面

注:需要在桌面上启动 WinRM 服务以启用远程连接,在 Powershell 控制台中,输入:

net start WinRM​

在 Powershell
控制台中,键入以下命令,从而使用相应的值替代 

Set-Item
WSMan:\localhost\Client\TrustedHosts -Value

输入 Y 以确认更改。

  • 现在,使用 Windows IoT 核心版设备启动会话,在管理员身份 PS 控制台中,键入:

  • Enter-PSSession
    -ComputerName -Credential \Administrator

在凭据对话框中,输入以下默认密码:p@ssw0rd

成功运行

更改账户密码:在 PowerShell 连接中发出以下命令

net
user Administrator [new password]

完成操作后,需要使用具有新凭据的 Exit-PSSession 和 Enable-PSSession 来建立新的
PowerShell 会话。

Exit-PSSession Enter-PSSession -ComputerName -Credential
\Administrator​

2.Visual Studio 远程调试程序疑难解答

为了能够从 Visual Studio 2015 部署应用程序,需确保 Visual Studio 远程调试程序正在
Windows IoT 核心版设备上运行。远程调试器应在计算机启动时自动启动,若要检查启动情况,请使用 tlist 命令列出 powershell 中所有正在运行的进程,应有两个
msvsmon.exe 的实例正在设备上运行。

在长时间都处于非活动状态后,Visual Studio 远程调试器可能会出现超时。若Visual Studio 无法连接到
Windows IoT 核心版设备,请尝试重新启动设备。

3.​配置 Windows IoT 核心版设备

​更改“计算机名”,请使用 setcomputername 实用工具:

setcomputername

重新启动设备使更改生效,使用
shutdown 命令:

shutdown /r /t 0

重新启动后,由于计算机名称已更改,需要重新运行此命令,以便连接到设备:

 Set-Item
WSMan:\localhost\Client\TrustedHosts -Value

4.已知问题与解决方法

​问题:PowerShell 安全策略中的一个已知 Bug
会导致远程会话内的清单出现以下问题:

① Get-Help 返回异常匹配项。

② 指定模块上的 Get-Command 将返回空命令列表。

③ 从以下任意模块运行 cmdlet 将引发
CommandNotFoundException:
Appx、NetAdapter、NetSecurity、NetTCPIP、PnpDevice。

④ 上述任意模块上的 Import-Module 将引发
PSSecurityException 异常(包含 UnauthorizedAccess)。模块自动加载似乎也不起作用。

解决方法: 将远程 PowerShell
会话内的执行策略修改为“RemoteSigned”。

有关其他执行策略的更多详细信息,请参考https://technet.microsoft.com/zh-cn/library/ee176961.aspx

问题:有时,某些模块中的
cmdlet(如 NetAdapter)不可见。例如,Get-Module NetAdapter 将返回一个空列表。

解决方法:
将“-Force”参数与
Import-Module 结合使用。例如,Import-Module
NetAdapter -Force。

 问题:
将执行策略设置为“AllSigned”时会中断 PS
远程控制。创建远程会话的后续尝试均失败,并且 SecurityException 正在加载
Typesv3.ps1xml。

解决方法:
使用 winrs.exe 还原 Powershell 执行策略:


更改控制台代码页 Chcp
65001


登录到远程 cmd.exe shell Winrs.exe
-r: -u: -p: cmd.exe

③ 在远程
cmd.exe 内,修改相应的注册表项 reg
add
HKLM\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
/v ExecutionPolicy /d RemoteSigned /f

④ 退出远程
cmd.exe 会话 exit

本文​主要资源来自Windows
开发中心。

【Windows10 IoT开发系列】PowerShell的相关配置的更多相关文章

  1. 【Windows10 IoT开发系列】Powershell命令行实用程序

    原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Admin ...

  2. 【Windows10 IoT开发系列】配置篇

    原文:[Windows10 IoT开发系列]配置篇 Windows10 For IoT是Windows 10家族的一个新星,其针对不同平台拥有不同的版本.而其最重要的一个版本是运行在Raspberry ...

  3. 【Windows10 IoT开发系列】“Hello,World!”指导

    原文:[Windows10 IoT开发系列]"Hello,World!"指导 本文主要是介绍使用C#来开发一个可以运行在Raspberry Pi2上的一个基本项目. ​1.在启动V ...

  4. 【Windows10 IoT开发系列】API 移植工具

    原文:[Windows10 IoT开发系列]API 移植工具 Windows 10 IoT Core 中是否提供你的当前 Win32 应用程序或库所依赖的 API? 如果不提供,是否存在可使用的等效 ...

  5. 【Windows10 IoT开发系列】开发人员模式设置

    原文:[Windows10 IoT开发系列]开发人员模式设置  声明:本文转自微软Windows 开发人员中心(https://msdn.microsoft.com/library/windows/ ...

  6. ABP开发框架前后端开发系列---(12)配置模块的管理

    一般来说,一个系统或多或少都会涉及到一些系统参数或者用户信息的配置,而ABP框架也提供了一套配置信息的管理模块,ABP框架的配置信息,必须提前定义好配置的各项内容,然后才能在系统中初始化或者通过接口查 ...

  7. Dapr微服务应用开发系列1:环境配置

    题记:上篇Dapr系列文章简要介绍了Dapr,这篇来谈一下开发和运行环境配置 本机开发环境配置 安装Docker 为了方便进行Dapr开发,最好(其实不一定必须)首先在本机(开发机器)上安装Docke ...

  8. iOS开发系列-iOS布局相关

    LayoutSubViews 需要在某个View调整子视图的位置时,可以重写. 以下情况会出发LayoutSubViews方法的调用 init初始化不会触发layoutSubviews,但是是用ini ...

  9. ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架

    前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...

随机推荐

  1. SecureCRT连接虚拟机中的Linux

    如何使用SecureCRT连接虚拟机中的Linux https://jingyan.baidu.com/article/574c52191eb9996c8c9dc16a.html?st=5&n ...

  2. Kail Linux渗透测试培训手册3第二章信息采集

    Kail Linux渗透测试培训手册3第二章信息采集 信息收集是网络攻击中最重要的步骤之一.渗透攻击.我们需要收集各种信息目标.该信息收集.攻击成功的概率越大.介绍信息收集的相关工具.本文选自< ...

  3. Fiddler快速入门(还有一个功能就是不经过网络,直接模拟一个响应返回给客户端)

    Fiddler是一个免费.强大.跨平台的HTTP抓包工具.Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少.所 ...

  4. 【33.33%】【codeforces 586D】Phillip and Trains

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  5. iOS开发 - OC - block的详解 - 深入篇

    深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来 ...

  6. android:layout_gravity和android:gravity属性的差别

    gravity的中文意思就是"重心",就是表示view横向和纵向的停靠位置 android:gravity:是对view控件本身来说的,是用来设置view本身的文本应该显示在vie ...

  7. jQuery立即调用表达式

    http://www.imooc.com/code/3247 立即调用表达式 任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性, ...

  8. 清晰明亮的白色lua协程(coroutine)

    协同程序线程类和多线程下似:它有它自己的堆栈.自己的局部变量.它有自己的指令指针,但是,其他协程共享全局变量和其他项目信息.主要不同在于:多处理器的情况下.概念上来说多线程是同一时候执行多个线程,而协 ...

  9. JAVA如何设置代理server,s取消代理erver

    1.一个简短的引论 代理server(Proxy Server)是一种重要的server安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用. 代理server大多被用来连 ...

  10. uow Unit of work

    通过学习圣杰的文章  UnitOfWork知多少  知道uow其实就是为了解决 一次提交所有更改 1.ef本身可以具备这样一个功能,但是我们在写仓储的实现的时候 经常会直接显式saveChanges了 ...