Archiv der Kategorie: ICT

Lange Boot-Zeit bei Windows 7

In unserem Netzwerk haben einzelne Computer begonnen, sehr lange zum Aufstarten zu benötigen. Da kommt dann einfach während Minuten der Bildschirm mit “Bitte warten…”.

image

Komisch ist, dass auch vom gleichen Gerätetyp nur einzelne Computer betroffen sind und gemäss Aussagen von den Benutzern tritt es auch nicht jedes Mal auf.

Man kann über eine Gruppenrichtlinie die Meldungen beim Start von Windows 7 anzeigen lassen, aber das hat mich auch nicht weitergeführt.

image

Also habe ich die Logfiles von betroffenen Computern durchgesehen und bin auf folgende Einträge gestossen:

Event-ID: 6005
Quelle Winlogon
Der Anmeldebenachrichtigungsabonnent <GPClient> benötigt einige Zeit, um dieses Benachrichtigungsereignis (CreateSession) zu bearbeiten.

image

Event-ID: 6006 
Quelle Winlogon
Der Anmeldebenachrichtigungsabonnent <GPClient> hat xxx Sekunden benötigt, um dieses Benachrichtigungsereignis (CreateSession) zu bearbeiten. 
Wobei xxx für die Anzahl Sekunden steht und von wenigen bis zu fast 10 Minuten dauern kann. 

image

Da findet man dann viele Hinweise, um was es sich handeln könnte, z.B. eine fehlerhafte DNS Implementierung. Habe dann das Netzwerk überprüft, aber nichts gefunden. Ein anderer Event hat mich dann weiter auf die richtige Spur gebracht.

Event-ID: 10
Quelle WMI
Ereignisfilter mit Abfrage "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" konnte im Namespace "//./root/CIMV2" nicht reaktiviert werden aufgrund des Fehlers 0x80041003. Ereignisse können nicht durch diesen Filter geschickt werden, bis dieses Problem gelöst ist.

image

Scheinbar passiert das, wenn eine WMI Abfrage nicht genügend Rechte besitzt.

Auszug aus Technet.

0x80041003 (WBEM_E_ACCESS_DENIED)
This typically results when the process trying to access the namespace does not have the required WMI privileges. The account attempting remote access should be an administrator on the target computer; in addition, the account might need to have a specific privilege enabled.
To troubleshoot this error, check the namespace security on the remote namespace to see the privileges enabled for the account.

Dann habe ich in einem Forum einen Hinweis gefunden, mit dem ich das Problem lösen konnte:

Boot into safe mode. First, open services and stop the Windows Management Instrumentation Service. Take ownership of the folder or the contents of the folder "C:\Windows\System32\wbem\Repository." Delete the contents of the folder. Reboot.

Beim Microsoft Support findet man sogar ein FixIt Knopf, um das Problem zu beheben. Dies hat aber bei einem Test bei mir nicht funktioniert. Ausserdem gibt es da noch ein VB Skript, das ich aber nicht getestet habe.

Hingegen hat es funktioniert, wenn man folgende Befehle an einer mit Administratorenrechten gestarteten Eingabeaufforderung eintippt.

Net Stop WinMgmt /y
rd %WinDir%\System32\Wbem\Repository /s /q
Net Start WinMgmt /y

Der Vorteil davon ist, dass sich das skripten und auf die betroffenen Geräte verteilen lässt.

Das Problem lässt sich also so beheben, aber ich weiss immer noch nicht, woher es kommt und daher auch nicht, ob es wieder kommen wird. Dies hinterlässt ein ungutes Gefühl.

Um dem unguten Gefühl wenigstens ein wenig entgegenzuwirken, habe ich bei betroffenen Geräten vollständige Virenscans mit mehr als einem Virenscanner durchgeführt, die aber auch nichts gefunden haben…

Nachtrag

Es scheint besser zu sein, das Repository nicht ganz zu löschen, sondern nur ein WinMgmt /resetrepository durchzuführen. Weil man manchmal noch weitere Dienste stoppen oder sogar einen Task abwürgen muss, habe ich ein Skript geschrieben (dieses muss durch einen Rechtsklick –> Als Administrator ausführen gestartet werden).

net stop ccmexec /y
TASKKILL /F /IM CcmExec.exe
net stop wscsvc /y
net stop iphlpsvc /y
Net Stop WinMgmt /y
net start winmgmt /y
winmgmt /resetrepository

