Script, um für alle User einer OU den Haken “Kennwort läuft nie ab” zu setzen

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [2 Bewertung, Durchschnitt: 3,00]

Auch wenn es ein Sicherheitsrisiko darstellt, ist es doch in manchen Umgebungen auf Grund der dort vorhandenen User nötig, Useraccounts so zu konfigurieren, dass das Passwort nie abläuft.

Neben der Möglichkeit, dies über Gruppenrichtlinien abzuarbeiten kann dies natürlich auch per Script geschehen…

Anbei ein VBScript, das die gewünschten Änderungen vornimmt.

Vorgangsweise:
Script als “PasswordNeverExpires.vbs” auf einem beliebigen Client speichern, Zeile 12 an die gewünschte OU an passen und laufen lassen.
Hinweis: es wird ein Logfile erstellt, das Auskunft über die Änderungen gibt.

'###########################################################################
'# Usage:
'#  als    PasswordNeverExpires.vbs      an beliebiger Stelle auf einem Client speichern
'#
'# Variablen, die geändert werden MÜSSEN
'# ACHTUNG: strOU ist in 'verkehrter' Reihenfolge, dh:
'# strOU = "OU=1A,OU=Schueler,OU=benutzer," steht für alle User,
'# die in der OU=1A sind, die wiederum in der OU=Schueler sind, und diese dann in der OU Benutzer liegt
'# also:
'#
'# Benutzer
'# |__ Schueler
'#    |___ 1A
'#
'# Hier findest Du zusätzliche Infos zu LDAP-Attributen:
'# http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
  
strOU = "OU=1A,OU=Schueler,OU=Benutzer,"   'ACHTUNG auf den Beistrich!!
 
  
'# Ab hier nur mehr für Auskenner veränderbar...
'############################################################################
on error resume next
Dim rootDSE, domainObject
Set rootDSE = GetObject("LDAP://RootDSE")
domainContainer = rootDSE.Get("defaultNamingContext")
Set domainObject = GetObject("LDAP://" & strOU & domainContainer)
  
Set fs = CreateObject ("Scripting.FileSystemObject")
Set outFile = fs.CreateTextFile (".\logfile_ADKonten.txt")
  
exportUsers(domainObject)
  
Set oDomain = Nothing
  
Sub ExportUsers(oObject)
on error resume next
   Dim oUser
   For Each oUser in oObject
      Select Case oUser.Class
         Case "user"
  
            call changeIT(oUser.distinguishedName)
  
         Case "organizationalUnit" , "container"
  
            ExportUsers(oUser)
      End select
   Next
End Sub
  
  

 
sub changeIT(myUser)
'On Error Resume Next
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Set objUser = GetObject("LDAP://" & myuser)

intUserAccountControl = objUser.Get("userAccountControl")
 

        ' Check if "Password Never Expires" already set.
        If Not objUser.userAccountControl AND ADS_UF_DONT_EXPIRE_PASSWD Then
            ' Set bit for "Password Never Expires".
			objUser.Put "userAccountControl", _
			objUser.userAccountControl XOR ADS_UF_DONT_EXPIRE_PASSWD
			
            objUser.SetInfo    
            outfile.WriteLine  myUser & " wurde erfolgreich geaendert!"
        End If
 
end Sub
WScript.Quit
Posted in Active Directory, VBScript | 2 Comments

ADMINOMAT 2.06 kann jetzt Clients zeitversetzt booten / herunterfahren

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [2 Bewertung, Durchschnitt: 5,00]

Das Tool ADMINOMAT (in der aktuellen Version 2.06) kann ab sofort mehrere Clients zeitversetzt per Aufgabenplanung starten bzw. herunterfahren.

Damit können u. a. in der Nacht Updates bzw. Software (per Gruppenrichtlinie) installiert werden.

Download

ADMINOMAT_geplanter_Task

Posted in Adminomat | Leave a comment

geplanter Task per Gruppenrichtlinie läuft auf Windows 10 nicht

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [4 Bewertung, Durchschnitt: 4,00]

Problem:
Ein Task, der auf älteren Windows-Versionen per Gruppenrichtlinie angelegt wurde, wird auf Windows 10 Clients nicht mehr angelegt.

