Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – Erläuterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Kategorie: Programmierung

Formatierung von Intune-Auditlog-Daten für Vergleiche

Posted on 6. Juni 20195. Juni 2019 By Daniel Lensing Keine Kommentare zu Formatierung von Intune-Auditlog-Daten für Vergleiche

Im Regelfall können mehrere Administratoren auf die „Profile“ im Intune zugreifen und Änderungen vornehmen. Während einer Fehleranalyse kann es dabei sinnvoll sein, dass man sich die Veränderungen sichtbar macht. Im „Audit Log“ wird dargestellt, wann und wer Veränderungen am jeweiligen Objekt vorgenommen hat. Die Veränderung selber werden in einem Text-Format dargestellt, so dass die Werte „Property“, „New Value“ und „Old Value“ für jede Option untereinander dargestellt werden. Dieses ist für einen Vergleich etwas unhandlich.

Um dieses passend zu formatieren habe ich das folgende Skript mir geschrieben:

$Quelle = "C:\Intune_Profile_Activity_log\changelog.txt"
$Ziel = "C:\Intune_Profile_Activity_log\changelog_Merge.txt"
 
gcb > $Quelle
 
get-content $Quelle -readcount 3 | foreach  {$_ -join ";"} | out-file $Ziel
(Get-content $Ziel) -replace 'Property: ' | out-file $Ziel
(Get-content $Ziel) -replace 'Old Value: ' | out-file $Ziel
(Get-content $Ziel) -replace 'New Value: ' | out-file $Ziel

Die Daten werden direkt aus der Zwischenablage kopiert und verarbeitet. Somit werden die Daten per Semikolon getrennt in die Zieldatei geschrieben.

Powershell

RSAT-Installation unter Win10 Build 1809 per Powershell

Posted on 18. April 201918. April 2019 By Daniel Lensing Keine Kommentare zu RSAT-Installation unter Win10 Build 1809 per Powershell

Hier ist eine Auflistung der RSAT-Features, welche unter Windows 10 Build 1809 per Powershell installiert werden können

RSAT: Tools für Active Directory Domain Services und Lightweight Directory Services

Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

RSAT: Verwaltungshilfsprogramme für die BitLocker-Laufwerkverschlüsselung

Add-WindowsCapability -Online -Name Rsat.BitLocker.Recovery.Tools~~~~0.0.1.0

RSAT: Active Directory Certificate Services Tools

Add-WindowsCapability -Online -Name Rsat.CertificateServices.Tools~~~~0.0.1.0

RSAT: DHCP-Servertools

Add-WindowsCapability -Online -Name Rsat.DHCP.Tools~~~~0.0.1.0

RSAT: DNS-Servertools

Add-WindowsCapability -Online -Name Rsat.Dns.Tools~~~~0.0.1.0

RSAT: Failoverclustering-Tools

Add-WindowsCapability -Online -Name Rsat.FailoverCluster.Management.Tools~~~~0.0.1.0

RSAT: Tools für Dateidienste

Add-WindowsCapability -Online -Name Rsat.FileServices.Tools~~~~0.0.1.0

RSAT: Group Policy Management Tools

Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

RSAT: IP-Adressverwaltungsclient (IPAM)

Add-WindowsCapability -Online -Name Rsat.IPAM.Client.Tools~~~~0.0.1.0

RSAT: Data Center Bridging LLDP-Tools

Add-WindowsCapability -Online -Name Rsat.LLDP.Tools~~~~0.0.1.0

RSAT: Netzwerkcontroller-Verwaltungstools

Add-WindowsCapability -Online -Name Rsat.NetworkController.Tools~~~~0.0.1.0

RSAT: Tools für Netzwerklastenausgleich

Add-WindowsCapability -Online -Name Rsat.NetworkLoadBalancing.Tools~~~~0.0.1.0

RSAT: Tools für die Remotezugriffsverwaltung

Add-WindowsCapability -Online -Name Rsat.RemoteAccess.Management.Tools~~~~0.0.1.0

RSAT: Remote Desktop Services Tools

Add-WindowsCapability -Online -Name Rsat.RemoteDesktop.Services.Tools~~~~0.0.1.0

RSAT: Server-Manager

Add-WindowsCapability -Online -Name Rsat.ServerManager.Tools~~~~0.0.1.0

RSAT: Abgeschirmte VM-Tools

Add-WindowsCapability -Online -Name Rsat.Shielded.VM.Tools~~~~0.0.1.0

RSAT: Storage Migration Service Management-Tools

Add-WindowsCapability -Online -Name Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0

RSAT: Storage Replica Module for Windows PowerShell

Add-WindowsCapability -Online -Name Rsat.StorageReplica.Tools~~~~0.0.1.0

