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 – Metformin
    • IVOM – Präzise Medikamentengabe ins Auge
      • Medikament – Eylea (Aflibercept)
      • Medikament – Lucentis (Ranibizumab )
      • Medikament – Vabysmo (Faricimab)
    • Medikament – Forxiga (Dapagliflozin)
  • Disclaimer
  • Toggle search form

Kategorie: Programmierung

Powershell: AD-Gruppenmitglieder exportieren

Posted on 1. März 201619. November 2020 By Daniel Lensing Keine Kommentare zu Powershell: AD-Gruppenmitglieder exportieren

Manchmal benötigt man zum Beispiel E-Mail-Adressen, Anschriften, Loginskripte oder weitere Attribute von Mitgliedern einer Active Directory-Gruppe. Dieses ist mit einem unkompliziertem Skript sehr schnell umgesetzt.

import-module activedirectory
$groupname = $args[0]
$Domaincontroller = "dc1.domain.local"
$parameter = 'name', 'mail', 'samaccountname'
 
$Gruppe = Get-ADGroupMember $groupname -server $Domaincontroller | Select distinguishedName
$Gruppe | ForEach { Get-ADUser $_.distinguishedName -server $Domaincontroller -Properties * | Select-object $parameter } | export-csv E:\Reports\$groupname.csv -notypeinformation -encoding UTF8

Entsprechend wird anhand des Gruppennamens eine Datei mit den Attributen aus der Variable „$parameter“ erstellt. Entsprechend können auch mehrere Gruppen als Befehlsblock abgesetzt werden.

Während dieses Skript eher für Massenabfragen erstellt wurde, gibt es einen neuen Artikel mit einer Mini-GUI für Abfragen durch IT-Verantwortliche.

Powershell

Telefonliste aus Outlook in Excel exportieren

Posted on 21. November 20155. Dezember 2015 By Daniel Lensing Keine Kommentare zu Telefonliste aus Outlook in Excel exportieren

Über Twitter gab es die Anfrage, ob man nicht eine Telefonliste untereinander darstellen könne. Der Standardexport sieht nur den Export eine Kontaktes pro Zeile vor. Leere Felder werden ebenfalls dargestellt.

Anbei der VBA-Code für das Outlook-Makro:

Sub Telefonliste()
On Error Resume Next
 
Const olFolderContacts = 10
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
 
Set colContacts = objNamespace.GetDefaultFolder(olFolderContacts).Items
 
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
 
objExcel.Cells(1, 1) = "Name"
objExcel.Cells(1, 2) = "Telefonummer"
 
I = 2
 
For Each ObjContact In colContacts
If Not ObjContact.BusinessTelephoneNumber = "" Then
objExcel.Cells(I, 1).Value = ObjContact.FullName
objExcel.Cells(I, 2).Value = ObjContact.BusinessTelephoneNumber
I = I + 1
End If
 
If Not ObjContact.MobileTelephoneNumber = "" Then
objExcel.Cells(I, 1).Value = ObjContact.FullName
objExcel.Cells(I, 2).Value = ObjContact.MobileTelephoneNumber
I = I + 1
End If
 
If Not ObjContact.HomeTelephoneNumber = "" Then
objExcel.Cells(I, 1).Value = ObjContact.FullName
objExcel.Cells(I, 2).Value = ObjContact.HomeTelephoneNumber
I = I + 1
End If
Next
 
Set objRange = objWorksheet.UsedRange
objRange.EntireColumn.Autofit
End Sub

Büronummer, Mobilnummer & private Nummer werden berücksichtigt.

Office, VBA

Auslesen von Subnetzen aus AD-Sites

Posted on 19. November 201527. Februar 2016 By Daniel Lensing Keine Kommentare zu Auslesen von Subnetzen aus AD-Sites

Für eine Fehleranalyse benötigte ich die eine Auflistung der konfigurierten Subnetze der definierten AD-Sites. Eine manuelle Prüfung war aufgrund mehrerer definierter Sites einfach unpraktisch.

