随笔-224  评论-1197  文章-1 

Windows 10 IoT Serials 6 - 如何修改IoTStartupOnBoot.cmd文件

    使用Windows 10 IoT Core系统的朋友应该会比较熟悉IoTStartupOnBoot.cmd文件,该文件是系统启动以后加载的批处理文件,一般会包含应用、服务和后台的启动,比如WinRM、AllJoyn、iotcoredefaultapp和IoTOnboardingTask等等。在系统升级到最新的15026版本以后,该文件的修改方式和之前有了一些区别。本文将以添加启动FTP服务为例,详细讲述如何通过修改该文件的权限来授权用户的修改操作。

1. IoTStartupOnBoot.cmd文件操作权限设置

    IoTStartupOnBoot.cmd文件位于Windows 10 IoT Core系统的Windows/System32文件夹下,用户可以通过文件共享、FTP工具来访问。查看其属性可以发现,用户以Administrator登录的情况下,权限只有读取和执行。如下图所示。

1

    因此,如果用户想要修改该文件的内容,会遇到权限不足而无法保存的情况。通过以下的步骤,就可以完成该文件的权限设置,接收用户的修改和保存。

    首先,点击上图中的“高级”按钮,在弹出的页面中双击TrustInstaller,如下图所示。

2

    然后,在弹出的TrustInstaller页面中,点击“选择主题”按钮,如下图所示。

3

    接着,在选择用户或组页面,输入“Administrator”,并点击旁边的“查找名称”按钮,如下图所示。

5

    之后,用户会发现,系统已经为对应的用户添加了IP(即Windows 10 IoT Core设备的IP和对应的用户),如下图所示。

6

    点击确定,用户可以发现,当前的Administrator用户已经具有了修改和写入的权限,如下图所示。

7

    之后,再点击确定,用户可以发现,文件的权限条目中,添加了一条Administrator为主体的记录,具有完全控制的权限,如下图所示。

8

2. 设置自启动FTP服务

    在之前的IoT Core系统中,FTP服务是开机自启动的。但是最近的Insider版本系统,该服务并没有开机自启动。用户可以通过修改IoTStartupOnBoot.cmd文件来实现开机启动FTP服务的目的。具体方法如下。

    首先,通过文件共享,访问Windows 10 IoT Core设备,如:“\\192.168.0.104\c$”,其中的IP为Windows 10 IoT Core设备的IP。在弹出的对话框中输入访问的用户名和密码。定位到Windows/System32文件夹下,找到IoTStartupOnBoot.cmd文件,点击右键,选择编辑。

    然后,在txt文本编辑环境中,添加下列代码:

    REM Sync Time
    w32tm.exe /resync >nul 2>&1

    ….此处省略其他代码….

     REM start FTP
     if /i EXIST %SystemDrive%\Windows\System32\ftpd.exe (
       start ftpd.exe C:\Users\DefaultAccount >nul 2>&1
     )

    echo Completed successfully.

    修改完毕,点击保存,然后重新启动Windows 10 IoT Core设备。通过Windows Device Portal,或者PowerShell工具连接,可以查看设备运行的进程。在进程列表中可以发现,FTP服务已经开机自启动。如下图所示。

9

posted on 2017-02-15 16:27 施炯 阅读(...) 评论(...) 编辑 收藏