Fehlermeldung in der Ereignisanzeige des Clients [ANWENDUNG]:
Das Computer “**TASKNAME**”-Einstellungselement im Gruppenrichtlinienobjekt “GRUPPENRICHTLINIENNAME {39E64460-2198-40DC-9EE1-6EBDAC1D7E40}” wurde aufgrund eines Fehlers nicht angewendet. Fehlercode: “0×80090005 Ungültige Daten” Dieser Fehler wurde unterdrückt

Ursache:
Windows 10 geht mit Benutzerrechten anders um als ältere Betriebssysteme – wer Näheres wissen möchte, sollte via Google eine Recherche starten

Lösung:
1.) Gruppenrichtlinie für den geplanten Task wie gewohnt erstellen, Feld “%LogonDomain%\%LogonUser%” unverändert lassen (auch nicht anklicken!), geplanten Task nach Abschluss aller Konfigurationen auf den anderen Registern wie hier dargestellt speichern!

GPO_Anlegen_geplanterTask

2.) Die Gruppenrichtlinie im SYSVOL suchen:
Beispiel:
\\dc2\SYSVOL\contoso.com\Policies\{87EF1792-C05E-458B-A0FF-97D92210FBE3}\Machine\Preferences\ScheduledTasks

3.) die Datei “ScheduledTasks.xml” mit einem Editor öffnen und folgende Einträge ändern:

runAs = “%LogonDomain%\%LogonUser%” –> runAs=”S-1-5-18″

<UserId>”%LogonDomain%\%LogonUser%”</UserId> –> <UserId>S-1-5-18</UserId>

Erklärung:
Jeder Standardbenutzer hat eine eigene SID, jene von “NT Autorität\System” ist eben S-1-5-18.
Dieses Systemkonto verfügt über höchste Rechte, die evtl für das Ausführen des Tasks benötigt werden und hat natürlich kein Passwort.

Eine Auflistung aller anderen “Well known SID” gibts zb hier

ERGEBNIS:
In der Gruppenrichtlinienverwaltung erscheint nun in der Anzeige bei Benutzer-ID leider “S-1-5-18″, am Windows 10 – Client wird der Task jedoch mit dem Systemaccount eingetragen.

GPO_Anlegen_geplanterTask_Client

Posted in Active Directory, Gruppenrichtlinie, Windows 10 | Leave a comment

Rollout .net Framework 4.7.1 für DigiCheck mit ADMINOMAT

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [1 Bewertung, Durchschnitt: 5,00]

Das für den DigiCheck nötige Programm setzt das .net Framework 4.7.1 voraus, das sich mittels unserer Software ADMINOMAT sehr einfach ausrollen lässt.

Zur Vorgangsweise:

0.) Den Offline-Installer herunterladen  und auf einem Netzwerkshare hinterlegen
1.) ADMINOMAT hier  downloaden
2.) PSEXEC downloaden und in den selben Ordner entpacken, in dem ADMINOMAT gespeichert wurde
3.) ADMINOMAT starten (auf einem beliebigen Rechner im Active Directory mit Domänen-Administratoren-Rechten) 4.) (sehr) kurz warten, bis das Active Directory bzw. der DHCP-Server eingelesen wurde
5.) OU in der Struktur links auswählen -> PSEXEC –>

/V /C “\\server\Share\NDP471-KB4033342-x86-x64-AllOS-ENU.exe” /q /norestart

[Anm.: der Flag '/norestart' sollte natürlich weggelassen werden, wenn auf den Clients niemand arbeitet.]

5.) einen Kaffee trinken gehen –> fertig!

Anschließend die lt. Anleitung generierte ITS.Performer(xxx).exe auf ein Sharekopieren und per GPO auf die Clients verteilen.

Mit ADMINOMAT ein GPUPDATE initiieren und fertig wären wir auch schon.

Posted in Active Directory, Adminomat, Gruppenrichtlinie, Rollout, Software | Leave a comment

Tool, um mittels TMG / ISA remote den Internetzugang zu beschränken

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Ich habe ein kleines Tool zusammengebastelt, mit dem man von jedem Klassenraum-PC sehr einfach einzelne Regeln am TMG / ISA – Server aktivieren bzw. deaktivieren kann.

internetsperrer

 

Dadurch lässt sich vom LehrerPC aus der Internetzugang vorübergehend einschränken, etwa bei Tests oder mangelnder Aufmerksamkeit.

Das Tool läuft auf allen Clients ab Windows 7 bis 10 – Download hier

Vorgangsweise bzw. vorbereitende Arbeiten:

1.) die Gruppe der Lehrer muss am TMG mit den Rechten versorgt werden, Regeln ein- bzw. auszuschalten:
Rechte

 

 

 

 

 

 

 

 

2.) 3 Regeln einrichten, die wie folgt heißen müssen:
INF1
INF2
INF3

3.) Für die Statusanzeige rechts:
einen Ordner am TMG-Server erstellen, auf den alle Lehrer Schreib- und Leserechte haben
C:\inetpub\wwwroot
(Hinweis: der IIS muss NICHT installiert sein!)
[in diesen Ordner wird eine Status.html geschrieben, aus der sich ablesen lässt, welche Regel dzt aktiv bzw. inaktiv ist.]

4.) am TMG einen weiteren Ordner erstellen:
\\tmg\c$\VBTests
Dort die 2 .vbs-Dateien aus dem Download hinterlegen
(Danke an Jason Fossen für die Steilvorlage)

5.) am Client (=LehrerPC) das Tool in einen beliebigen Ordner speichern

6.) in diesen Ordner PSEXEC zusätzlich speichern

7.) You are done ;-)

HINWEIS:
Das Tool ist so, wie es ist, ich bastle es nicht unentgeltlich um oder erweitere es!
Falls jemand eine kostenpflichtige Anpassung an seine Landschaft wünscht, mache ich das aber gerne

 

 

Posted in ISA - Server, Notebook-Klassen, TMG | Leave a comment

Per Powershell Mails aus Exchange-Boxen entfernen

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Es kann vorkommen, dass (zB durch SPAM) Mailboxen auf einem Exchange-Server so übervoll werden, dass ein manuelles löschen nicht mehr durchführbar ist.

In diesem Fall funktioniert folgende Vorgangsweise auf einem Exchange-Server 2007:

  1. Rechte auf den Mailboxen dem Administrator erteilen:Get-Mailbox -ResultSize unlimited | Add-MailboxPermission -User ADMINISTRATOR -AccessRights FullAccess -InheritanceType all
  2. Mails mit dem unerwünschten Inhalt löschen:Get-Mailbox BetroffeneMailbox | Export-Mailbox -ContentKeywords “Diagnosetext” -DeleteContent

Hinweis:
Es werden die betroffenen Mails sofort gelöscht und nicht in einen Ordner oder in eine andere Mailbox verschoben!

 

Posted in Active Directory, Exchange, Powershell | Leave a comment

Gebrauchte Lizenzen – eine echte Alternative zu Open Source

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke [3 Bewertung, Durchschnitt: 3,67]

Bei steigender Budgetknappheit ist es nahe liegend, dass nebst der Kosten für Hardware und externes Consulting auch jene für Lizenzen in den Fokus rücken.

Selbstverständlich ist hier die Verwendung von OpenSource-Betriebssystemen eine veritable Alternative.
Meine jahrzehntelange Erfahrung im Bereich der Server-Administration, aber auch im direkten Kontakt mit Endbenutzern zeigen mir aber, dass die Kostenersparnis nur dann eintritt, wenn eine weitreichende Akzeptanz seitens der User vorhanden ist.

Dies inkludiert die Bereitschaft zur Aneignung neuer Kompetenzen in Eigenregie. Sobald diese Bereitschaft fehlt, kann der Schuss schnell nach hinten losgehen:
Die Schulungskosten steigen, die Motivation und Arbeitsleistung nimmt ab.

Oft scheitert die Idee des Umstiegs auf Linux-Betriebssysteme aber auch einfach an Spezialanwendungen, die Windows als Betriebssystem fordern.

Eine Lösung für die Problematik kann hier sicherlich in der Anschaffung von gebrauchten Lizenzen liegen.
Die Kosten der Anschaffung sinken – bei gleichzeitiger Akzeptanz der User, da sie mit der gewohnten Umgebung weiter arbeiten können.