Bei meiner Recherche fand ich das folgende Skript:

$forestInformation = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
foreach($site in $forestInformation.Sites | Sort-Object -property Name) {
Write-Output $site.Name
Write-Output ("-" * ($site.Name).Length)
foreach($subnet in $site.Subnets | Sort-Object) {
Write-Output "`t$subnet"}
Write-Output ""
}

Diesen habe ich aus folgender Quelle: hier

Powershell, Windows Server 2012

Einfache ODBC-Datenanzeige in DataGrid per Visual Basic

Posted on 8. Juli 201517. Juli 2015 By Daniel Lensing Keine Kommentare zu Einfache ODBC-Datenanzeige in DataGrid per Visual Basic

Für ein größeres Projekt musste ich testen, wie einfach ich Abfragen an eine ODBC-Datenbank erstellen kann. Dabei ist bei der „Fingerübung“ der folgende Code entstanden

Dim str As String = "DSN=ODBC−ConName;uid="loginsuser";pwd="loginpassword";"
Dim con As New OdbcConnection(str)
Dim com As String = "Select Name, Domain from dbo.Clients"
Dim Adpt As New OdbcDataAdapter(com, con)
Dim ds As New DataSet()
Adpt.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)

Es müssen die Verbindungsdaten definiert werden. Diese können natürlich auch per Comboboxen oder Textboxen ersetzt werden, damit die Ausführung unter den jeweiligen Benutzerdaten des indiviuellen Anwenders ausgeführt werden. In diesem Fallbeispiel wird die Tabelle „dbo.Clients“ mit den Spalten „Name“ & „Domain“ abgefragt.

Dieser Aufruf dient einfach nur zur Anzeige. Man sollte nur überlegen, in wie weit man über das DataGrid auch Änderungen vornehmen soll. Ansonsten wäre es die sicherere Alternative dieses über die Eigenschaften des Objektes zu verbieten.

VB.NET

Programmstart mit anderen Benutzerdaten per AutoIT

Posted on 7. Juli 20156. Juli 2015 By Daniel Lensing Keine Kommentare zu Programmstart mit anderen Benutzerdaten per AutoIT

Im Rahmen von Projekten oder auch im Alltag gibt es Situationen, wo es Sinn machen kann, dass ein Anwender mit anderen Benutzerdaten eine Authentifizierung machen kann. In diesem kleinen Beispiel wird der „Druckdienst“ gestoppt und das System nach spätestens 60 Sekunden durchgestartet werden.

#include <MsgBoxConstants.au3>
#include <Process.au3>
 
RunAsWait( "user_stopservice", "domain.local", "securePassword", 0, @ComSpec & " /c " & 'net stop spooler', "", @SW_HIDE)
MsgBox($MB_SYSTEMMODAL, "Neustart erforderlich", "Ein Neustart wird in 60 Sekunden durchgeführt.", 60)
shutdown(6)

Somit kann man für kleine Themen einen Anwender mit erweiterten Berechtigungen ausstatten ohne im gleichen Atemzug ihm weitreichende Berechtigungen im System zu vergeben. Dieser Ansatz kann zum Beispiel auch für Installationen von Software oder andere Routinen verwendet werden.
Durch den Befehl „RunAsWait“ wird auf die Ausführung des Skriptes gewartet, was einen sicheren Übergang bei mehreren Zeilen Programmaufrufen gewährleistet.

AutoIT

Listen schnell formatieren per Makro in Excel

Posted on 27. Mai 201527. Mai 2015 By Daniel Lensing Keine Kommentare zu Listen schnell formatieren per Makro in Excel

Häufiger muss ich Auswertung, Listen oder Planungen in Excel lesen. Manche importiere ich auch aus CSV, Text-Dateien oder gar per ODBC-Verbindung. Bei entsprechenden Datenmengen und aufgrund der Übersichtlichkeit formatiere ich mir diese Tabellen gerne. Ich wurde nun gefragt, wie ich dieses entsprechend schnell durchführe und gerne hinterlege ich hier die vba-Zeilen.

