Clean Temp Files

0

I'm sure there are some posts about this but I thought I'd share what I came up with.

 

 Package Export:

<?xml version="1.0" encoding="utf-8"?>
<AdminArsenal.Export Code="PDQDeploy" Name="PDQ Deploy" Version="10.2.0.0" MinimumVersion="3.1">
  <Package>
    <PackageDefinition name="Definition">
      <CopyMode>Default</CopyMode>
      <InventoryScanProfileId value="null" />
      <RunAs value="null" />
      <ScanAfterDeployment value="null" />
      <Steps type="list">
        <CommandStep>
          <Command>del /q /s %userprofile%\appdata\local\temp\*
for /d %%x in (%userprofile%\appdata\local\temp\*) do @rd /s /q "%%x"</Command>
          <Files></Files>
          <SuccessCodes>0,1,255</SuccessCodes>
          <RunAs>LoggedOnUser</RunAs>
          <Conditions type="list">
            <PackageStepCondition>
              <Architecture>Both</Architecture>
              <Version>All</Version>
              <TypeName>OperatingSystem</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
              <TypeName>LoggedOnUser</TypeName>
            </PackageStepCondition>
          </Conditions>
          <ErrorMode>StopDeploymentFail</ErrorMode>
          <IsEnabled value="true" />
          <Title>Clean User Appdata Temp Files-Folders</Title>
          <TypeName>Command</TypeName>
        </CommandStep>
        <CommandStep>
          <Command>del /q /s %systemroot%\temp\*
for /d %%x in (%systemroot%\temp\*) do @rd /s /q "%%x"</Command>
          <Files></Files>
          <SuccessCodes>0,1,255</SuccessCodes>
          <RunAs value="null" />
          <Conditions type="list">
            <PackageStepCondition>
              <Architecture>Both</Architecture>
              <Version>All</Version>
              <TypeName>OperatingSystem</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
              <TypeName>LoggedOnUser</TypeName>
            </PackageStepCondition>
          </Conditions>
          <ErrorMode>StopDeploymentFail</ErrorMode>
          <IsEnabled value="true" />
          <Title>Clean Windows Temp</Title>
          <TypeName>Command</TypeName>
        </CommandStep>
        <CommandStep>
          <Command>del /q /s %systemdrive%\temp\*
for /d %%x in (%systemdrive%\temp\*) do @rd /s /q "%%x"</Command>
          <Files></Files>
          <SuccessCodes>0,1,255</SuccessCodes>
          <RunAs value="null" />
          <Conditions type="list">
            <PackageStepCondition>
              <Architecture>Both</Architecture>
              <Version>All</Version>
              <TypeName>OperatingSystem</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
              <TypeName>LoggedOnUser</TypeName>
            </PackageStepCondition>
          </Conditions>
          <ErrorMode>StopDeploymentFail</ErrorMode>
          <IsEnabled value="true" />
          <Title>Clean C: Temp</Title>
          <TypeName>Command</TypeName>
        </CommandStep>
        <CommandStep>
          <Command>del /q /s %systemroot%\Logs\CBS\*
for /d %%x in (%systemroot%\Logs\CBS\*) do @rd /s /q "%%x"</Command>
          <Files></Files>
          <SuccessCodes>0,1,255</SuccessCodes>
          <RunAs value="null" />
          <Conditions type="list">
            <PackageStepCondition>
              <Architecture>Both</Architecture>
              <Version>All</Version>
              <TypeName>OperatingSystem</TypeName>
            </PackageStepCondition>
            <PackageStepCondition>
              <IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
              <TypeName>LoggedOnUser</TypeName>
            </PackageStepCondition>
          </Conditions>
          <ErrorMode>StopDeploymentFail</ErrorMode>
          <IsEnabled value="true" />
          <Title>Clean Windows CBS Logs</Title>
          <TypeName>Command</TypeName>
        </CommandStep>
      </Steps>
      <Timeout value="60" />
      <UseCustomTimeout value="false" />
    </PackageDefinition>
    <Description></Description>
    <FolderId value="1" />
    <Name>Clean Temp Files</Name>
    <Path>Packages\Clean Temp Files</Path>
    <Version></Version>
    <PackageDisplaySettings name="DisplaySettings">
      <DisplayType>Normal</DisplayType>
      <IconKey></IconKey>
      <SortOrder value="166" />
    </PackageDisplaySettings>
  </Package>
</AdminArsenal.Export>

Cancel
login to comment
0

Very cool!  Deployed to a few test systems and it seems to work well with Windows 7.  I'm going to try this on Win10 here after a bit.

 

Thanks!!!

Cancel
login to comment

0

Check this out:

 

https://github.com/bmrf/tron/blob/master/resources/stage_1_tempclean/tempfilecleanup/TempFileCleanup.bat

Cancel
login to comment

0

Yes, thanks!.  Slow morning.....not enough coffee yet.  :)

Cancel
login to comment

0

Copy all of the text from above and save it as <something relevant>.xml

 

Then Go into PDQ Deploy and File > Import. Browse to your XML file and it will import it as a package for you to use. 

Cancel
login to comment

0

If I may, being new with this how would I package this to be used with PDQ Deploy?

 

UPDATE:

Disregard.  I wasn't thinking.  I saved it as an xml file and then imported it.  Thanks! 

Cancel
login to comment

0

