Windows – Dateien oder Ordner umbenennen oder verschieben nicht möglich

Ich hatte heute mit einer Windows Server 2012-Installation zu kämpfen. Das System an sich lief, jedoch gingen die einfachsten Dinge nicht mehr – nämlich irgendwelche Dateien oder Ordner umbenennen oder verschieben. Selbst eine Neuanlage eines Ordners wahr nicht möglich. Egal ob der User der Administratoren-Gruppe angehörte oder es der Administrator-Benutzer selbst war. Der Ordner hat alle Berechtigungen, die es sinnvollerweise gibt. Kein Netzwerk-Sharing, keine sonstigen Locks von irgendwelchen Applikationen. Nix..

I’ll right-click the folder and enter a new name, then I’ll receive the following error: „Can’t find the specified file. Make sure you specify the correct path and file name.“ Clicking „Try Again“ will result in another error: „The file or folder does not exist.“

Unable to rename or move folders 1

Unable to rename or move folders 2 Einige User konnten das Problem auf die Installation verschiedener Updates zurückführen (KB2911106), jedoch brauchte laut deren Aussagen auch die Deinstallation keine Verbesserung. Einzig Löschen und die Modifikation per Eingabe-Box funktionierte. War aber nicht praktikabel. Der Suchmaschine sei Dank gibt es auch hierfür eine Lösung. Es sind fünf Registry-Einträge zu entfernen. Danach ist alles wieder wie gewohnt. Vielen Dank dem Tüftler!

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}]

Die Aktivschaltung ging bei mir leider nicht im laufenden Betrieb. Daher Registry-Key einspielen und einmal Reboot des Systems!

Windows – CA-Zertifikate per Command Line importieren

Heute wieder etwas zum Thema Unattended Installation bei Windows. Ich habe die Notwendigkeit, eigene CA-Zertifikate ins Windows zu importieren. Unter anderem, damit mein WSUS mit SSL funktionert, da dessen Zertifikat von dieser eigenen CA stammt. Bei Windows (getestet ab 2008 R2) gibt es dazu das certutil.exe. Um Zertifikate in einen bestimmten Zertifikatspeicher beispielsweise zu importieren, muss man wissen, wie diese Speicher heißen.

User Certificates

User Certificates


Eine Möglichkeit ist certmgr.msc. Hier wird nur der Speicher des Users angezeigt, weshalb man sich mit mmc am Besten schnell etwas zusammenstellt. Natürlich kann certutil nichts mit den langen Namen anfangen, da hier die Kurznamen benötigt werden. In der Registry findet man schneller heraus. Dort sind ein Teil der Zertifikate für entsprechenden Benutzer bzw. den Computer in den jeweiligen Stores als BLOBS abgelegt:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates

Blobs in Registry

Blobs in Registry


Alternativ kann man sich einen Teil in der Console ausgeben lassen mit certutil -v -enumstore.

Die Anleitungen im Internet zeigen oft einen Import unter TrustedPublisher. Wer es in Trusted Root Certification Authorities importieren möchte, muss also ROOT eingeben.

certutil -addstore "ROOT" ownCA.p7b
ROOT "Trusted Root Certification Authorities"
Signature matches Public Key
Certificate "Own CA" added to store.
CertUtil: -addstore command completed successfully.

Dazu gibt es auch einen guten Artikel im Technet. Vielleicht hilfts euch?!

Powershell – Nic-Team erstellen

Ich habe für meine automatischen Windows 2012-Installationen, die auf UCS-Servern zum Einsatz kommen, etwas mit PowerShell gebaut. Dabei wird ein NIC-Team mit folgenden Eigenschaften erstellt:

  • Teaming Modus = Switch Independent
  • LoadBalancing Algorithmus = IP Addresse
  • Erste NIC wird ein Standby-Adapter
  • NIC-Team bleibt auf DHCP eingestellt

Vorgehen

  1. Team erstellen mit Set-NetLbfoTeam
  2. Mitglieder modifizieren mit Set-NetLbfoTeamMember

Ausführung

Erzeuge Nic-Team mit den Netzwerkkarten NIC-01 und NIC-02 (die Namen habe ich MDT so definiert)

New-NetLbfoTeam -Name NIC-Team-01 -TeamMembers NIC-01,NIC-02 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm IPAddresses -Confirm:$False 

Warte ein paar Sekunden bis Team eingerichtet ist.

Start-Sleep -s 15

Setze die erste NIC auf Standby

Set-NetLbfoTeamMember -Name NIC-01 -Team NIC-Team-01 -AdministrativeMode Standby

Weitere Quellen: 1| 2

Silent Installation von Control-M/Agent V8 Fix Pack 2

