banner



How To Clean %tempdir% Server 2008 R2

26 Replies

  • Information technology's condom to delete them

    A lot of system updates and installs leave these behind

    Was this mail helpful? thumb_up thumb_down

  • This files are temporary files created past different Windows operations, similar installing updates. You tin safely delete them. But don't forget to make a system backup before.

    You tin detect more data here:http://answers.microsoft.com/en-united states/windows/forum/windows_7-files/cabxxxx-files-establish-in-windowstemp-...

    Was this postal service helpful? thumb_up thumb_down

  • The only time deleting them tin can become a problem is if you ever take to uninstall one of those updates. Some cab files are necessary to keep.

    Was this post helpful? thumb_up thumb_down

  • Cheers guys I volition delete them.

    Was this post helpful? thumb_up thumb_down

  • But throwing this out for search engine purposes. If you read the article linked by Michael, this is a symptom of a larger trouble and not only a byproduct of installing applications. We have systems with 90+GB of these files being generated by a declining windows service that cannot process log files. Deleting the files is a great bandage simply is far from the solution to the root crusade.

    three plant this helpful thumb_up thumb_down

  • Cheers for mentioning that Chad. I had the same effect: c:\windows\logs\cbs had an onetime large log file that couldn't get zipped, on a 2008r2 server. +1.

    1 found this helpful thumb_up thumb_down

  • I wrote a powershell script that fixes this event on a remote computer.  Email techaz@gmail.com and I'd be more than happy to share the script.  It does the post-obit:

    · Stops the update service on the machine

    · Removes the temp files from c:\windows\temp

    · Renames the softwaredistribution folder

    · Restarts the update service on the machine

    · Removes the one-time softwaredistribution folder

    · Stops the trustedinstaller service on the machine

    · Removes the cab files from c:\windows\logs\CBS

    · Restarts the trustedinstaller service

    · Reconnects with WSUS and rebuilds cab files


    Was this mail helpful? thumb_up thumb_down

  • Strangeronfire wrote:

    I wrote a powershell script that fixes this issue on a remote reckoner.  Email techaz@gmail.com and I'd exist more than than happy to share the script.  It does the post-obit:

    ·        Stops the update service on the auto

    ·        Removes the temp files from c:\windows\temp

    ·        Renames the softwaredistribution folder

    ·        Restarts the update service on the car

    ·        Removes the one-time softwaredistribution folder

    ·        Stops the trustedinstaller service on the automobile

    ·        Removes the cab files from c:\windows\logs\CBS

    ·        Restarts the trustedinstaller service

    ·        Reconnects with WSUS and rebuilds cab files


    Would yous mind sharing this script on the SpiceWorks script section?

    Was this post helpful? thumb_up thumb_down

  • #variables

    $Motorcar = read-host "Type in the Calculator Name"
    $service1 = 'wuauserv'
    $service2 = 'trustedinstaller'

    #stops update service

    [string]$WaitForIt = ""
    [string]$Verb = ""
    [string]$Effect = "FAILED"
    $svc = (get-service -computername $Machine -proper noun $service1)
    Write-host "$service1 on $machine is $($svc.status)"
    Switch ($svc.status) {
        'Stopped' {
            Write-host "Starting $service1..."
            $Verb = "start"
            $WaitForIt = 'Running'
            $svc.Offset()}
        'Running' {
            Write-host "Stopping $service1..."
            $Verb = "stop"
            $WaitForIt = 'Stopped'
            $svc.End()}
        Default {
            Write-host "$service1 is $($svc.condition). Taking no activeness."}
    }
    if ($WaitForIt -ne "") {
        Try { # For some reason, we cannot use -ErrorAction afterward the adjacent statement:
            $svc.WaitForStatus($WaitForIt,'00:02:00')
        } Catch {
            Write-host "After waiting for 2 minutes, $service1 failed to $Verb."
        }
        $svc = (get-service -computername $Motorcar -name $service1)
        if ($svc.status -eq $WaitForIt) {$Effect = 'SUCCESS'}
        Write-host "$Event`: $service1 on $Machine is $($svc.status)"
    }

    #removes temp files and renames software distribution folder

    Remove-Item \\$Machine\c$\windows\temp\* -recurse
    Rename-Particular \\$Motorcar\c$\windows\SoftwareDistribution SoftwareDistribution.sometime

    #restarts update service

    [cord]$WaitForIt = ""
    [string]$Verb = ""
    [string]$Result = "FAILED"
    $svc = (get-service -computername $Machine -name $service1)
    Write-host "$service1 on $auto is $($svc.status)"
    Switch ($svc.condition) {
        'Stopped' {
            Write-host "Starting $service1..."
            $Verb = "start"
            $WaitForIt = 'Running'
            $svc.Outset()}
        'Running' {
            Write-host "Stopping $service1..."
            $Verb = "stop"
            $WaitForIt = 'Stopped'
            $svc.Stop()}
        Default {
            Write-host "$service1 is $($svc.condition). Taking no activity."}
    }
    if ($WaitForIt -ne "") {
        Try { # For some reason, nosotros cannot use -ErrorAction later on the next statement:
            $svc.WaitForStatus($WaitForIt,'00:02:00')
        } Grab {
            Write-host "After waiting for 2 minutes, $service1 failed to $Verb."
        }
        $svc = (get-service -computername $Machine -name $service1)
        if ($svc.status -eq $WaitForIt) {$Issue = 'SUCCESS'}
        Write-host "$Result`: $service1 on $Machine is $($svc.status)"
    }

    #removes software distribution.onetime

    Remove-Item \\$Machine\c$\windows\SoftwareDistribution.old -recurse

    #stops trustedinstaller service

    [string]$WaitForIt = ""
    [string]$Verb = ""
    [string]$Upshot = "FAILED"
    $svc = (get-service -computername $Machine -name $service2)
    Write-host "$service2 on $machine is $($svc.status)"
    Switch ($svc.status) {
        'Stopped' {
            Write-host "Starting $service2..."
            $Verb = "start"
            $WaitForIt = 'Running'
            $svc.Get-go()}
        'Running' {
            Write-host "Stopping $service2..."
            $Verb = "end"
            $WaitForIt = 'Stopped'
            $svc.Terminate()}
        Default {
            Write-host "$service2 is $($svc.condition). Taking no action."}
    }
    if ($WaitForIt -ne "") {
        Endeavour { # For some reason, we cannot employ -ErrorAction after the adjacent statement:
            $svc.WaitForStatus($WaitForIt,'00:02:00')
        } Grab {
            Write-host "After waiting for 2 minutes, $service2 failed to $Verb."
        }
        $svc = (get-service -computername $Automobile -proper name $service2)
        if ($svc.status -eq $WaitForIt) {$Result = 'SUCCESS'}
        Write-host "$Effect`: $service2 on $Machine is $($svc.status)"
    }

    #removes cab files from trustedinstaller

    remove-item \\$Automobile\c$\windows\Logs\CBS\* -recurse

    #restarts trustedinstaller service

    [cord]$WaitForIt = ""
    [string]$Verb = ""
    [string]$Result = "FAILED"
    $svc = (get-service -computername $Car -proper noun $service2)
    Write-host "$service2 on $motorcar is $($svc.condition)"
    Switch ($svc.status) {
        'Stopped' {
            Write-host "Starting $service2..."
            $Verb = "beginning"
            $WaitForIt = 'Running'
            $svc.Start()}
        'Running' {
            Write-host "Stopping $service2..."
            $Verb = "stop"
            $WaitForIt = 'Stopped'
            $svc.Terminate()}
        Default {
            Write-host "$service2 is $($svc.status). Taking no activity."}
    }
    if ($WaitForIt -ne "") {
        Try { # For some reason, we cannot use -ErrorAction after the side by side statement:
            $svc.WaitForStatus($WaitForIt,'00:02:00')
        } Catch {
            Write-host "Afterward waiting for 2 minutes, $service2 failed to $Verb."
        }
        $svc = (get-service -computername $Car -name $service2)
        if ($svc.status -eq $WaitForIt) {$Result = 'SUCCESS'}
        Write-host "$Result`: $service2 on $Machine is $($svc.status)"
    }

    #rebuilds cab files from WSUS

    invoke-command -ComputerName $Machine -ScriptBlock { & cmd.exe "c:\windows\system32\wuauclt.exe /detectnow" }

    Was this post helpful? thumb_up thumb_down

  • I have windows seven PC, onto which around 370 GB is utilized by cab log files Out of 450 GB, I see the arrangement does non have SCCM in information technology.I accept windows seven 64 scrap.

    However once a cab file is deleted it re-occurs in  few minutes

    Tin can any one help?

    Regards,

    Rohit

    Was this post helpful? thumb_up thumb_down

  • @Daniel, you can employ functions to simplify your code.

    Powershell

                                                    $Motorcar                        =                        read-host                        "Type in the Computer Proper name"                        $windowsUpdateService                        =                        'wuauserv'                        $trustedInstallerService                        =                        'trustedinstaller'                        function                        Set-ServiceState                        {                        [                        CmdletBinding                        ()]                        param                        (                        [string]                        $ComputerName                        ,                        [cord]                        $ServiceName                        )                        Write-Verbose                        "Evaluating $ServiceName on $ComputerName."                        [string]                        $WaitForIt                        =                        ""                        [string]                        $Verb                        =                        ""                        [cord]                        $Result                        =                        "FAILED"                        $svc                        =                        Go-Service                        -computername                        $ComputerName                        -name                        $ServiceName                        )                        Switch                        (                        $svc                        .                        status                        )                        {                        'Stopped'                        {                        Write-Verbose                        "[$ServiceName] is currently Stopped. Starting."                        $Verb                        =                        "outset"                        $WaitForIt                        =                        'Running'                        $svc                        .                        Start                        ()                        }                        'Running'                        {                        Write-Verbose                        "[$ServiceName] is Running. Stopping."                        $Verb                        =                        "finish"                        $WaitForIt                        =                        'Stopped'                        $svc                        .                        Stop                        ()                        }                        default                        {                        Write-Verbose                        "$ServiceName is                                                $(                        $svc                        .                        status                        )                        . Taking no activeness."                        }                        }                        if                        (                        $WaitForIt                        -ne                        ""                        )                        {                        Try                        {                        # For some reason, we cannot use -ErrorAction later the adjacent statement:                        $svc                        .                        WaitForStatus                        (                        $WaitForIt                        ,                        '00:02:00'                        )                        }                        Catch                        {                        Write-Warning                        "After waiting for 2 minutes, $ServiceName failed to $Verb."                        }                        $svc                        =                        (                        become-service                        -computername                        $ComputerName                        -name                        $ServiceName                        )                        if                        (                        $svc                        .                        status                        -eq                        $WaitForIt                        )                        {                        $Event                        =                        'SUCCESS'                        }                        Write-Verbose                        "$Result - $ServiceName on $ComputerName is                                                $(                        $svc                        .                        status                        )                        "                        Write-Verbose                        (                        "{0} - {ane} on {2} is {iv}"                        -f                        $Result                        ,                        $ServiceName                        ,                        $ComputerName                        ,                        $svc                        .                        status                        )                        }                        }                        # stop update service                        Set-ServiceState                        -ComputerName                        $Car                        -ServiceName                        $windowsUpdateService                        -Verbose                        #removes temp files and renames software distribution folder                        Remove-Item                        \\                        $Machine                        \                        c                        $\                        windows                        \                        temp                        \*                        -recurse                        Rename-Item                        \\                        $Machine                        \                        c                        $\                        windows                        \                        SoftwareDistribution                        SoftwareDistribution                        .                        old                        #restarts update service                        Set up-ServiceState                        -ComputerName                        $Motorcar                        -ServiceName                        $windowsUpdateService                        #removes software distribution.sometime                        Remove-Item                        \\                        $Machine                        \                        c                        $\                        windows                        \                        SoftwareDistribution                        .                        old                        -recurse                        #stops trustedinstaller service                        Prepare-ServiceState                        -ComputerName                        $Machine                        -ServiceName                        $trustedInstallerService                        #removes cab files from trustedinstaller                        remove-item                        \\                        $Machine                        \                        c                        $\                        windows                        \                        Logs                        \                        CBS                        \*                        -recurse                        #restarts trustedinstaller service                        Set-ServiceState                        -ComputerName                        $Automobile                        -ServiceName                        $trustedInstallerService                        #rebuilds cab files from WSUS                        invoke-command                        -ComputerName                        $Automobile                        -ScriptBlock                        {                        &                        cmd                        .                        exe                        "c:\windows\system32\wuauclt.exe /detectnow"                        }                      

    much less code duplication though I have not tested it :)

    i constitute this helpful thumb_up thumb_down

  • Exercise we know why this fifty-fifty happens? It's randomly happening on machines effectually the function (350+ users) and is an like shooting fish in a barrel fix now, but how to resolve the existent problem going forward?

    Was this postal service helpful? thumb_up thumb_down

  • Also have the problem here - random machines too, non all of them - mayhap 25% ?

    125GB of CAB files in the temp directory.


    Was this mail helpful? thumb_up thumb_down

  • Has anyone tested that script that M Boyle provided?  It looks good but I am no Powershell Pro :-)

    Was this post helpful? thumb_up thumb_down

  • same here.  VM that just stopped responding because deejay was full.  Turned out to be 140GB of cabs.

    We don't use WSUS, but I wonder if its supposed to clear them out automatically?

    Perhaps I should set a weekly task to run and empty the TEMP binder.

    Was this mail service helpful? thumb_up thumb_down

  • I follow this directions and fix my issue:

    I wrote a powershell script that fixes this upshot on a remote computer. Email techaz@gmail.comand I'd be more than than happy to share the script. It does the post-obit:

    ·       Stops the update service on the machine

    ·       Removes the temp files from c:\windows\temp

    ·       Renames the softwaredistribution folder

    ·       Restarts the update service on the machine

    ·       Removes the old softwaredistribution binder

    ·       Stops the trustedinstaller service on the machine

    ·       Removes the cab files from c:\windows\logs\CBS

    ·       Restarts the trustedinstaller service

    ·       Reconnects with WSUS and rebuilds cab files

    If y'all want the script is a few post in a higher place.

    Was this postal service helpful? thumb_up thumb_down

  • appreciate the offer, but we don't use WSUS.

    Yet, I did get here and follow directions to create a scheduled daily task to empty the folder.

    https://social.technet.microsoft.com/wiki/contents/manufactures/36429.schedule-task-to-empty-windows-tem....

    And ran this command to set the execution policy for powershell.

    Gear up-ExecutionPolicy RemoteSigned

    Works perfectly.

    Was this post helpful? thumb_up thumb_down

  • Ups sorry forgot to tell you we dont utilise WSUS either only we follow the steps until the step " Reconnects with WSUS and rebuilds cab files" and that stop the cab's file creation.

    simply my ii cents

    Was this mail helpful? thumb_up thumb_down

  • Have had this cause big problems west a retail customer whose QB POS crashed due to a few hundred GB of these cabs. Also cropped up on a few other machines. A few of these just sit there doing nothing for the most part and drives are condign full. My feeling is something changed in the last 6mos to 1year that is causing this. Can only imagine a Win update as similar I said a few of these are more than or less static (used primarily for RDC to admission networked devices programming GUIs).

    In whatever event if anyone gets info on the root crusade and solution please post here. Thanks

    Clifford

    Was this post helpful? thumb_up thumb_down

  • The script provided in this thread doesn't require WSUS to be used. It only performs a "check for updates" in Windows Update, which will recreate the SoftwareDistribution folder. If WSUS is in employ it'll cheque the WSUS server. If WU is in use it'll check the normal Windows Update.

    That said, the core effect behind the infinite cab problem is ofttimes the CBS logs, which accept exceeded the storage limits of the MakeCab program. MakeCab suffers from a 2gb file limitation, and then once any single file in the c:\windows\logs\CBS folder grows beyond 2gb it chokes and fails, consuming memory until the process is killed every hour by the task scheduler when it attempts to do it again. If the machine is left on 24/seven information technology'll continue to eat a huge chunk of infinite every hour with new, cleaved cabs until it eats up all the disk space and has to exist manually attended to. The fix is to purge the CBS binder and then that this will stop. This step is already in the script provided higher up, so information technology should be a fine solution. Y'all could also manually remove just the contents of the CBS folder and the cabs themselves, which volition have the aforementioned event:

    del c:\windows\logs\cbs\cbs*
    del c:\windows\temp\cab*

    I know, information technology's not glamorous like the powershell script above, merely information technology works.

    6 found this helpful thumb_up thumb_down

  • This worked for me on a Server 2008 R2 box - cleared up 110GB on a 130GB C:\ drive. 2 unproblematic commands as shawnkhall stated

    del c:\windows\logs\cbs\cbs*
    del c:\windows\temp\cab*

    2 found this helpful thumb_up thumb_down

  • shawnkhall solutions appear to be the most elegant / streamlined for addressing this problem that I accept seen....a problem which I take been dealing with on many different clients' Windows 7 computers now for over one twelvemonth, so thanks for that.  My question is, exercise shawnkhall's solutions *continue* this problem from happening in the futurity, or not?  I enquire considering I've read some things virtually this (amazing that it even exists) problem that only deleting the files only frees up the hard drive space for the problem to start filling up the hard drive (slowly but surely) again.

    Some other actually surprising thing about this twelvemonth long + trouble is that *none* of my other local It colleagues accept seen this trouble at all on their clients Windows vii computers.  Every bit much as I accept seen this trouble on my clients' computers, I simply tin not understand why none of my local IT colleagues haven't seen it!  That makes me start to think this problem is acquired by (or exacerbated past) software I typically apply (like Webroot antivirus, etc. etc.), and or configurations that I apply, that my Information technology colleagues don't.  If I am right about that, I wonder what the common denominator is for all of us across the Internet that have seen this problem?

    Thanks!

    Was this post helpful? thumb_up thumb_down

  • Hi, +bripchris. Yes and no. Removing the source CBS logs (the ones responsible for exceeding the 2gb limit) will resolve the electric current CBS log upshot and preclude it from happening again on the electric current machine...until there'south another hiccup with the Windows Update service that causes a log to be generated that would otherwise exceed the 2gb makecab limitation.

    It's a existent fix for the current case of the current issue, but information technology's only as permanent as whatever other problems the machine has that will recreate logs that exceed the makecab limit.

    Regularly reviewing the WU logs for potential bug (likely a result of intermittent connectivity bug that forcefulness fractional downloads of updates and attempts to re-download) will minimize the risk of recurrence.

    1 found this helpful thumb_up thumb_down

  • Yous Stone!!!

    Was this mail helpful? thumb_up thumb_down

  • I've disable windows update service and all alarm popups. Since the win7 refused to go its update repaired. I've called to non utilise it and hide the warnings. Not a fix simply quick remedy!

    Was this post helpful? thumb_up thumb_down

  • shawnkhall wrote:

    The script provided in this thread doesn't require WSUS to be used. It simply performs a "cheque for updates" in Windows Update, which will recreate the SoftwareDistribution binder. If WSUS is in use information technology'll check the WSUS server. If WU is in utilise it'll check the normal Windows Update.

    That said, the cadre issue behind the space cab problem is often the CBS logs, which have exceeded the storage limits of the MakeCab program. MakeCab suffers from a 2gb file limitation, so once any single file in the c:\windows\logs\CBS folder grows beyond 2gb it chokes and fails, consuming retentivity until the process is killed every hour by the task scheduler when it attempts to exercise information technology again. If the machine is left on 24/seven information technology'll continue to consume a huge chunk of space every hour with new, cleaved cabs until information technology eats up all the disk space and has to be manually attended to. The fix is to purge the CBS folder so that this will stop. This step is already in the script provided higher up, so information technology should be a fine solution. You could besides manually remove but the contents of the CBS folder and the cabs themselves, which will take the same event:

    del c:\windows\logs\cbs\cbs*
    del c:\windows\temp\cab*

    I know, it'due south not glamorous similar the powershell script above, but it works.

    This worked for me. It was a CBS log over xx gb in size and hundreds of gbs of cabs in the temp folder. Those two lines wiped it all. Thanks Shawn!

    Was this post helpful? thumb_up thumb_down