Very cool guys!! I was looking for something like this since we seem to have a lot of PC's with 50 to 60 gigs of Temporary Files. This worked great!! Thanks for the post fellas.

Cancel
login to comment

0

Found out how. Resubmitting back. Thanks!

 

<?xml version="1.0" encoding="utf-8"?>
<AdminArsenal.Export Code="PDQDeploy" Name="PDQ Deploy" Version="11.2.0.0" MinimumVersion="3.1">
<Package>
<PackageDefinition name="Definition">
<CopyMode>Default</CopyMode>
<InventoryScanProfileId value="null" />
<RunAs value="null" />
<ScanAfterDeployment value="null" />
<Steps type="list">
<CommandStep>
<Command>cd /D C:\users
for /D %%a in (*.*) do DEL /F /S /Q "%%a\Local Settings\Temp\*.*"
for /D %%a in (*.*) do FOR /D %%b IN ("%%a\Local Settings\Temp\*.*") DO RMDIR /S /Q "%%b"
for /D %%a in (*.*) do DEL /F /S /Q "%%a\Local Settings\Temporary Internet Files\*.*"
for /D %%a in (*.*) do FOR /D %%b IN ("%%a\Local Settings\Temporary Internet Files\*.*") DO RMDIR /S /Q "%%b"</Command>
<Files></Files>
<SuccessCodes>0,1,255</SuccessCodes>
<RunAs value="null" />
<Conditions type="list">
<PackageStepCondition>
<Architecture>Both</Architecture>
<Version>All</Version>
<TypeName>OperatingSystem</TypeName>
</PackageStepCondition>
<PackageStepCondition>
<IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
<TypeName>LoggedOnUser</TypeName>
</PackageStepCondition>
</Conditions>
<ErrorMode>StopDeploymentFail</ErrorMode>
<IsEnabled value="true" />
<Title>Clean User Appdata Temp Files-Folders</Title>
<TypeName>Command</TypeName>
</CommandStep>
<CommandStep>
<Command>del /q /s %systemroot%\temp\*
for /d %%x in (%systemroot%\temp\*) do @rd /s /q "%%x"</Command>
<Files></Files>
<SuccessCodes>0,1,255</SuccessCodes>
<RunAs value="null" />
<Conditions type="list">
<PackageStepCondition>
<Architecture>Both</Architecture>
<Version>All</Version>
<TypeName>OperatingSystem</TypeName>
</PackageStepCondition>
<PackageStepCondition>
<IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
<TypeName>LoggedOnUser</TypeName>
</PackageStepCondition>
</Conditions>
<ErrorMode>StopDeploymentFail</ErrorMode>
<IsEnabled value="true" />
<Title>Clean Windows Temp</Title>
<TypeName>Command</TypeName>
</CommandStep>
<CommandStep>
<Command>del /q /s %systemdrive%\temp\*
for /d %%x in (%systemdrive%\temp\*) do @rd /s /q "%%x"</Command>
<Files></Files>
<SuccessCodes>0,1,255</SuccessCodes>
<RunAs value="null" />
<Conditions type="list">
<PackageStepCondition>
<Architecture>Both</Architecture>
<Version>All</Version>
<TypeName>OperatingSystem</TypeName>
</PackageStepCondition>
<PackageStepCondition>
<IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
<TypeName>LoggedOnUser</TypeName>
</PackageStepCondition>
</Conditions>
<ErrorMode>StopDeploymentFail</ErrorMode>
<IsEnabled value="true" />
<Title>Clean C: Temp</Title>
<TypeName>Command</TypeName>
</CommandStep>
<CommandStep>
<Command>del /q /s %systemroot%\Logs\CBS\*
for /d %%x in (%systemroot%\Logs\CBS\*) do @rd /s /q "%%x"</Command>
<Files></Files>
<SuccessCodes>0,1,255</SuccessCodes>
<RunAs value="null" />
<Conditions type="list">
<PackageStepCondition>
<Architecture>Both</Architecture>
<Version>All</Version>
<TypeName>OperatingSystem</TypeName>
</PackageStepCondition>
<PackageStepCondition>
<IsUserLoggedOn>AlwaysRun</IsUserLoggedOn>
<TypeName>LoggedOnUser</TypeName>
</PackageStepCondition>
</Conditions>
<ErrorMode>StopDeploymentFail</ErrorMode>
<IsEnabled value="true" />
<Title>Clean Windows CBS Logs</Title>
<TypeName>Command</TypeName>
</CommandStep>
</Steps>
<Timeout value="60" />
<UseCustomTimeout value="false" />
</PackageDefinition>
<Description>credit to:
https://support.adminarsenal.com/hc/en-us/community/posts/213917368-Clean-Temp-Files
https://community.spiceworks.com/scripts/show/3123-remotely-delete-temp-internet-files-temp-files-from-all-local-profiles-windows-2008-win7</Description>
<FolderId value="null" />
<Name>Clean Temp Files</Name>
<Path>Clean Temp Files</Path>
<Version></Version>
<PackageDisplaySettings name="DisplaySettings">
<DisplayType>Normal</DisplayType>
<IconKey></IconKey>
<SortOrder value="8" />
</PackageDisplaySettings>
</Package>
</AdminArsenal.Export>

Cancel
login to comment

0

Very cool idea. I was looking for something like this. Any way for it to loop through all user profiles on the drive instead of just the currently logged in user?

Cancel
login to comment

Reply