很多时候, 我们需要以管理员权限来运行批处理脚本, 比如操作 windows 服务. EasyNVR 中提供安装服务的批处理脚本, 运行这个bat文件, 自动将 EasyNVR 以 windows 服务的形式安装运行. 这样, 系统重启, 能够保证我们的程序自动启动, 不需要人为干预. 但是, 涉及到 windows 服务的安装, 在 win7 , win10 上面, 需要管理员权限来运行. 早前, 我们做的比较简单, 把程序打包发给客户的时候, 总是提醒客户, 以管理员权限运行 我们的启动脚本.

终于有一天, 我不想再发出 以管理员权限运行 这样的提醒了. 难道就不能自动以管理员权限运行吗? 答案是可以的, 于是有了这本博客.

百度搜索 以管理员权限运行 批处理 , 第一条结果来自知乎, https://www.zhihu.com/question/34541107?sort=created , 我们一开始尝试了知乎网友提供的方案, 测试发现, 知乎网友提供的方案只能在部分机器上运行正常, 另外一部分机器上, 会导致 %~dp0 输出不正常. 于是, 我们放弃了这种方案. 继续寻找.

最终, 我们在 stackoverflow 找到一位叫 Matt 的网友留下的 code. 通过测试, 他提供的 code 完全符合我们的需求. 下面贴出他的代码.

::::::::::::::::::::::::::::::::::::::::::::
:: Elevate.cmd - Version 4
:: Automatically check & get admin rights
::::::::::::::::::::::::::::::::::::::::::::@echo offCLSECHO.ECHO =============================ECHO Running Admin shellECHO =============================:initsetlocal DisableDelayedExpansionset cmdInvoke=1set winSysFolder=System32set "batchPath=%~0"for %%k in (%0) do set batchName=%%~nkset "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"setlocal EnableDelayedExpansion:checkPrivilegesNET FILE 1>NUL 2>NULif '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ):getPrivilegesif '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)ECHO.ECHO **************************************ECHO Invoking UAC for Privilege EscalationECHO **************************************ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"ECHO args = "ELEV " >> "%vbsGetPrivileges%"ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"ECHO Next >> "%vbsGetPrivileges%"if '%cmdInvoke%'=='1' goto InvokeCmd ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"goto ExecElevation:InvokeCmdECHO args = "/c """ + "!batchPath!" + """ " + args >> "%vbsGetPrivileges%"ECHO UAC.ShellExecute "%SystemRoot%\%winSysFolder%\cmd.exe", args, "", "runas", 1 >> "%vbsGetPrivileges%":ExecElevation"%SystemRoot%\%winSysFolder%\WScript.exe" "%vbsGetPrivileges%" %*exit /B:gotPrivilegessetlocal & cd /d %~dp0if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)::::::::::::::::::::::::::::::START::::::::::::::::::::::::::::REM 把你需要运行的脚本放到下面就可以了

将我们自己的代码放到上面代码的后面, 就以保证以管理员权限运行了

如果你也在寻找让批处理自动以管员权限运行的方法, 那就试试吧.

关于EasyNVR

EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;

详细说明:http://www.easydarwin.org/easynvr/

点击链接加入群【EasyNVR解决方案】:383501345

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

转载于:https://www.cnblogs.com/babosa/p/9217756.html

EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行相关推荐

  1. Windows核心编程_判断是否管理员权限运行

    在Windows安全性越来越强的情况下,不常于XP时代,几乎毫无安全可言,各种对内核文件操控的rin3API不需要权限就可以运行和随意修改,如常见的注册表需改! 但是Win8以后安全性得到了强力的提升 ...

  2. 黑客入侵微软邮件服务器、Windows零日漏洞可获管理员权限|11月23日全球网络安全热点

    安全资讯报告 经济日报:筑牢数据安全防护网 由国家互联网信息办公室会同相关部门研究起草的<网络数据安全管理条例(征求意见稿)>对外公布.这是国家加强网络数据法治化的又一重要举措,对数据处理 ...

  3. 在Windows 7 下使用Visual Studio 2010 编写自动申请管理员权限运行的程序

    自从Vista推出UAC之后,遇到程序需要执行一些高安全级别的操作的时候就需要系统管理员权限,如何让自己写的程序能够自动向系统申请管理员执行权限,也就是在程序的图标上出现一个小盾牌的图标呢,使用Vis ...

  4. Windows Bat批处理技巧之管理员权限运行

    [需求背景] 近期在做一些自动化分析的脚本,其中一项任务是对Windows EventLog实施导出动作,简单片段如下所示: echo "事件日志导出" set var=%DATE ...

  5. 【samba】Wodows同步Linux文件|搭建共享文件服务器——在windows上映射网络驱动器

    目录 Linux做samba服务器 Linux上的操作 windows上的操作 windows做samba服务器 windows上的操作 linux上的操作 错误记录 Linux Samba服务主配文 ...

  6. 关于windows上的exe可执行程序在黑色窗口运行时候不能点击屏幕,要不然会暂定程序

    关于windows上的exe可执行程序在黑色窗口运行时候不能点击屏幕,要不然会暂定程序 2019-12-3 记录

  7. MicroFocus 监控工具 SiteScope 搭配Task scheduler在远程Windows上执行脚本

    文章目录 SiteScope介绍 配置步骤 1.在远程被监控Windows上准备工作 2.SiteScope端配置 3.设置SiteScope 总结 SiteScope介绍 SiteScope 是HP ...

  8. 服务器定时任务vbs文件,自动以管理员身份运行批处理bat文件(vbs与bat两种方法)...

    但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限 ...

  9. 【桌面运维】Windows使用批处理脚本快速创建访问共享文件的快捷方式

    Lib 前言 关于Windows共享的知识 一种解决方案 批处理脚本的实现 简约版 简约版效果展示 美化版 美化版效果展示 优化简约版 前言 前阵子要给公司很多电脑安装访问共享文件夹快捷方式,方便各部 ...

最新文章

  1. 将调用密集型的 COM 组件迁移到托管代码
  2. java poi excel 生成表格的工具封装
  3. C语言标识符、关键字和注释
  4. ArcGIS for Android示例解析之离线地图-----LocalTiledLayer
  5. Web前后端笔记-通过对称加密算法和信息摘要算法防止数据重放
  6. github 创始人_GitHub联合创始人Scott Chacon的视频采访,探讨代码之外的未来
  7. python 读取excel 生成json 读取json
  8. 软件开发python方向_2020年软件开发7大学习方向!
  9. CF1228——记一次和紫名失之交臂的CF
  10. Python 每日一题(计算数值和)
  11. python修改pdf文字_以编程方式更改PDF中文本的字体颜色
  12. 2014汽车之家笔试
  13. 利用python实现杜利特尔分解法
  14. Docker学习十:网络
  15. CF-133A - HQ9+
  16. 《GhostXP_SP2电脑公司经典版v8.2》LONGWANG制作
  17. Beyond Compare官方下载地址
  18. Javascript面向对象编程指南笔记 - 第三章 - 函数
  19. 用大数据建设“安全”生态 亿赛通出席安徽省通信学会大数据学术交流会
  20. 如何删除PDF背景颜色?

热门文章

  1. opencv-api convexityDefects
  2. 团队梯队人才培养模型,60页人才梯队建设与人才培养,果断收藏
  3. 101 Free VMware Tools
  4. Docker学习总结(61)——Docker、Docker-Compose、Docker swarm 、 K8s 之间的区别
  5. Kubernetes学习总结(4)——Kubernetes v1.20 重磅发布 | 新版本核心主题 主要变化解读
  6. Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
  7. python3.8.0安装详细步骤_python3.8.0安装教程_后端开发
  8. SpringBoot继承LogStash实现日志收集
  9. centos7 部署elasticsearch
  10. 360好搜鬼畜视频一下两下成洗脑热词