Eigentlich wird nur die letzte Zeile benötigt, aber ich habe festgestellt, dass es dann oft nicht funktioniert. Wenn man aber WinMgmt stoppt und erneut startet, funktioniert es. WinMgmt lässt sich aber nicht immer einfach stoppen, da es Dienste gibt, die von ihm abhängen und auch gestoppt werden müssen. Diese waren bei mir die Dienste ccmexec, wscsvc und iphlpsvc. In einer anderen Umgebung kann es anders aussehen (einfach mal net stop winmgmt in einer Eingabeaufforderung eingeben und schauen, welche Dienste auch noch gestoppt werden müssen). Manchmal lässt sich ccmexec nicht über net stop beenden, daher auch noch die Zeile mit dem Taskkill. Viel Erfolg!

Nachtrag 2

Das WMI-Repository zurücksetzen hilft, aber das Problem tritt bei einzelnen unserer Computer nach einiger Zeit wieder auf. Es gibt einen Hotfix von Microsoft, der das beschriebene Problem adressiert und das Problem bei unseren Computern löst.

Java verteilen

Um Java (aktuell Version 8 Update 201)  zu verteilen, gibt es zwei Möglichkeiten. Entweder verteilt man ein MSI Paket oder die EXE-Datei als silent (unattended) Installation.

Das Problem bei Java ist die Autoupdate Funktion. Sobald eine neue Version erscheint, bekommen die User eine Meldung, können als Standardbenutzer aber das Update nicht installieren.

Daher verteile ich die neue Version als angepasstes MSI. Um die MSI Datei zu erhalten, wählt man auf der Download Seite links aussen „Alle Java Downloads„. Hier kann man nun die Windows Offline Datei herunterladen (32bit für den 32bit Internet Explorer). Wenn man mit der Installation beginnt, aber NICHT auf Installieren klickt, kann man unter C:\Users\“benutzername“\AppData\LocalLow\Oracle\Java\“jre-Versionsnummer“ die entpackte MSI Datei wegkopieren und danach die Installation abbrechen.

Um ein passendes MSI zu erstellen, verwende ich Orca von Microsoft, das in den Windows Installer Development Tools enthalten ist. Leider muss man für das kleine Orca die ganzen Tools (1GB) herunterladen. Danach kann man die ISO Datei auf eine DVD brennen oder z.B. mit 7Zip in einen Ordner extrahieren. Im Ordner \setup\WinSDKTools kann man die Datei cab1 mit einem Doppelklick öffnen und dann die Datei WinSDK_Orca_MSI…… Extrahieren. Sobald man diese Datei mit dem Dateinamen .msi ergänzt, kann man Orca per Doppelklick installieren.

image

Nun ändert man mit Orca unter Property die Eigenschaften:

AUTOUPDATECHECK: 0
JAVAUPDATE: 0
EULA: 1 (nicht mehr vorhanden bei Versionen > 8.)
IEXPLORER: 1 (nicht mehr vorhanden bei Versionen >8.)

image

Nun kann man das MSI speichern und z.B. über die Gruppenrichtlinien verteilen….

image

…oder über SCCM mit …

msiexec /i jre.msi

image

Ich habe das Java MSI auf jre.msi umgetauft (ohne Versionsangabe). Somit kann man einfach die neueste Version über die alte kopieren, den Distributionpoint aktualisieren und das Programm erneut zuweisen. Dies ist viel schneller, als wenn man jedes Mal ein neues Paket erstellen muss.

Java lässt sich auf diesem Wege nicht installieren, wenn der Internet Explorer zum Installationszeitpunkt geöffnet ist. Dies ist bei der Installation über die Gruppenrichtlinien kein Problem, weil vor der Anmeldung eines Benutzers der IE nicht geöffnet sein kann…

Man könnte nun den IE vor der Java Installation über einen taskkill Befehl schliessen, was nicht die ganz feine Art ist. Die Installation über WOL in der Nacht durchzuführen kommt bei so vielen Laptops, die in der Nacht nicht am Netz hängen, auch nicht in Frage. Daher verwende ich die Bedingung “Nur wenn kein Benutzer angemeldet ist”.

image

Viel Erfolg!

Nachtrag
Bei der letzten Version hatte ich Probleme mit diversen Computern, die danach zwar angezeigt hatten, dass sie die neue Version installiert hätten, diese war aber nicht in einem funktionsfähigen Zustand. Allenfalls kommt das zustande, wenn sich jemand anmeldet, während die Software installiert wird.

Ich habe mich nun entschieden, auf die Bedingung “Nur wenn kein Benutzer angemeldet ist” zu verzichten und den IE vor der Installation halt doch zu schliessen. Nicht ganz die feine Art, ich weiss…

image

Dropbox im Netzwerk???

Wir haben in jedem Schulhaus einen Supporter, der lokale Administratorenrechte auf den Computern hat und nach eigenem Ermessen auch zusätzliche Software auf den Computern der Lehrkräfte installieren darf. Nun wurde ich angefragt, ob man für die Lehrkräfte den Dropbox Client installieren dürfe.

image

Dropbox ist ein Speicherplatz im Internet, auf den ich mit diversen Computern und mobilen Clients zugreifen kann, um auf diese Daten von überall her zuzugreifen. Grundsätzlich sind die Daten also bei einer Firma, auf die wir keinen Einfluss haben. Ausserdem hatten sie in der Vergangenheit auch schon Probleme mit der Sicherheit. Daher empfehle ich, nur verschlüsselte oder nicht sensitive Daten einem solchen Dienst anzuvertrauen. Ausserdem erweitert grundsätzlich jede Software, die mit dem Internet kommuniziert, die Möglichkeit für einen Angriff mit Malware.

Bei uns gibt’s die Möglichkeit, von zuhause aus über einen Remotedesktopserver zu arbeiten. Vielleicht geht es aber auch darum, von der Schule aus auf die privaten Daten zuzugreifen. Dagegen spricht ja aus Datenschutzüberlegungen der Schule nichts. Da könnte man einwenden, dass die Schule nicht dafür sorgen muss, dass private Dinge auf den Computern bearbeitet werden können. Auf der anderen Seite weiss man, dass Einschränkungen unzufrieden machen und das Ziel müsste ja sein, für möglichst zufriedene Mitarbeiter zu sorgen…

Die Entscheidung, ob man das installieren kann/darf, ist also nicht nur eine technische, sondern vielmehr eine „politische“. Soll man den kleinen Verlust an Sicherheit und die Möglichkeit, dass sensitive Daten dort gespeichert werden könnten höher gewichten oder den Komfort und die Zufriedenheit der Lehrperson? Ich habe diese Frage nun an unsere EDV-Kommission mit allen Schulhaussupportern und den zuständigen Schulräten gestellt und bin gespannt, was herauskommt…

Filme auf dem Computer abspielen

Früher musste man ja eine Version von WinDVD oder einer ähnlichen Software haben, damit man Filme abspielen konnte. Mit Windows 7 sind nun auch viele Codecs direkt ins System gewandert und man kann das meiste mit dem Media Player von Windows abspielen.

Nun wurde ich bereits das zweite Mal darauf aufmerksam gemacht, dass eine mkv-Datei nicht abgespielt werden konnte. Mkv steht für Matroska und ist ein Containerformat für Audio- und Videodaten.

Auf der offiziellen Webpräsenz findet man auch Hinweise darauf, wie man diese mkv-Dateien abspielen kann. Ich habe mich nun entschieden, das Combined Community Codec Pack zu verwenden, da dies relativ einfach zum Installieren ist.

Man kann einfach das Programm mit den folgenden Parametern installieren. Somit wird kein zusätzlicher Player installiert, es gibt keine Startmenügruppe und die mkv-Dateien können einfach mit dem Media Player von Windows geöffnet werden.

cccp.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /NOICONS /TYPE=NoPlayers

image

schule.sg.ch

Dokumentieren muss ich so oder so. In der Meinung, dass meine Dokumentationen auch für andere Informatikverantwortliche interessant sein könnten, habe ich diesen Blog gestartet. Scheinbar wird das tatsächlich so gesehen.

Auf der Schulseite des Kantons St. Gallen gibt’s nun sogar einen Verweis auf diesen Blog unter “Informatik” –> “Volksschule” –> “Support” –> “Für Informatikverantwortliche”.

Das freut mich natürlich Smiley

image

Drucken funktioniert nicht mehr

Manchmal passieren komische Dinge. Ein Benutzer hat gemeldet, dass er nicht mehr drucken könne. Remote schauen wir uns das gemeinsam an.

Die Fehlermeldung meldet was vom Print Spooler und einen Fehler 0x000006ba. Also services.msc starten und den Dienst Druckerwarteschlange überprüfen. Dieser ist aus welchen Gründen auch immer nicht gestartet. Doch auch nachdem der Dienst manuell gestartet ist, lässt sich nicht drucken. Der Dienst stoppt immer wieder wie von Geisterhand…

image

Im Internet findet man viele Leidensgenossen, die ein ähnliches Verhalten dokumentiert haben. Die meisten zwar unter Vista, aber meistens auch mit lokal angeschlossenen HP Druckern. Mit den vielen Hinweisen konnte ich dann das Problem beheben. Man muss die Dateien unter C:\Windows\System32\Spool\PRINTERS manuell löschen. Danach konnte ich die Druckerwarteschlange immer noch nicht manuell starten, aber nach einem Neustart kam dann der Status “Gestartet”.

image

Das Ganze konnte ich dann reproduzieren. Sobald man das eine PDF Dokument auf den lokalen HP Drucker ausdrucken möchte, stoppt die Druckerwarteschlange und es bleiben Dokumente im Spool\PRINTERS Ordner. Das gleiche Dokument lässt sich problemlos auf den Kopierer im Netzwerk ausdrucken, was jetzt halt auch der “Workaround” ist, bis eine neue Version von Adobe Reader oder ein Windowsupdate das Problem behebt oder der Drucker den Geist aufgibt. Für den alten Drucker stellt HP nämlich nur noch einen Basistreiber aus dem Jahre 2009 zur Verfügung… Aber die wollen ja auch nur immer wieder neue Geräte verkaufen…

Lokale Drucker übers Netzwerk verbinden

Wir haben in unserem Netzwerk diverse Kopierer, auf die Lehrpersonen ausdrucken können. In der Oberstufe haben wir pro Stockwerk einen netzwerkfähigen Laserdrucker in einem Gruppenraum, auf den auch die Schüler/-innen ausdrucken können und in der Primarschule haben alle Lehrercomputer einen lokalen Drucker, obwohl dies garantiert zu höheren Druckkosten führt. Zum einen wird so mehr ausgedruckt, zum anderen sind die Kosten für viele kleine Drucker höher als für weniger grössere, aber um das geht’s ja jetzt gar nicht…

Die lokalen Drucker werden von den Lehrpersonen freigegeben. Die Schüler/-innen können sich so diese Drucker verbinden und darauf ausdrucken. Nun wurde ich angefragt, ob es möglich ist, einen Drucker für alle Benutzer gleichzeitig zu installieren, damit die Primarschüler/-innen dies nicht selber machen müssen (oder die Lehrperson für alle Schüler/-innen). Natürlich könnte man das über ein Startskript lösen oder über Group Policy Preferences, die ja neu bei den Gruppenrichtlinien vieles vereinfachen.

image

Aber es geht ja hier nur um 2 Laptops pro Klassenzimmer. Das wäre ein unverhältnismässiger Aufwand und hätte auch noch andere Nachteile.

Wie kann man das also so lösen, dass dies die einzelne Lehrperson mit Standardbenutzerrechten selber machen kann?

Es gibt zwei Lösungen. Die erste ist nicht automatisch, sondern verkürzt nur das Verbinden mit dem Drucker. Wenn man das Netzwerk nach dem Computer mit dem angeschlossenen Drucker durchsucht und den Computer auswählt, wird der freigegebene Drucker angezeigt. Diesen kann man nun z.B. auf den Desktop ziehen. Ein Doppelklick auf den Drucker stellt eine Verbindung damit her. Man kann nun diese Verknüpfung irgendwo ablegen, wo alle Schüler/-innen darauf Zugriff haben (Austauschordner, öffentlicher Ordner auf lokalem PC, …). Schüler/-innen müssen dann nur noch einen Doppelklick auf diese Verknüpfung machen, um eine Verbindung damit herzustellen.

image

Doch dies ist ja auch nicht wirklich automatisch, also nur eine Halblösung Zwinkerndes Smiley.

Besser ist es den Drucker so zu installieren, dass er für alle Benutzer installiert wird. Dies geht leider nicht über ein GUI, zumindest habe ich nichts dazu gefunden.

Es genügt aber, folgenden Befehl einzutippen (siehe Technet

rundll32 printui.dll PrintUIEntry /ga /n\\computername\Druckerfreigabename

image

Nach Ab- und wieder Anmelden ist der Drucker für alle Benutzer vorhanden.

Einen kleinen Schönheitsfehler hat diese Lösung aber auch. Es ist mir nicht gelungen, den Befehl auszuführen, wenn der Drucker im Freigabenamen einen Leerschlag hat… Man muss also beim Drucker freigeben darauf achten, dass der Freigabename keine Leerschläge aufweist. 

Einen Drucker über diesen Befehl zu verbinden, funktioniert aber nur, wenn Standardbenutzer sich Drucker selber verbinden können, was unter Windows 7 aber nicht der Fall ist. Dies kann aber einfach über eine Gruppenrichtlinie erreicht werden.

image

Typo3 Gruppenberechtigung Seite löschen

Wir setzen für unsere Homepage Typo3 ein, mit dem es möglich ist, verschiedenen Benutzern verschiedene Rechte einzuräumen. So können wir erreichen, dass einzelne Lehrkräfte nur ihre Seite bearbeiten können. Jedes Schulhaus hat einen Schulhausverantwortlichen, der dann alle Unterseiten bearbeiten kann und dann haben wir noch den Verantwortlichen für die Homepage, der Zugriff auf alles hat, die Frontseite pflegt und schaut, dass trotz der vielen Redaktoren eine einigermassen konsistente Bedienung über die ganze Seite gewährleistet ist.

Weiterlesen