Nutzt jemand einen Control-M Agenten unter Windows? Falls man das Fixpack unattended installieren will – hier die Kurzanleitung. Herunterladen kann man die Dateien vom FTP-Server von BMC. Der ist weitaus übersichtlicher als über das Support-Menü. Dann die Exe-Datei entpacken mit

PAKAI.8.0.00.200_windows_x86_64.exe -e -d(Pfad-zum-Ordner)

bmc-fixpack-screenshot

Wichtig ist hier, dass beim Parameter „-d“ kein Leerzeichen ist. Ansonsten werden die Dateien nach %TEMP% geschoben. Hat man dies geschafft, kann man sich, entgegen der Info aus der Anleitung, mit der silent.bat behelfen.

LocalGPO Tool funktioniert nicht auf Windows Server 2012 R2

Hallo mal wieder. Ich schraube gerade intensiv an einer neuen Autoinstallation für Windows 2012 R2. Da alle Server später möglichst identisch aussehen sollen, egal ob sie nun in einer Domäne landen oder nicht, sind einige Schrauben zu drehen. Heute ist sind die Local Policy Settings dran und da gibt es ja seit einiger Zeit das Command Line Tool LocalGPO, welches im Security Compliance Manager (SCM) enthalten ist. Leider wurde bei Microsoft das Tool für das 2012er R2 noch nicht angepasst. Natürlich stellte ich dies erst fest, nachdem ich mit meiner Template-Erstellung durch war. Fehlermeldung LocalGPOtool auf 2012r2 Was kann man also machen? Richtig – das Skript modifzieren! Geht in den Ordner C:\Program Files (x86)\LocalGPO und dort die Datei LocalGPO.wsf mit dem Editor öffen. Zum Beispiel mit Notepad++. Im Abschnitt Main dann den Aufruf der Funktion ChkOSVersion auskommtieren. Also Call ChkOSVersion mit 'Call ChkOSVersion. Der saubere Weg ist natürlich, die Funktion Sub ChkOSVersion bearbeiten und dort die korrekte Version für 2012 R2 einfügen. Ist dies erledigt, funktioniert auch der Export wie erwartet.

C:\Program Files (x86)\LocalGPO>cscript LocalGPO.wsf /Path:C:\GPObackups /Export
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Exporting Local Policy... this process can take a few moments.

Local Policy Exported to C:\GPObackups\{5BCD14CE-4D93-4C57-B43B-A253FBEA8CB5}
C:\Program Files (x86)\LocalGPO>

Will man die Local GPO-Settings später in ein 2012 R2 importieren, so ist die Änderung in der GPOPack.wsf zwingend notwendig.

If(Left(strOpVer,3) = "6.3") and (strProductType <> "1") then 
         strOS = "WS12"

KMS für Server 2012 rekonfiguieren

So, nun kommt auch bei mir der Server 2012 in den Fokus. Besser spät als nie. Immerhin gibt es schon die R2. So gesehen, war die Wartezeit doch ganz gut. Mein KMS läuft auf einem Windows Server 2008 R2 und muss nun ready gemacht werden, damit der Volume-KMS-Key für Server 2012 R2 eingespielt werden kann. Soweit so gut. Die Arbeit oberflächlich betrachtet sieht als so aus, dass man auf dem KMS-Server einen Patch einspielt, damit der neue Key erkannt wird. Danach wird der neue Volume-Key eingestellt und aktiviert. Zuletzt testet man noch mit einem weiteren System, welches „Client“ am KMS-Server ist, ob er sich wie gewohnt oder endlich mal aktivieren kann. Die Arbeit mit dem KMS findet hauptsächlich über die Eingabeaufforderung statt. Wichtigstes Tool ist hier slmgr.vbs. Versucht man den Key ohne Patch einzuspielen, gibt es eine Fehlermeldung.
01-2014-1
In diesem Fall ist die Fehlermeldung recht eindeutig. Allerdings ist dies nicht immer so. Oft gibt es nur eine Hex-Nummer, die man sich mit dem Tool slui.exe übersetzen lassen muss.

Slui.exe 0x2a ErrorCode

Also muss der Patch her. Gesagt getan. Allerdings lies sich der Patch bei mir nicht installieren.
Continue Reading

Silent Uninstall bei einem BMC Control-M Agent

Heute mal etwas Spezielles. Ab und an muss man auch eine Software deinstallieren, weil man sie nicht gescheit updaten kann. In der Herstelleranleitung steht es nicht drin aber man kann den Agenten auch „silent“ deinstallieren. Dazu empfiehlt es sich, zuerst das eventuell installierte Fixpack zu entfernen.
Hier mal am Beispiel der alten 6er Version. Leider kann man nicht direkt die Datei im Verzeichnis anwählen, weshalb man erst reinspringen, ausführen und wieder den Ordner verlassen muss. Nicht so toll aber man kann es gut skripten:

