Windows-Firewall: WMI für Firewall

Problem
Man möchte mittels WMI auf einen PC zugreifen wir jedoch von der Firewall blockiert.
Die Firewall-Konfiguration stellt den WMI-Dienst nicht zur Verfügung um diesen freizugeben.

Lösung
Die einfachste Möglichkeit die Freigabe zu aktivieren stellt der netsh-Befehl zur Verfügung.
Einfach in der Shell des Remote-Computers folgenden Befehl ausführen:

netsh firewall set service RemoteAdmin enable


Quelle: poweradmin.com: Enable WMI (Windows Management Instrumentation)

Windows 7 - UAC - Net Use - Fehler 0x8007003

Problem :

Setup aus dem Netzwerk zu starten führt zu dem Fehler :

Das Installationsprogramm hat einen Fehler festgestellt: 0x8007003. Das System kann den angegeben Pfad nicht finden


Lösung :

Hier gibt es mehrere Lösungsansätze , einer davon wäre UAC komplett zu deaktivieren das bringt allerdings andere Risiken mit sich. Deswegen hab ich diesen Weg nicht gewählt. Ein Registry Key verändert dieses verhalten insoweit das alle Netzlaufwerke die verbunden wurden in den Benutzeraccount mit erhöhten Rechten durchgeschleift werden.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System


dort einen neuen Wert erstellen , insofern er noch nicht existiert

Name : "EnableLinkedConnections" Typ : REG_DWORD Wert : 1

0 Netzwerkverbindungen werden nicht durchgeschleift (VOREINSTELLUNG)
1 Netzwerkverbindungen werden durchgeschleift


Quelle : MICROSOFT KB937624

Windows 7/Vista: TCP Auto-Tuning abschalten

Problem
Windows 7/Vista-Clients haben das Problem, dass es gelegentlich zu Netzwerkabbrüchen bzw. Speicherproblemen im Netzwerk kommt.
Auf den Switchen wird ein CRC-Error oder Excessiv Broadcast gemeldet.

Lösung
Man kann versuchen, die TCP Auto-Tuning Einstellungen, die bei Windows 7 und Vista standardmäßig aktiv sind, zu deaktivieren.

Mit folgendem Befehl wird das Auto-Tuning deaktiviert:
netsh interface tcp set global autotuning=disabled


Mit folgendem Befehl wird das Auto-Tuning wieder mit dem Standardwert aktiviert:
netsh interface tcp set global autotuning=normal


Hinweis:
Man beachte, bei aktivierter UAC, dass man CMD als Administrator ausführt!!

Quelle: mydigitallife.info: Disable TCP Auto-Tuning to Solve Slow Network, Cannot Load Web Page or Download Email Problems in Vista

Outlook 2010: Skripte und Code in einem benutzerdefinierten Formular werden nicht ausgeführt

Problem:
Man hat ein benutzerdefiniertes Outlook-Formular erstellt und darin Skripte bzw. Code hinterlegt.
Wenn man das Formular testweise ausführt, klappt alles ohne Probleme.
Wenn man das Formular veröffentlicht und dann versucht das Skript per Button o.ä. auszuführen, passiert nichts!
Das Problem tritt nur bei Clients mit OUTLOOK 2010 auf.

Lösung:
Seit Outlook 2010 wird per default das Ausführen von Code in öffentlichen Ordnern verhindert.
Dies kann umgangen werden, in dem man folgende Änderung in der Registry durchführt:
HKCU\Software\Microsoft\Office\14.0\Outlook\Security

DWORD Entry: PublicFolderScript

Value: 1

Nach einem Outlook-Neustart funktioniert das Formular problemlos.

In der unten genannten Quelle findet man auch einen Lösungsweg per Policy mit ADM-Datei.

Quelle: faq-o-matic.net: Homepage für Öffentliche Ordner in Outlook 2010 anzeigen

Neues Tool zum umziehen von Druckern

Problem :

Der Name des Druckservers hat sich verändert und soll jetzt automatisch beim anmelden der user in den verbundenen Drucker korrigiert werden.
Getestet mit Win 2000 / XP / 7

Lösung :

Ich hab mich ran gesetzt und eine neue Version ohne speichern auf File System Ebene geschrieben.

Hier die möglichen Parameter :


-o:[Servername] or /o:[Servername] = old print server
-n:[Servername] or /n:[Servername] = new print server
-l:[Logfile] or /l:[Logfile] = create an Logfile (path:filename)
-? or /? = shows this help

replace [Servername] with the hostname / ip-adress without [ and ]


Beispielaufruf sieht dann so aus :

Move_Printer.exe -o:ALTSERVER -n:NEUSERVER -l:C:\Logfile.txt


Download Tool : Move_Printer.exe (freier Download)

Hier der download des Source Codes : Source Code (nur für registrierte Mitglieder)

VBS zum automatischen umziehen der lokalen Druckerverbindungen

Problem :

Der Name des Printservers hat sich geändert , jetzt kann man zu Fuß an alle Clients gehen und die Drucker umstellen oder man nimmt dieses Skript ins Loginskript auf und das erledigt einem diese Aufgabe ....

Skript :

Option Explicit

Dim ObjWsh 		: Set ObjWsh = CreateObject("WScript.Shell")
Dim ObjNet   	: Set ObjNet = CreateObject("WScript.Network")
Dim ObjFso   	: Set ObjFso = CreateObject("Scripting.FileSystemObject")
Dim objEnv   	: Set objEnv = ObjWsh.Environment("Process")
Dim Logfile  	: Logfile = objEnv("USERPROFILE") & "\PrtUmzug.txt"
Dim objNetPr,NPR,DUMMY,ToDo,Zeile,Inhalt,Entry,Printer_New,OLDSERVER,NEWSERVER

OLDSERVER = "SERVERALT"   ' ----------------------------> Hier den Namen des alten Printservers eintragen
NEWSERVER = "SERVERNEU"   ' ----------------------------> Hier den Namen des neuen Printservers eintragen

' ------------------ routine
WScript.Echo ""
WScript.Echo "-----------------------------------------------------"
If Not ObjFso.FileExists(Logfile) then
WScript.Echo "|-> Ihre Druckerverbindungen werden überprüft & korrigiert"
Inhalt = GetPrinterNames()
WriteLog Logfile,Inhalt
ReadLog Logfile
Else
WScript.Echo "|-> Druckerverbindungen wurden bereits überprüft"
End If
WScript.Echo "-----------------------------------------------------"
WScript.Quit (1)
' ------------------ funktionen
Function GetPrinterNames() 				'--- liest die verbundenen Netzwerkdrucker aus
  Set objNetPr = ObjNet.EnumPrinterConnections
  For NPR = 0 to objNetPr.Count - 1 Step 2
    If Left(objNetPr.Item(NPR + 1),2) = "\\" then
      If DUMMY = "" then
        DUMMY = "NPR|" & objNetPr.Item(NPR) & "|" & objNetPr.Item(NPR + 1)
      Else
        DUMMY = DUMMY & vbCrLf & "NPR|" & objNetPr.Item(NPR) & "|" & objNetPr.Item(NPR + 1)
      End If
    End If
  Next 
  GetPrinterNames = DUMMY
  DUMMY = ""
  Set objNetPr = nothing
End Function
Function SetPrinterNames(Line) 			'--- verbindet einen Netzwerkdrucker
	On Error Resume Next
	Entry = split(Line,"|")
	If UBound(Entry) = 2 Then
		Printer_New = Replace(lcase(Entry(2)),OLDSERVER,NEWSERVER)
		ObjNet.RemovePrinterConnection Entry(2)
		ObjNet.AddWindowsPrinterConnection Printer_New
	End If
End Function
Function ReadLog(File) 					'--- überprüft ob Logfile existiert wenn ja liet Datei aus und spielt gesicherte Einträge zurück
	If ObjFso.FileExists(File) Then
		Set Dummy = ObjFso.OpenTextFile(File)
			Do Until Dummy.AtEndOfStream
				Zeile = trim(Dummy.Readline)
				SetPrinterNames(Zeile)
			Loop
	End If
End Function
Function WriteLog(File,Content) 		'--- löscht die Datei wenn vorhanden und erstellt eine aktualisierte
  If ObjFso.FileExists(File) Then
    ObjFso.DeleteFile(File)
  End If
  Dim ObjLogFile : Set ObjLogFile = ObjFso.OpenTextFile(File,8,true)
  ObjLogFile.WriteLine (Content)
  Set ObjLogFile = Nothing
End Function
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)