Autofilter auf Zeile 1 setzen:

Range("A1").Select
Selection.AutoFilter
Application.ScreenUpdating =&nbsp;True

Zeile 1 fixieren:

    With ActiveWindow
        .FreezePanes = False
        .SplitColumn = 0
        .SplitRow = 1
        .FreezePanes = True
    End With

Zeilen farblich trennen:

Dim z As Integer
    Dim sp As Integer
    Dim s As Integer
 
    sp = Range("IV1").End(xlToLeft).Column + 1
    z = Range("A65536").End(xlUp).Row + 1
 
    With Range("A1", Chr(63 + sp) & 1)
        .Font.Bold = True
        .EntireColumn.AutoFit
        .Interior.ColorIndex = 15
        .Interior.Pattern = xlSolid
    End With
 
    For s = 3 To z - 1 Step 2
    With Range("A" & s, Chr(63 + sp) & s)
     .Interior.ColorIndex = 37
     .Interior.Pattern = xlSolid                                               '
    End With
    Next s

Diese Funktionen nutze ich in einem Makro gemeinsam und entsprechend habe ich mit einem Klick eine schnell formatierte Tabelle.

Office, VBA

NTFS-Berechtigung anhand Ordnernamen mit Namensanhang setzen

Posted on 13. Mai 201513. Dezember 2017 By Daniel Lensing 2 Kommentare zu NTFS-Berechtigung anhand Ordnernamen mit Namensanhang setzen

Einen Artikel mit ähnlichem Namen habe ich bereits am Montag veröffentlicht. Darauf bekam ich eine Anfrage, dass es Applikationen gibt, welche einen Anhang an den Namen anhängen. Dieses kann zum Beispiel ein Domänenname wie „.domain sein oder eine Versionierung wie „.V2“.

Um dieses zu lösen muss das Skript nur minimal angepasst werden

$Startordner= "Y:"
$Domäne = "domain.local"
 
foreach($personalfolder in (get−childitem $Startordner| where {$_.psiscontainer −eq $true}))
 
{
 
$acl= Get−acl ($Startordner + $personalfolder)
 
$userlogin = $personalfolder.Name.split('.')[0]
$user = $Domäne + "\" + $userlogin
$permission = $user,"FullControl","ContainerInherit, ObjectInherit","None","Allow"
$accessRule = New−Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
 
$acl | Set−Acl ($Startordner + $personalfolder)
 
}

Nun wird durch die Splittung und Selektierung des ersten Teils der Ordnerbezeichnung dieser als Vorlage für den Ordnernamen verwandt.

Powershell

Seitennummerierung der Beiträge

Vorherige 1 … 8 9 10 … 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 (245)
    • Android (8)
    • Fedora (Linux) (5)
    • iOS (6)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (63)
    • Windows 11 (31)
    • 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 (59)
    • Auto (19)
    • Bahn (19)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (15)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (219)
    • #t2dhero (60)
    • Arbeitszimmer (39)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (81)
    • Gesundheit (39)
    • Internet (7)
    • Lebensmittel & Essen (23)
    • Lesestoff (21)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (50)
    • Forschung (2)
    • Konferenzen (3)
    • Lehre (1)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (334)
    • Android-Apps (28)
    • Eigene Tools (13)
    • iOS-Apps (7)
    • Office (89)
    • Patchday+Updates (77)
    • Software (155)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (97)
    • AutoIT (2)
    • KiXtart (2)
    • PHP (3)
    • Power Automate (1)
    • Powershell (66)
    • VB.NET (11)
    • VBA (10)
    • VBS (10)
  • Server (165)
    • Citrix XenServer (2)
    • Exchange Server (27)
    • 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 (22)
    • Windows Server 2022 (21)
    • Windows Server 2025 (14)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (37)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (10)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2026 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme