找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29156|回复: 8

[其他] 批处理加域问题,验证域用户名和密码正确?

[复制链接]
发表于 2018-9-27 19:32:46 | 显示全部楼层 |阅读模式
各位大神,批处理加域问题,如何验证域用户名和密码正确?我看见有命令加域方法,但不知道如何验证密码正确。
发表于 2018-9-27 20:26:31 | 显示全部楼层
把你看到的命令发出来瞅瞅?
 楼主| 发表于 2018-9-27 21:20:49 | 显示全部楼层
回复 2# Batcher


    wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="dxj.com" username="dxj.com\administrator" password="123456" FJoinOptions=1  

这个命令,没测试过,公司有几千台电脑要加域,还有个问题是计算机名规则是P80******(数字是8位数)和N80******(数字是8位数)和P13412356789(手机号码)和N13412356789(手机号码)这样的格式。批处理怎么判断这几种规则的符合?其他不符合。正则不会写。
 楼主| 发表于 2018-9-28 13:31:51 | 显示全部楼层

批处理if怎么判断2个条件只有一个成立?

本帖最后由 小智BAT 于 2018-9-28 13:33 编辑

批处理if怎么判断2个条件只有一个成立?求大神写个代码。计算机名规则是P80******(数字是8位数)和N80******(数字是8位数)和P13412356789(手机号码)和N13412356789(手机号码)这样的格式。批处理怎么判断这几种规则的符合?其他不符合。正则不会写。
  1. rem 判断计算机名
  2. set xx=%computername:~1,8%
  3. rem set nn=%computername:~1,11%
  4. echo %xx%|findstr/xx  "^8[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" >nul&& set pcnum=8 || goto pcname
  5. rem echo %nn%|findstr/nn  "^1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" >nul&& set pcnum=11||echo 计算机名不符合(不是手机号码)

  6. if %pcnum%==8 (ECHO √. 计算机名符合!计算机名为:%computername%) else (echo no)


  7. if %xx%==%username% (ECHO √. 计算机名和用户名对应!用户名为:%xx%) else ( goto usernamenew )
复制代码
 楼主| 发表于 2018-9-29 10:34:38 | 显示全部楼层
回复 2# Batcher


    老大。能不能帮忙看看怎么判断
发表于 2018-9-29 19:56:57 | 显示全部楼层
就是用findstr的正则判断字符串格式?
 楼主| 发表于 2018-9-29 20:07:06 | 显示全部楼层
回复 6# flashercs


    反正能实现功能就行。请各位大神帮帮忙。。。。
发表于 2018-9-29 21:01:34 | 显示全部楼层
本帖最后由 flashercs 于 2018-9-29 21:10 编辑

回复 7# 小智BAT
  1. rem 判断计算机名
  2. @echo off
  3. set xx=%computername%
  4. echo %xx%|findstr "^[PN]80[0-9][0-9][0-9][0-9][0-9][0-9]$">nul&&(
  5.     set pcnum=8
  6.     echo 计算机名符合8位
  7. )||echo %xx%|findstr "^[PN]1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$">nul&&(
  8.     set pcnum=11
  9.     echo 计算机名符合11位
  10. )||echo 计算机名既不符合8位,也不符合11位。
  11. rem echo %nn%|findstr/nn  "^1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" >nul&& set pcnum=11||echo 计算机名不符合(不是手机号码)

  12. REM if %pcnum%==8 (ECHO √. 计算机名符合!计算机名为:%computername%) else (echo no)
  13. REM if %xx%==%username% (ECHO √. 计算机名和用户名对应!用户名为:%xx%) else ( goto usernamenew )
  14. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
小智BAT + 1 乐于助人

查看全部评分

 楼主| 发表于 2018-9-29 23:56:23 | 显示全部楼层
回复 8# flashercs


   谢谢大神。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:06 , Processed in 0.020372 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表