RSAT: System Insights-Modul für Windows PowerShell

Add-WindowsCapability -Online -Name Rsat.SystemInsights.Management.Tools~~~~0.0.1.0

RSAT: Volume Activation Tools

Add-WindowsCapability -Online -Name Rsat.VolumeActivation.Tools~~~~0.0.1.0

RSAT: Windows Server Update Services-Tools

Add-WindowsCapability -Online -Name Rsat.WSUS.Tools~~~~0.0.1.0
Powershell

E-Mail mit Anhang versenden über VBA & mit Signatur

Posted on 4. April 20194. April 2019 By Daniel Lensing 4 Kommentare zu E-Mail mit Anhang versenden über VBA & mit Signatur

Zu meinem Artikel „E-Mail mit Anhang versenden über VBA“ gab es gestern einen Kommentar.

In diesem wurde ein Problem aufgebracht, welches sich nicht ganz so einfach lösen lies. Es sollte eine Funktion genutzt werden, die seit Office 2013 nicht mehr zur Verfügung steht. Der Befehlsaufruf hätte die vordefinierte Signatur an das Ende der E-Mail gesetzt werden sollen. Dieses habe ich wie folgt gelöst:

Sub MailversandSignatur()
 
Dim sPath As String
Dim strUser As String
Dim strPfad As String
Dim strSignatur As String
Dim Body As String
Dim Nachricht As Object, OutlookApplication As Object
Set OutlookApplication = CreateObject("Outlook.Application")
Dim Anhang As String
Anhang = ThisWorkbook.FullName
Set Nachricht = OutlookApplication.CreateItem(0)
With Nachricht
.To = "testuser@testdomain.de"
.Subject = "Test"
.Attachments.Add Anhang
 
'Namen der Signatur definieren
strSignatur = "TestSignatur"
 
strUser = Environ("Userprofile")
strPfad = strUser & "\AppData\Roaming\Microsoft\Signatures\" & strSignatur & ".htm"
.htmlBody = "<html><body><p>Sehr geehrte Damen und Herren,</p><p>im Anhang erhalten Sie die Liste.</p><p></p>" & test(strPfad) & "</body></html>"
 
.Display
'.Mail.Send
 
End With
Set OutlookApplication = Nothing
Set Nachricht = Nothing
End Sub
 
 
Function test(sPath As String)
    test = CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath).ReadAll()
End Function

Ich lese die Signatur aus dem Standard-Ablagepfad in Form der gespeicherten HTML-Datei aus. Diese wird an das Ende des „HTMLBody“ der E-Mail angehangen.
Mit der Formatierung benötige ich die „SendKeys“-Methode nicht. Dieses wird in einigen Sicherheitsrelevanten Programmen wie Antiviren-Lösungen als problematisch deklariert.

Office, VBA

Powershell: Abfrage des AD-User-Passwortalters

Posted on 19. Februar 201919. Februar 2019 By Daniel Lensing Keine Kommentare zu Powershell: Abfrage des AD-User-Passwortalters

Im Rahmen einer Entstörung von AD-Benutzeraccounts benötigte ich die aktuelle Passwort-Daten beim Anruf der Benutzer. Dazu habe ich mir ein kleines Skript geschrieben. Dieses berücksichtigt die folgenden Szenarien:

  • AD-Benutzer gibt es nicht
  • AD-Benutzer ist deaktiviert
  • AD-Benutzer hat ein Ablaufdatum und dieses ist überschritten
  • AD-Benutzer muss sein Kennwort bei der nächsten Anmeldung ändern
  • AD-Benutzer hat keinen Passwort-Ablauf
  • AD-Benutzer ist gesperrt

Wenn dieses alles nicht zutrifft werden folgende 2 Definitionen zur Berechnung des Passwortalters herangezogen:

  • AD-Benutzer nutzt die Default Domain Policy
  • AD-Benutzer nutzt eine Fine-grained Password Policy
Import-Module ActiveDirectory -Force
 
If ($args)
{
$Userlogin = $args[0]
}
 
else
 
{
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
 
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Passwort-Display'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
 
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = 'OK'
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
 
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Point(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = 'Cancel'
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $CancelButton
$form.Controls.Add($CancelButton)
 
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Bitte sAMAccountName eingeben:'
$form.Controls.Add($label)
 
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(10,40)
$textBox.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($textBox)
 
$form.Topmost = $true
 
$form.Add_Shown({$textBox.Select()})
$result = $form.ShowDialog()
 
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
    $Userlogin = $textBox.Text
}
 
if ($result -eq [System.Windows.Forms.DialogResult]::Cancel)
{
    exit
}
 
}
 
$Usercheck = Get-Aduser -filter {samaccountname -eq $userlogin}
 
If ($usercheck -eq $NULL)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Der Benutzer existiert nicht.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
$employee = Get-AdUser $Userlogin -Properties enabled,PasswordNeverExpires,PasswordLastSet,Displayname,LockedOut,"msDS-UserPasswordExpiryTimeComputed",AccountExpirationDate
 
If ($employee.enabled -like "False")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer "+$employee.displayname+" ist deaktiviert","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If (($employee.AccountExpirationDate) -eq $null)
{
}
else
{
 
$Ablaufdatum = ((get-date) - ($employee.AccountExpirationDate))
$Ablauftage=$Ablaufdatum.days
 
If ($Ablauftage -gt "0")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+ "Ablaufdatum des Accounts: "+$employee.AccountExpirationDate,"User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
}
 
 
If ($employee.PasswordLastSet -eq $null)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Das Passwort des Accounts muss bei der nächsten Anmeldung geändert werden.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If ($employee.passwordneverexpires -like "True")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Das Passwort des Accounts läuft nicht ab.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If ($employee.LockedOut -like "True")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Der Account ist gesperrt.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
$FGPP=(Get-ADUserResultantPasswordPolicy $Userlogin)
 
If($fgpp.name -eq $null) 
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$expireDate=((Get-adUser($Userlogin) -Properties PassWordLastSet).PasswordLastSet + (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Ticks)
$daysleft=($expireDate-(get-date)).Days
 
if($daysleft-le "0")
 
{
$daysnegative =-$daysleft
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: Default Domain Policy `n`n"+"Das Passwort ist seit "+<span style="display: inline !important; float: none; background-color: transparent; color: #2b2b2b; cursor: text; font-family: 'Philosopher',sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">$daysnegative</span>+" Tagen abgelaufen. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Warning)
}
 
else{
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: Default Domain Policy `n`n"+"Das Passwort muss in "+$daysleft+" Tagen geändert werden. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Information)
}
exit
}
 
else{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$expireDate=((Get-adUser($Userlogin) -Properties PassWordLastSet).PasswordLastSet + (Get-ADUserResultantPasswordPolicy -Identity $Userlogin).MaxPasswordAge.Ticks)
$daysleft=($expireDate-(get-date)).Days
 
if($daysleft-le "0")
 
{
$daysnegative =-$daysleft
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: "+$fgpp.Name+" `n`n"+"Das Passwort ist seit "+$daysnegative+" Tagen abgelaufen. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Warning)
}
 
else{
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: "+$fgpp.Name+" `n`n"+"Das Passwort muss in "+$daysleft+" Tagen geändert werden. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Information)
}
exit

Damit die Daten ordnungsgemäß abgefragt werden können, benötigt der Ausführende die Leseberechtigungen auf den Container „Password Setting Objects“ im System-Ordner der Domäne.

Das Skript kann per GUI sowie per Skript gestartet werden.

Powershell

Office 64-Bit: Standard-Einstellung für O365

Posted on 3. Januar 20193. Januar 2019 By Daniel Lensing Keine Kommentare zu Office 64-Bit: Standard-Einstellung für O365

Im Admin-Center für Office 365 gibt es seit Weihnachten 2018 die folgende Information:

Office ProPlus and Office 2019 will now be installed with 64-bit as the default setting. Previously, the default setting was 32-bit at installation. This change will begin rolling out in mid-January, 2019.

After this change takes place, the 64-bit version of Office will automatically be installed unless you explicitly select the 32-bit version before beginning the installation process.

If you install the 64-bit version, but wanted the 32-bit version instead, you must first uninstall the 64-bit version before installing the 32-bit version. The same is true if you installed the 32-bit version but want to install the 64-bit.

Entsprechend kann es in Zukunft neue Herausforderungen geben. Man sollte vor der Installation prüfen, welche Edition man benötigt. Dafür bietet Microsoft eine wirklich gute Übersicht. Mit dieser kann das aktuelle Einsatzgebiet der Office-Suite übersehen werden. Daraus muss dann jeder einzelne seine Entscheidung auf die Bit-Version treffen.

In der Übersicht der Bit-Versionen stehen auch noch die Office-Version 2016, 2013 sowie 2010 zur Verfügung.

Office, Office 365, Patchday+Updates, VBA

PowerShell: DHCP-Leases exportieren

Posted on 18. Dezember 2018 By Daniel Lensing Keine Kommentare zu PowerShell: DHCP-Leases exportieren

Manchmal kann es Sinn ergeben, dass man die gezogenen Leases eines Servers ausgibt. Dieses ist mit einem kleinen Skript möglich:

