Dienstag, 16. November 2010

Enable / Disable Client Side Caching (Offline Files)

On Windows System, the function "Client Side Caching" can be used. This funktion caches a definded file and folder structure to the local harddisk. This aims to support laptop users when they are not connected to their (corporate) LAN. Because the whole topic is quite difficult, there would no deeper explaination at this point. I assume, you know what you're doing. Here is just a list of used RegKeys:

Key:
HKLM\Software\Microsoft\Windows\ CurrentVersion\NetCache

Value:
Enabled

String Value:
1 = Active
0 = Disabled

P.S.This setting can also be controlled using a GPO. In this case,the GPO overrides this RegKey.

Clear Pagefile at Shutdown

Unter Windows existiert die Funktion "ClearPageFileAtShutdown". Es ist ein weit verbreiteter Irrglaube, dass hierdurch das Pagefile beim herunterfahren des Systems gelöscht würde. Ein genaues Lesen des entsprechenden Originalartikels in der MS KB (auf englisch !), fördert dann zutage, dass die Verwendung des Begriffes "Clear" nicht löschen, im Sinne eines physikalischen entfernens der Datei, bezeichnet, sondern statt dessen ein Überschreiben der gesamten Datei mit Nullen. Je mehr Hauptspeicher sich in dem betroffenen System befindet, desto größer die Auslagerungsdatei und umso länger benötigt das System, bis die gesamte Datei einmal komplett überschrieben wurde. Die mag in Zeiten von 256 MB RAM noch erträglich gewesen sein, aber da mittlerweile mehrere GB RAM Standard sind, ergibt das eine spürbare Verlängerung der Shutdownzeit. Daher sollte die betreffende Funktion möglichst NICHT verwendet werden.

Key:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Value:
ClearPageFileAtShutdown

Wert:
1 = An
0 = Aus

Freitag, 5. November 2010

Remove Network Printers

The following script has been written to disconnect all mapped Network Printers on a client computer. There are two examples. One using WMI and the other is using WSH Methods. Both are working. It's just a question of personal preference which one is chosen.

WSH Method
'Remove all Network printers but not local printers
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set Printers = WshNetwork.EnumPrinterConnections
For i = 0 to Printers.Count - 1 Step 2
    If Left(ucase(Printers.Item(i+1)),2) = "\\" Then
        WScript.Echo Printers.Item(i+1)
        WSHNetwork.RemovePrinterConnection Printers.Item(i+1)
    End IF
Next

WMI Method
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Network = TRUE")
For Each objPrinter in colInstalledPrinters
    'objPrinter.Delete_
 Wscript.Echo objPrinter.Name
Next