Read these side by side...

  • Spiceworks virtual community

    Spiceworks virtual community

    Holidays

    Today I get to announce the new Spiceworks virtual customs, coming to our customs soon.  Here's the gist of information technology all: you become to go down a hallway, much like in that sometime Doom game.  The hallway volition be lined with doors, each corresponding to the communi...

  • Snap! Win 11 Growth, Zyxel Flaws, Apple Zero-Days, Hubble's Latest, Fish Math

    Snap! Win 11 Growth, Zyxel Flaws, Apple Zero-Days, Hubble's Latest, Fish Math

    Spiceworks Originals

    Your daily dose of tech news, in brief. Yous need to hear this. Windows 11 growth at a standstill among stringent hardware requirements By now if you haven't upgraded to Windows eleven, it'southward probable you may exist waiting awhile. Adoption of the new O...

  • Introducing the one, the only.... Spicy Sock Puppet!

    Introducing the one, the only.... Spicy Sock Boob!

    Holidays

    What is a Spicy Sock Puppet?Originally, a Spicy Sock Puppet was used as an undercover identity during online fraudulent activities. You could pretend to exist a fictitious character and no i would ever know. Now, to make...

  • Spark! Pro Series - 1st April 2022

    Spark! Pro Series - 1st April 2022

    Spiceworks Originals

    Today in History: 01 April1957 - BBC announces the commencement successful Swiss Spaghetti harvest, prompting a flood of requests for spaghetti plants. Wi nøt trei a høliday in Sweden this yër ?1965 - Michael O'Mahony announces the launch of Smell-O-Vision o...

  • Spark! Pro series – 1st April 2022

    Spark! Pro series – 1st April 2022

    Spiceworks Originals

    Happy Friday!  Hope you enjoy today'southward Spark!  Quite a lot of interesting stuff today! Just a reminder, if you are reading the Spark, Spice it upwards. We like it spicy hither! Today in History: 2006 – The Pri...

Source: https://community.spiceworks.com/topic/495234-windows-temp-file-is-full-of-cab_xxxx-files-on-windows-server-2008-r2

Posted by: camachoofeautioull1979.blogspot.com

0 Response to "How To Clean %tempdir% Server 2008 R2"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel