📄 svc2kxp.cmd
字号:
echo Note:
echo -----
echo If you experiencing problems after updating Windows XP with
echo Service Pack 2 please do following:
echo.
echo set Deactivate_NetBIOS=NO
echo.
)
rem *** Thx2 Johannes Lichtenberger for the following lines using VBScript***
echo Disable NetBios on all local interfaces ...
echo.
echo On Error Resume Next>> "%nb_tmp%"
echo.>> "%nb_tmp%"
echo TcpipoverNetbios = 2 '0=NetbiosfromDHCP 1=EnableNetbios 2=DisableNetbios>> "%nb_tmp%"
echo.>> "%nb_tmp%"
echo strComputer = ".">> "%nb_tmp%"
echo Set objWMIService = GetObject("winmgmts:\\" ^& strComputer ^& "\root\cimv2")>> "%nb_tmp%"
echo Set objNICs = objWMIService.ExecQuery _>> "%nb_tmp%"
echo ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")>> "%nb_tmp%"
echo For Each objNic In objNICs>> "%nb_tmp%"
echo errTcpipNetbios = objNic.SetTCPIPNetBIOS(TcpipoverNetbios)>> "%nb_tmp%"
echo Next>> "%nb_tmp%"
"%SYSTEMROOT%\SYSTEM32\CSCRIPT.EXE" "%nb_tmp%"
del /F /Q "%nb_tmp%"
set REBOOT_REQUIRED=yes
:SKIP_NB_DISABLE
rem Skip Billboard because /all is used
if /I %SELECT%=="/all" goto :SW_ALL
if /I %SELECT%=="/std" goto :SW_ALL
if /I %SELECT%=="/relan" goto :SW_ALL
echo.
echo ___________________________________________________________________
echo.
echo *** Zusammenfassung / Result ***
echo.
echo Es wurden NICHT alle Aenderungen umgesetzt!
echo Um alle Vorschlaege von kssysteme.de umzusetzen, verwenden Sie
echo bitte den Parameter '/all' oder waehlen Sie im Menue den Punkt "3".
if /I %DHCP_CHANGES%=="YES" (
echo.
echo Wichtiger DHCP Hinweis
echo ======================
echo Ihre Konfiguration deutete an, das kein DHCP benoetigt wird. Falls
echo Sie jedoch einen DSL-Internetzugang besitzen und DHCP irrtuemlich
echo deaktivert wurde, kann es nach einem Neustart zu Problemen mit der
echo Internetverbindung kommen. Starten sie zur Problembehebung den
echo DHCP-Dienst von Hand neu.
echo.
)
echo.
echo Not all changes could be performed. To change all issues listed
echo on www.ntsvcfg.de please use parameter '/all' or select item "3"!
if /I %DHCP_CHANGES%=="YES" (
echo.
echo Important DHCP Notice
echo =====================
echo Your configuration indicates that DHCP will no longer be required.
echo But if you are using a DSL internet connection this choice probably
echo might be wrong. If you experiences problems during accessing the
echo internet please re-activate the "DHCP Service" manually.
echo.
)
echo ___________________________________________________________________
:SW_ALL
if /I %SELECT%=="/relan" (
rem startup: auto
echo.
echo ------------------
echo Re-enabling services ...
"%sc%" config LmHosts start= auto
"%sc%" config RemoteRegistry start= auto
"%sc%" config SamSs start= auto
"%sc%" config Winmgmt start= auto
if /I "%SYSTEM%"=="2k" (
"%sc%" config RPCSs start= auto
"%sc%" config lanmanServer start= auto
"%sc%" config seclogon start= auto
)
if /I "%SYSTEM%"=="XP" (
rem "%sc%" config SharedAccess start= auto
)
rem start re-enabled services
echo.
echo ------------------
echo [Re]starting services ...
echo.
"%sc%" query RemoteRegistry | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start RemoteRegistry
"%sc%" query SamSs | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start SamSs
"%sc%" query LmHosts | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start LmHosts
"%sc%" query Winmgmt | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start Winmgmt
if /I "%SYSTEM%"=="2k" (
"%sc%" query LanmanServer | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start lanmanServer
"%sc%" query RPCSs | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start RPCSs
"%sc%" query Seclogon | "%find%" /i "1 STOPPED" >NUL
if not errorlevel 1 "%net%" start seclogon
)
if /I "%SYSTEM%"=="XP" (
rem "%net%" start SharedAccess
)
rem enable SMB port 445
echo.
echo ------------------
echo Enabling SMB port 445 ...
echo REGEDIT4 > "%SMB_TMP%"
echo. >> "%SMB_TMP%"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters] >> "%SMB_TMP%"
echo "SMBDeviceEnabled"=dword:00000001 >> "%SMB_TMP%"
echo. >> "%SMB_TMP%"
echo. >> "%SMB_TMP%"
"%regedit%" /s "%SMB_TMP%"
del /F /Q "%SMB_TMP%"
set REBOOT_REQUIRED=yes
)
rem Creating fingerprint of current service settings...
if exist "%FPRINT%" del /F /Q "%FPRINT%"
if /I %USE_FPRINT%==YES (
echo.
echo Creating fingerprint which will take a few seconds ...
"%sc%" query type= service state= all bufsize= 8192 | %FIND% "SERVICE_NAME" > %TEMP%\~svclist.txt
for /F "tokens=1*" %%a in (%TEMP%\~svclist.txt) do (
echo %%b >>"%FPRINT%"
"%sc%" query "%%b" | %FIND% "STATE" >>"%FPRINT%"
"%sc%" qc "%%b" | %FIND% "DISPLAY_NAME" >>"%FPRINT%"
"%SC%" qc "%%b" | %FIND% "START_TYPE" >>"%FPRINT%"
echo. >> "%FPRINT%"
)
del "%TEMP%\~svclist.txt"
echo ... done.
)
goto :END
:RESTORE
echo ____________________________________________________
echo.
echo Letzte Aenderungen zuruecknehmen [y/n]?
set /P UNDO= Undo last changes [y/n]?
if /I "%UNDO%"=="y" (
echo _______________________________________________________________
echo.
echo Hinweis:
echo ========
echo Moeglicherweise meldet Windows Fehler beim Importieren.
echo Ignorieren Sie diese mit Klick auf "OK".
echo.
echo Windows might probably report an error during importing the
echo backups. Just ignore this by clicking the "OK" button!
echo _______________________________________________________________
echo Status:
echo -------
:RESTORE_EXT
if exist "%SVC_BAK%" (
echo Importing services ...
echo ["%SVC_BAK%"]
"%regedit%" /s "%SVC_BAK%"
set action=""
)
if exist "%DCOM_BAK%" (
echo Importing DCOM ...
echo ["%DCOM_BAK%"]
"%regedit%" /s "%DCOM_BAK%"
)
if exist "%DCOMP_BAK%" (
echo Importing DCOM-standard protocols ...
echo ["%DCOMP_BAK%"]
"%regedit%" /s "%DCOMP_BAK%"
)
if exist "%SMB_BAK%" (
echo Importing SMB-settings ...
echo ["%SMB_BAK%"]
echo - Removing SMBDeviceEnabled RegKey ...
echo REGEDIT4 > "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters] >> "%USERPROFILE%\smbpatch~.reg"
echo "SMBDeviceEnabled"=- >> "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
"%SystemRoot%\regedit.exe" /s "%USERPROFILE%\smbpatch~.reg"
del /F /Q "%USERPROFILE%\smbpatch~.reg"
"%regedit%" /s "%SMB_BAK%"
)
if exist "%HANDLER1%" (
echo Importing URL_HANDLER AIM ...
echo ["%HANDLER1%"]
"%regedit%" /s "%HANDLER1%"
)
if exist "%HANDLER2%" (
echo Importing URL_HANDLER GOPHER ...
echo ["%HANDLER2%"]
"%regedit%" /s "%HANDLER2%"
)
if exist "%HANDLER3%" (
echo Importing URL_HANDLER TELNET ...
echo ["%HANDLER3%"]
"%regedit%" /s "%HANDLER3%"
)
rem Skipping back to next state
if /I "%RESTORE%"=="YES" goto :NO_RESTORE
echo Removing RPC Internet key ....
echo REGEDIT4 >"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet] >>"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
"%regedit%" /s "%USERPROFILE%\svc_fix.reg"
del /F /Q "%USERPROFILE%\svc_fix.reg"
rem Creating fingerprint of current service settings...
if exist "%FPRINT%" del /F /Q "%FPRINT%"
if /I %USE_FPRINT%==YES (
echo.
echo Creating fingerprint which will take a few seconds ...
"%sc%" query type= service state= all bufsize= 8192 | %FIND% "SERVICE_NAME" > %TEMP%\~svclist.txt
for /F "tokens=1*" %%a in (%TEMP%\~svclist.txt) do (
echo %%b >>"%FPRINT%"
"%sc%" query "%%b" | %FIND% "STATE" >>"%FPRINT%"
"%sc%" qc "%%b" | %FIND% "DISPLAY_NAME" >>"%FPRINT%"
"%SC%" qc "%%b" | %FIND% "START_TYPE" >>"%FPRINT%"
echo. >> "%FPRINT%"
)
del "%TEMP%\~svclist.txt"
echo ... done.
)
echo.
echo _______________________________________________________________
echo.
echo *** Zusammenfassung / Result ***
echo.
echo Die Ruecksicherung wurde ausgefuehrt. Wenn in der oberen Zeile
echo keine Statusmeldungen zu sehen sind, existierten keine rueckzu-
echo sichernden Dateien. Aktivieren Sie gegebenenfalls NetBios in
echo den Eigenschaften der jeweiligen Netzwerkkarte.
echo Bitte starten Sie abschliessend Ihren Rechner neu.
echo.
echo Restore finished. If you don't see any messages in the status
echo box above, there were no files to restore. Please reactivate
echo NetBios for each NIC you want use with it and reboot afterwards.
echo ________________________________________________________________
)
goto :END
:RESTORE_DEFAULTS
echo.
echo *** Restore Factory Settings ***
echo.
echo ______________________________________________________________________________
echo.
echo Einstellungen vor Erstanwendung des Scripts wiederherstellen (ausser NetBIOS)?
set /P UNDO= Restore defaults (before using script, except NetBIOS) [y/n]?
if /I "%UNDO%"=="y" (
echo.
echo - Restoring original service settings [if exists] ...
if exist "%SVC_BAK%.default" (
echo "%SVC_BAK%.default"
"%regedit%" /s "%SVC_BAK%.default"
)
if exist "%DCOM_BAK%.default" (
echo "%DCOM_BAK%.default"
"%regedit%" /s "%DCOM_BAK%.default"
)
if exist "%DCOMP_BAK%.default" (
echo "%DCOMP_BAK%.default"
"%regedit%" /s "%DCOMP_BAK%.default"
)
if exist "%SMB_BAK%.default" (
echo "%SMB_BAK%.default"
echo - Removing SMBDeviceEnabled RegKey ...
echo REGEDIT4 > "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters] >> "%USERPROFILE%\smbpatch~.reg"
echo "SMBDeviceEnabled"=- >> "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
echo. >> "%USERPROFILE%\smbpatch~.reg"
"%SystemRoot%\regedit.exe" /s "%USERPROFILE%\smbpatch~.reg"
del /F /Q "%USERPROFILE%\smbpatch~.reg"
"%regedit%" /s "%SMB_BAK%.default"
)
if exist "%HANDLER1%.default" (
echo "%HANDLER1%.default"
"%regedit%" /s "%HANDLER1%.default"
)
if exist "%HANDLER2%.default" (
echo "%HANDLER2%.default"
"%regedit%" /s "%HANDLER2%.default"
)
if exist "%HANDLER3%.default" (
echo "%HANDLER3%.default"
"%regedit%" /s "%HANDLER3%.default"
)
echo ... done.
echo - Removing RPC Internet key ...
echo REGEDIT4 >"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet] >>"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
echo. >>"%USERPROFILE%\svc_fix.reg"
"%regedit%" /s "%USERPROFILE%\svc_fix.reg"
del /F /Q "%USERPROFILE%\svc_fix.reg"
echo ... done.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -