Windows: Desktopverknüpfungen verschwinden

Problem:
Windows 7-Benutzer melden sich mit dem Hinweis, dass Dekstopverknüpfungen einfach verschwinden. Meistens handelt es sich dabei um Verknüpfungen auf Server außerhalb der Domäne oder auf USB-Geräte.

Lösung:
Windows 7 hat einen eingebauten Wartungszyklus, der z.B. korrupte Verknüpfungen entfernt.
Wenn eine Verknüpfung gelegentlich nicht erreichbar ist, dann wird diese als korrupt markiert und nach einiger Zeit entfernt.
Man kann diese Systemwartung abschalten. Hierzu bitte wie folgt vorgehen:

- Systemsteuerung öffnen
- Unter "System und Sicherheit" den Punkt "Probleme erkennen und beheben" öffnen
- In der linken Leiste den Punkt "Einstellungen ändern" auswählen
- Hier den Punkt "Computerwartung" auf "AUS" stellen

Hiermit ist die Computerwartung abgeschaltet.

Quelle: Microsoft Artikel-ID 978980: Desktopverknüpfungen verschwinden in Windows 7


****** Update 12.11.2013 ******

Nach einigen Niederlagen habe ich durch Registry- und File-Tracking herausgefunden, dass man die Computerwartung, die für das Löschen der Verknüpfungen verantwortlich ist, per Registry-Key abschalten kann.

Abschalten der Computerwartung:
Key : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ScheduledDiagnostics
Name : EnabledExecution
Typ : REG_DWORD
Wert : 0 = disable / 1= Enable

Ich habe das Ganze per GPO als Registry-Update veröffentlicht - Somit hat sich diese Sache für mich erledigt!


Windows XP/7/Vista: Setzen des zuletzt angemeldeten Benutzers (Last Logged On User)

Problem:
Mir passiert es immer wieder, dass ich mich als Administrator an einem Arbeitsplatz anmelde und dann melden sich am nächsten Tag die Benutzer und können sich nicht anmelden, da der verkehrte Benutzername in der Anmeldung steht. Außerdem wissen viele Benutzer ihren Benutzernamen nicht mal :-(

Lösung:
Ich habe eine gute Batchdatei gefunden, die es ermöglicht, den letzten angemeldeten Benutzer einzutragen. Diese funktioniert sowohl für XP als auch Windows Vista/7:

Hier die kurze Fassung der Batch-Datei ohne Kommentare (einfach als Bacth speichern):
@echo off

cd\

echo _____Select Operating System_____
echo:
echo 1. Windows XP
echo 2. Windows 7
echo:

set /p choice=Select Operating System:

if '%choice%' == '1' goto WindowsXP
if '%choice%' == '2' goto Windows7

:WindowsXP

ECHO List of Users:

cd\documents and settings
dir /w
ECHO:

set /p username=Please enter the name you want to appear as last logged on:

ECHO Windows Registry Editor Version 5.00 >> change.reg
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> change.reg
ECHO "DefaultUserName"="%username%" >> change.reg

goto End

:Windows7

cd\users
dir /w
ECHO:

set /p domain=Please enter the domain name:
ECHO:
set /p username=Please enter the name you want to appear as last logged on:

ECHO Windows Registry Editor Version 5.00 >> change.reg
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI] >> change.reg
ECHO "LastLoggedOnUser"="%domain%\\%username%" >> change.reg

:End

C:\WINDOWS\regedit.exe /s change.reg
DEL change.reg

ECHO Username set to %username%

Pause

Wenn es jemand genauer wissen will, der kann sich den Quelltext mit Kommentaren und Erklärungen auf der originalen Seite anschauen (siehe Quelle).

Quelle: Brickin' IT: Changing the Last Logged On User with a Batch File

Windows XP / 7 - VpnApp

Es gibt immer wieder Benutzer die nicht verstehen das Sie erst in VPN eingewählt sein müssen um Anwendungen aus dem Firmennetz zu starten. Um dieses Problem etwas zu mildern hab ich ein kleines Programm geschrieben das es den Benutzer noch einfacher machen soll.

Zur Benutzung des Programmes gibts nicht viel zu sagen , es wird überprüft ob eine IP oder ein Hostname erreichbar ist , ist dies nicht der Fall wird der VPN Client gestartet. Nach dem erfolgreichen Einwählen wird die Anwendung aus dem internen Netz gestartet.

Die Konfigurationsdatei enthällt folgende Parameter :


Server="IP ODER HOSTNAME"
VpnClient="PFAD ZUM VPN CLIENT"
AppToStart="ANWENDUNG DIE GESTARTET WERDEN SOLL"
CntPi=1
MaxTry=3


CntPi=1

Count Ping wie oft soll der Server gepingt werden um eine Verbindung zu diesem zu überprüfen , default ist hier 1 bei schlechten Verbindungen kann dieser Wert erhöht werden. Allerdings wird dann auch mehr Zeit benötigt

MaxTry=3
Wie oft soll die Schleife durchlaufen werden bevor die Meldung ausgegeben wird das keine Verbindung aufgebaut werden kann.

Download VpnApp.exe
Source Code VpnApp.exe

Das Icon wurde von Sergio Sánchez López entwickelt

Windows 2008 / 7 - Powershell alle Rechner mit Betreibssystem in eine Datei

Problem :

Man möchte eine Übersicht über alle im AD vorhandenen Rechner mit Betriebsystem und Servicepack

Lösung :

Dieses Skript exportiert alle Rechner mit OS und SP in eine Textdatei die einfach in Excel importiert werden kann.

$ldapSearcher = new-object directoryservices.directorysearcher;
$ldapSearcher.filter = "(objectclass=computer)";
$computers = $ldapSearcher.findall();
$pcs = "Name,Os,SP";
foreach ($c in $computers) {
  $pc.Name=$c.properties["cn"];
  $pc.OS=$c.properties["operatingsystem"];
  $pc.SP=$c.properties["operatingsystemservicepack"];
  $pcs = $pcs + "`r`n" + $pc.Name + "," + $pc.OS + "," + $pc.SP;
}
echo $pcs | Out-File C:\TEMP\Rechner.txt -encoding ASCII


Der Pfad kann einfach abgeändert werden C:\TEMP\Rechner.txt durch den Wunschpfad ersetzen.

Es gibt natürlich auch andere Möglichkeiten :

Nils Kaczenski hat einige andere Varianten auf faq-o-matic.net vorgestellt
Meine Variante ist eine leicht abgewandelte Form des von Bernd Eckenfels erstellten Skripts
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)