首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查杀毒软件是否已停用或需要什么东西才能正常工作

如何检查杀毒软件是否已停用或需要什么东西才能正常工作
EN

Stack Overflow用户
提问于 2017-02-26 20:27:37
回答 1查看 138关注 0票数 0

我想知道怎样才能检查杀毒软件是否需要更新版本或所需的更新,或者是否需要使用CMD或批处理脚本才能正常工作?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 20:35:23

下面是一个监视productState状态并将其转换为变量的示例脚本。我设法使它与我的特定AntiVirus一起工作,但是您的里程可能会根据您使用的不同而有所不同。

我使用了来自这里这里二进制值,但是当您的AntiVirus更新、过时或禁用时,可以通过监视%byte1% %byte2% %byte3%的值来轻松地更改这些值。

代码语言:javascript
运行
复制
@echo off
wmic /namespace:\\root\SecurityCenter2 path AntiVirusProduct get * /value|findstr "displayName productState"
echo.
set /p dec=Enter productState decimal value to detect state:
call cmd /c exit /b %dec%
set "hex=%=exitcode%"
set "hex=%hex:~2%"
set "byte1=%hex:~0,2%"&set "byte2=%hex:~2,2%"&set "byte3=%hex:~4,2%"
:: Check byte1
    set "status1=ANTIVIRUS"
    if "%byte1%"=="00" set "status1=NONE"
    if "%byte1%"=="01" set "status1=FIREWALL"
    if "%byte1%"=="02" set "status1=AUTOUPDATE_SETTINGS"
    if "%byte1%"=="04" set "status1=AVAST_ANTIVIRUS"
    if "%byte1%"=="08" set "status1=ANTISPYWARE"
    if "%byte1%"=="16" set "status1=INTERNET_SETTINGS"
    if "%byte1%"=="32" set "status1=USER_ACCOUNT_CONTROL"
    if "%byte1%"=="64" set "status1=SERVICE"
:: Check byte2
    set "status2=UNKNOWN"
    if "%byte2%"=="16" set "status2=RUNNING"
:: Check byte2
    set "status3=UP-TO-DATE"
    if "%byte3%"=="16" set "status3=OUT-OF-DATE"
    if "%byte3%"=="32" set "status3=OUT-OF-DATE"
    if "%byte3%"=="52" set "status3=OUT-OF-DATE"
    if "%byte3%"=="58" set "status3=OUT-OF-DATE"

echo Type of antivirus  : %status1%
echo Scanning status    : %status2%
echo Virus definitions  : %status3%
echo %byte1%
pause

当然,对特定AV使用专用命令行工具会更好,但这应该有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42473843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档