Hinsichtlich der Legalität dieser Lösung gibt es bei Einhaltung einiger Tipps keinerlei Bedenken – es sind genügend Erkenntnisse der Höchstgerichte vorhanden!

Beachtet werden sollte lediglich, dass die Lizenzen von etablierten und seriösen Unternehmen erworben werden.

Empfohlen kann hier sicherlich die Firma USC mit Sitz in Deutschland werden, die sich seit Jahren als kompetenter Partner in Lizenzfragen einen guten Namen in der Fachpresse erworben hat.

Nebst dem übersichtlichen und umfangreichen Webshop für gebrauchte Software-Lizenzen finden sich auf der Website auch noch ein paar Tipps, wie man seriöse von unseriösen Angeboten unterscheiden kann.

Ein Blick auf deren Angebot sowie die Preisliste lohnt sich in jedem Fall!

Posted in Office 365, Software, Windows 7, Windows 8, Windows Server 2008 | Leave a comment

KMS für Office 2016

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Die Konfiguration des KMS für die Lizenzierung von Office 2016 unterscheidet sich durch nichts von der bereits erfolgten Anleitung für Office 2013.

Bevor sich die Aktivierung starten lässt, ist (zumindest für Server2008R2) ein Update zu installieren, das einen Reboot erfordert (

Die Abfrage, ob der Key erfolgreich hinterlegt wurde bzw. wie viele Clients aktuell über den Schlüsselverwaltungsdienst aktivert werden, erfolgt mit:

C:\Windows\System32\slmgr.vbs -dlv 98EBFE73-2084-4C97-932C-C0CD1643BEA7

Posted in Active Directory, Key Management Service (KMS) | Leave a comment

User per VBScript aus dem AD in eine .csv exportieren für MAHARA-Import

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Der Massenimport via .csv von Usern in MAHARA ist (vor allem, wenn man auf das deutsche Language-Pack umgestellt hat) voll der Pein und Trauer…

Anbei ein Script, dass ausgewählte Schüler anhand ihrer Mitgliedschaft zu einer OU in einer CommandShell ausgibt, die man dann nur noch kopieren muss in eine .csv und importieren…

Speicher als “maharaExport.vbs” und in einer Commandshell mit
cscript maharaExport.vbs
ausführen lassen…

'On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

'### hier die gewünschte OU auswählen ######
course = "3A,3B,3C,3D,3E"

courseArr = split(course,",")

'Wscript.Echo "Benutzername;Passwort;E-Mail;Vorname;Nachname;Studenten-ID"
Wscript.Echo "username,password,email,firstname,lastname,studentid"
UserCounter = 20170001

for i = 0 to UBOUND(courseArr)
	objCommand.CommandText = "SELECT name, distinguishedName, sAmAccountname, mail, givenName, SN FROM 'LDAP://OU=" & courseArr(i) & ",OU=Schueler,OU=Benutzer,DC=hak-neusiedl,DC=local' WHERE objectCategory='user'"

	Set objRecordSet = objCommand.Execute

	objRecordSet.MoveFirst

	Do Until objRecordSet.EOF

		Wscript.Echo  chr(34) & objRecordSet.Fields("sAmAccountname").Value & chr(34) & "," & chr(34) & "ASDFASDF" & chr(34) & "," & chr(34) & objRecordSet.Fields("mail").Value & chr(34) & "," & chr(34) & objRecordSet.Fields("givenName").Value & chr(34) & "," & chr(34) & objRecordSet.Fields("SN").Value & chr(34) & "," & chr(34) & UserCounter & chr(34) '& "," & courseArr(i)

		objRecordSet.MoveNext
		UserCounter = UserCounter+1
	Loop

next
Posted in Active Directory, Scripts, VBScript | Leave a comment

Kurzzusammenfassung: OFFICE 365 inkl Mail für NEUE SchülerInnen

sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Damit ich selbst nicht vergesse (und nur dafür):

  1. User im AD anlegen
  2. Kontrollieren, ob am Reiter “Konto” der Benutzeranmeldename auch auf die richtige Domain lautet
  3. Mailadresse per Script hinterlegen direkt im AD
  4. User mit Azure Connect syncen
  5. Usern per Script die Lizenz zuweisen sowie das Land
Posted in Azure, Exchange, Office 365 | Leave a comment