cd /D "C:\Program Files\BMC Software\CONTROL-M Agent\Default\install\PANDN.6.3.01.400\"
wscript.exe RunUninstallHidden.vbs -s

Dann ein paar Sekunden warten und weiter mit der Hauptinstallation

cd /D "C:\Program Files\BMC Software\CONTROL-M Agent\Default\EXE\"
Remove.exe Default silent

Das „silent“ ist wichtig in diesem Fall. Nicht vergessen, wieder aus dem Verzeichnis raus zu gehen.

cd /D "C:\Program Files\"

Noch ein weiterer Hinweis. Die Deinstallation braucht etwas Zeit. Am Besten man baut sich einen Sleep ein. Im Normalfall reicht eine Minute. In einer Batch-Datei kann man das richtig oldschool mit einem Ping auf localhost machen.

ping -n 60 127.0.0.1 > NUL

Natürlich gibt es dann noch ein paar Reste. Nicht jede Deinstallationsroutine putzt unter Windows alles weg. Daher muss man noch etwas nachhelfen.

rmdir /S /Q "C:\Program Files\BMC Software" > NUL
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ctmag" /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ctmat" /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ctmar_service" /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ctmfw_service" /f
ping -n 3 127.0.0.1 > NUL 

So, das war es auch schon. All das lässt sich in ein Batchfile verpacken.

Link ins BMC-Forum

PS: Wer immer bei BMC für die Installationsroutinen des Control-M-Agenten verantwortlich ist … bitte geh‘ auf Schulung oder hol dir Hilfe!

Planetary Annihilation Beta im Humble Store

Heidio, das ist doch mal was. Ich als alter Total Annihilation-Fan der ersten Stunde schaue schon eine ganze Weile auf das Release von Planetary Annihilation im Steam-Store.

PlanetaryAnnihilation01

Gestern, ganz zufällig sah ich, dass es eine preisreduzierte Version im Humble Store gibt. Es ist zwar in Dollar ausgepreist aber umgerechnet mussten knapp 31 Euro gezahlt werden. In Anbetracht, dass das identische Angebot im Steam 54 Euro kostet und das Game nach Fertigstellung einen ähnlichen Preis aufweisen wird, kann man hier schon zum fairen Preis zuschlagen.
Continue Reading

Das WSUS-Update braucht ein Update

UTIL LOGO
Heute war der Tag der Updates für den WSUS-Server. Lief alles wie gewohnt durch. Es kam auch ein Update für den WSUS-Dienst mit – die Version 3.2.7600.251. Danach stellte ich dann fest, dass ein Sync mit dem Microsoft-Server nicht mehr funktionierte. Dolle Wurst. Egal wie, es ging nicht. Stattdessen wurde eine nichtssagende Meldung ausgespuckt.

WebException: The request failed with the error message:
--
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="%2fmicrosoftupdate%2fv6%2ferrorinformation.aspx%3ferror%3d15">here</a>.</h2>
</body></html>

--.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetAuthConfig()
   at Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
   at Microsoft.UpdateServices.ServerSync.ServerSyncLib.Authenticate(AuthorizationManager authorizationManager, Boolean checkExpiration, ServerSyncProxy proxy, Cookie cookie, WebServiceCommunicationHelper webServiceHelper)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.SyncConfigUpdatesFromUSS()
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)

Continue Reading

URLs für das Funktionieren des Microsoft KMS (Proxyfreischaltung)

Key Logo
KMS, KMS – was ist das jetzt wieder? Und dann auch noch von Microsoft?! KMS ist schlicht die Abkürzung für den Microsoft Key Management Service der ab Windows Vista für die Produktaktivierung benötigt wird. Der Heimanwender kommt damit über Internet in Berührung, wenn er sein Windows oder sein Office Produkt online aktiviert. Für Unternehmen, die oft hunderte bis tausende Desktops, Server oder Office Produkte von Microsoft einsetzen gibt es die Möglichkeit, einen einen eigenen KMS im LAN aufzusetzen. Benötigt wird dazu ein Volumenvertrag mit dem Hersteller und der oder die dazugehörigen Keys. Das ist sinnvoll, wenn man nicht gewillt ist, alle Systeme ins Internet routen zu lassen, um sich initial oder alle 180 Tage zu (re)aktivieren. Dafür verbindet sich einzig der KMS-Server stellvertretend für die übrigen Systeme mit Microsoft. Machmal erfordert es dich interne IT-Sicherheit, dass der KMS-Server nicht komplett ins Netz darf, sondern nur mit dedizierten URLs kommunizieren darf. Also muss der Netzwerker einige Adressen am Proxy freischalten. Continue Reading