Get-DHCPServerV4Scope 
| ForEach {
    Get-DHCPServerv4Lease -ScopeID $_.ScopeID
} 
| Select-Object IPAddress,HostName,ClientID,AddressState,LeaseExpiryTime 
| Export-Csv ".\$($env:COMPUTERNAME)-Reservations.csv" -NoTypeInformation

Dieses ist gedacht direkt auf dem Server aufgerufen zu werden. Dabei werden alle DHCP-Scopes berücksichtigt. Der Dateiname des Exports wird mit dem Servernamen als Start definiert.

Entsprechend werden aktive und inaktive Reservierungen neben den dynamisch verteilten IP-Adressen aufgelistet. Die aus dem jeweiligen Pool des Servers vergebenen Adressen werden inklusive dem Ablaufdatum ausgegeben.

 

Powershell

Powershell: Ausdrucke pro Drucker ermitteln

Posted on 6. Dezember 20186. Dezember 2018 By Daniel Lensing Keine Kommentare zu Powershell: Ausdrucke pro Drucker ermitteln

Vor einer Umstellung oder auch einer Abschaltung eines Druckservers kann ein Audit der Druckdaten sinnvoll sein. Dabei wird ermittelt das Skript in den Parametern eines Zeitfensters, welcher Drucker wieviel Druckaufträge verarbeitet hat.

$Startzeit = "24.11.2018 00:00:00"
$Endzeit = "24.11.2018 23:59:59"
 
$ZentralDatei ="E:\Audit\Zentraldatei.csv"
$Auswertung ="E:\Audit\Auswertung.csv"
 
$Druckerliste = @()
 
$Resultate = Get-WinEvent -FilterHashTable @{LogName="Microsoft-Windows-PrintService/Operational"; ID=307; StartTime=$Startzeit; EndTime=$Endzeit;}
 
ForEach($Resultat in $Resultate){
  $Datensatz = [xml]$Resultat.ToXml()
  $DatenDetails = New-Object -TypeName psobject -Property @{
 
      Druckername = $Datensatz.Event.UserData.DocumentPrinted.Param5
      Zeitstempel = $Resultat.TimeCreated
 
      }
    $Druckerliste += $DatenDetails
  }
 
 
$Druckerliste | Export-Csv -LiteralPath $ZentralDatei -NoTypeInformation
 
 
Import-Csv $ZentralDatei | Group-Object Druckername | Select-Object Name, Count | Sort-Object -Property name | Export-csv $Auswertung -NoTypeInformation

Das eingesetzte CMDlet „Get-WinEvent“ steht seit Windows Server 2008 R2 und späteren Betriebssystemen zur Verfügung.

Um die Daten zu erhalten, muss allerdings in der Ereignisanzeige das Log für „Microsoft \ Windows \ Printservices \ Operational“ aktiviert worden sein. Dieses sollte auch vorzeitig durchgeführt worden sein, um längere Zeiträume zu überwachen. Die Daten können nicht rückwirkend erstellt werden. Anbei die schnelle Umsetzung per PowerShell-Aufruf:

$EventLogging = Get-WinEvent -ListLog 'Microsoft-Windows-PrintService/Operational'
$EventLogging.IsEnabled = $true
$EventLogging.MaximumSizeInBytes = 1000000
$Eventlogging.LogMode = "Circular"
$EventLogging.SaveChanges()

Mit diesem Befehlssatz wird das erforderliche Eintrag in der Ereignisanzeige aktiviert. Dabei wird ein 1 GigaByte großes Log erstellt. Wenn der Schwellwert erreicht ist, wird beim Hinzufügen eines neuen Ereignisses das Älteste entfernt.

In der Datei „Auswertung.csv“ stehen dann die Druckernamen sowie die Anzahl der Ausdrucke im Zeitraum ausgedruckt wurden.

Powershell, Windows Server

Seitennummerierung der Beiträge

Vorherige 1 … 4 5 6 … 14 Nächste

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Allgemein (1)
  • Client (235)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (60)
    • Windows 11 (21)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (57)
    • Auto (18)
    • Bahn (18)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (204)
    • #t2dhero (53)
    • Arbeitszimmer (31)
    • Audio (20)
    • Film / Kino (7)
    • Gedanken (79)
    • Gesundheit (33)
    • Internet (5)
    • Lebensmittel & Essen (22)
    • Lesestoff (18)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (325)
    • Android-Apps (27)
    • Eigene Tools (12)
    • iOS-Apps (6)
    • Office (86)
    • Patchday+Updates (74)
    • Software (150)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (92)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (61)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (159)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (18)
    • Windows Server 2022 (15)
    • Windows Server 2025 (8)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme