현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

Microsoft 기술 자료 문서 312403에 대한 Dltpurge.vbs의 텍스트 버전

Windows XP에 대한 지원이 종료되었습니다.

Microsoft는 2014년 4월 8일 Windows XP에 대한 지원을 종료했습니다. 이러한 변경에 따라 해당 소프트웨어 업데이트 및 보안 옵션이 영향을 받습니다. 사용자에게 미치는 영향 및 계속 보호를 받는 방법에 대해 알아보십시오.

2015년 7월 14일 Windows Server 2003 지원 종료

Microsoft는 2015년 7월 14일 Windows Server 2003에 대한 지원을 종료했습니다. 이러한 변경에 따라 해당 소프트웨어 업데이트 및 보안 옵션이 영향을 받습니다. 사용자에게 미치는 영향 및 계속 보호를 받는 방법에 대해 알아보십시오.

이 문서는 이전에 다음 ID로 출판되었음: KR315229
요약
Windows의 분산 링크 추적 서비스를 사용하여 NTFS 형식의 볼륨 및 서버에서 연결된 파일이 만들어지고 이동하는 상황을 추적할 수 있습니다. 본 문서에는 Microsoft 기술 자료의 다음 문서에서 설명하는 Dltpurge.vbs 스크립트의 텍스트 버전이 들어 있습니다.

312403 Windows 기반 도메인 컨트롤러의 분산 링크 추적
추가 정보
이 스크립트를 사용하려면 다음과 같이 하십시오.
  1. 이 문서에서 <Start Copy Here> 태그와 <End Copy Here> 태그 사이의 모든 텍스트를 복사한 후 ASCII 텍스트 편집기 파일(예: Microsoft 메모장 파일)로 붙여넣습니다.
  2. 파일을 "Dltpurge.vbs"로 저장합니다.
  3. 아래의 Microsoft 기술 자료 문서에서 설명하는 절차를 완료합니다.
    312403 Windows 기반 도메인 컨트롤러의 분산 링크 추적
<Start Copy Here>
'=============================================================================='=============================================================================='' Copyright (C) 2001 by Microsoft Corporation.  All rights reserved.'' This script deletes all Active Directory objects used by the' Distributed Link Tracking Server service.'' It is assumed that the DLT Server service has been disabled,' and you wish to recover the DIT space these objects occupy.'' Usage:   cscript DltPurge.vbs <options>' Options: -s ServerName'          -d FullyQualifiedDomain'          -b BatchSize  BatchDelayMinutes'          -t (optional test mode)'' The objects are deleted in batches - BatchSize objects are deleted,' then there is a BatchDelayMinutes delay before the next batch.''=============================================================================='==============================================================================Option Explicit'' Globals, also local to main.'Dim oProviderDim oTargetDim sServerDim sDomainDim bTestDim BatchSizeDim BatchDelayMinutes'' Set defaults'BatchSize = 1000BatchDelayMinutes = 15bTest = False'==============================================================================''   ProcessArgs''   Parse the command-line arguments.  Results are set in global variables'   (oProvider, oTarget, sServer, sDomain, BatchSize, and BatchDelayMinutes).''==============================================================================public function ProcessArgs    Dim iCount    Dim oArgs    on error resume next    '    ' Get the command-line arguments    '        Set oArgs = WScript.Arguments    if oArgs.Count > 0 then        '        ' We have command-line arguments.  Loop through them.        '        iCount = 0        ProcessArgs = 0        do while iCount < oArgs.Count            select case oArgs.Item(iCount)                '                ' Server name argument                '                                case "-s"                    if( iCount + 1 >= oArgs.Count ) then                        Syntax                        ProcessArgs = -1                        exit do                    end if                    sServer = oArgs.Item(iCount+1)                    if Len(sServer) > 0 then sServer = sServer & "/"                    iCount = iCount + 2                '                ' Enable testing option                '                                case "-t"                    iCount = iCount + 1                    bTest  = True                '                ' Domain name option                '                                case "-d"                    if( iCount + 1 >= oArgs.Count ) then                        Syntax                        ProcessArgs = -1                        Exit Do                    end if                    sDomain = oArgs.Item(iCount+1)                    iCount = iCount + 2                '                ' Batching option (batch size, batch delay)                '                case "-b"                    if( iCount + 2 >= oArgs.Count ) then                        Syntax                        ProcessArgs = -1                        exit do                    end if                    Err.Clear                                        BatchSize = CInt( oArgs.Item(iCount+1) )                    BatchDelayMinutes = CInt( oArgs.Item(iCount+2) )                                        if( Err.Number <> 0 ) then                         wscript.echo "Invalid value for -b argument" & vbCrLf                        Syntax                        ProcessArgs = -1                        exit do                    end if                                        iCount = iCount + 3                '                ' Help option                '                                case "-?"                    Syntax                    ProcessArgs = -1                    exit do                '                ' Invalid argument                '                                case else                                    ' Display the syntax and return an error                    wscript.echo "Unknown argument: " & oArgs.Item(iCount) & vbCrLf                    Syntax                    ProcessArgs = -1                    Exit Do                                end select      loop    else            '        ' There were no command-line arguments, display the syntax        ' and return an error.        '        Syntax        ProcessArgs = -1    end if    Set oArgs = Nothingend function ' ProcessArgs'==============================================================================''   Syntax''   Show the command-line syntax''==============================================================================public function Syntax    wscript.echo    vbCrLf & _                    "Purpose:   Delete Active Directory objects from Distributed Link Tracking" & vbCrLf & _                    "           Server service (Assumes that DLT Server has been disabled" & vbCrLf & _                    "           on all DCs)" & vbCrLf & _                    vbCrLf & _                    "Usage:     " & wscript.scriptname & " <arguments>" & vbCrLf & _                    vbCrLf & _                    "Arguments: -s Server" & vbCrLf & _                    "           -d FullyQualifiedDomain" & vbCrLf & _                    "           -b BatchSize BatchDelayMinutes (default to 1000 and 15)" & vbCrLf & _                    "           -t (optional test mode, nothing is deleted)" & vbCrLf & _                    vbCrLf & _                    "Note:      Objects are deleted in batches, with a delay between each" & vbCrLf & _                    "           batch.  The size of the batch defaults to 1000 objects, and" & vbCrLf & _                    "           the length of the delay defaults to 15 minutes.  But these" & vbCrLf & _                    "           values can be overridden using the -b option." & vbCrLf & _                    vbCrLf & _                    "Example:   " & wscript.scriptname & "  -s  myserver  -d  dc=mydomain,dc=mycompany,dc=com"end function    ' Syntax'==============================================================================''   PurgeContainer''   Delete all objects of the specified class in the specified container.'   This subroutine is called once for the volume table and once for'   the object move table.''==============================================================================sub PurgeContainer(ByRef oParent, ByVal strClass)    dim oChild    dim iBatch    dim iTotal    On Error Resume Next    iTotal = 0    iBatch = 0    ' Loop through the children of this container    For Each oChild in oParent        '         ' Is this a DLT object?        '                if oChild.Class = strClass Then            '            ' Yes, this is a DLT object, it may be deleted            '                        iTotal = iTotal + 1            iBatch = iBatch + 1            '            ' Delete the object            '                        if bTest then                wscript.echo "Object that would be deleted: " & oChild.adspath            else                oParent.Delete oChild.Class, oChild.Name            end if            '            ' If this is the end of a batch, delay to let replication            ' catch up.            '                        if iBatch = BatchSize then                            iBatch = 0                                wscript.stdout.writeline "" ' ignored by wscript                wscript.echo "Deleted " & BatchSize & " objects"                wscript.echo "Pausing to allow processing (will restart at " & DateAdd("n", BatchDelayMinutes, Time) & ")"                                wscript.sleep BatchDelayMinutes * 60 * 1000                wscript.echo "Continuing ..."                            end if                    else                    ' oChild.Class didn't match strClass            wscript.echo "Ignoring unexpected class: " & oChild.Class                    end if        oChild = NULL    Next    wscript.echo "Deleted a total of " & iTotal & " objects"end sub ' PurgeContainer'=============================================================================='' Main''==============================================================================if (ProcessArgs=-1) then wscript.quiton error resume next'' Explain what's about to happen'wscript.stdout.writeline "" ' ignored by wscriptwscript.echo "This script will purge all objects from the Active Directory" & vbCrLf & _             "used by the Distributed Link Tracking Server service (trksvr)." & vbCrLf & _             "It is assumed that this service has already been disabled on" & vbCrLf & _             "all DCs in the domain."'' When running in cscript, pause to give an opportunity to break out' (These 3 lines are for cscript and ignored by wscript.)'wscript.stdout.writeline ""wscript.stdout.writeline "Press Enter to continue ..."wscript.stdin.readline'' Get an ADSI object'Set oProvider = GetObject("LDAP:")'' Purge the System/FileLinks/ObjectMoveTable'wscript.stdout.writeline "" ' ignored by wscriptwscript.echo "Purging ObjectMoveTable"Set oTarget = oProvider.OpenDSObject( "LDAP://" & sServer  & "cn=ObjectMoveTable,CN=FileLinks,CN=System," & sDomain ,_                                      vbNullString, vbNullString, _                                      1) ' ADS_SECURE_AUTHENTICATIONcall PurgeContainer( oTarget, "linkTrackOMTEntry" )oTarget = NULL'' Purge the System/FileLinks/VolumeTable'wscript.stdout.writeline "" ' ignored by wscriptwscript.echo "Purging VolumeTable"Set oTarget = oProvider.OpenDSObject("LDAP://" & sServer  & "cn=VolumeTable,CN=FileLinks,CN=System," & sDomain  ,_                                     vbNullString, vbNullString, _                                     1) ' ADS_SECURE_AUTHENTICATIONcall PurgeContainer( oTarget, "linkTrackVolEntry" )oTarget = NULLoProvider = NULL
<END Copy Here>
속성

문서 ID: 315229 - 마지막 검토: 05/05/2003 18:45:00 - 수정: 4.1

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows XP Professional
  • kbinfo kbtool kbenv KB315229
피드백