Schlagwort-Archive: PowerShell Framework

PowerShell ist ein plattformübergreifendes Framework und Skriptsprache von Microsoft zur Automatisierung, Konfiguration und Verwaltung von Systemen.

WinStat user status

Active Directory User Status anzeigen

Mit PowerShell Scripts behelfen sich Admins bei der Verwaltung und Wartung, oft werden Informationen über die gerade authentifizierte Verbindung benötigt, wie die SID des Benutzers oder der DN (Distinguished Name) beispielsweise für die LDAP (Lightweight Directory Access) Konfiguration.

WinStat.ps1 erzeugt die Ausgabe für die Attribute:

  • Windows Version Build Number
  • Benutzer Login Status
  • Distinguished Name
  • Benutzer Prinzipal und SID
  • Computer Name
  • AD Domain Name
  • Benutzerprofil Roaming Pfad
  • Benutzerprofil Lokaler Pfad
  • Anmelde Server
  • IP und MAC Adresse
$windows = [PSCustomObject]@{
	Caption = (Get-WmiObject -Class Win32_OperatingSystem).Caption
	Version = [Environment]::OSVersion.Version
	User = [Environment]::UserName
	Domain = [Environment]::UserDomainName
	Machine = [Environment]::MachineName
}
Write-Host ""
$winver = "{0}  ({1})" -f $windows.Caption, $windows.Version
$winver
try {
    (Get-ADUser $env:USERNAME)
}
catch {
    Write-Warning "User could not be found because Active Directory does not exist."
}
$user = "Logged On $(get-date) as $((Get-Item env:\username).Value) on computer $((Get-Item env:\Computername).Value)"
$user
Write-Host "
User           : $env:USERNAME
SID            : $env:USERSID
Home path      : $env:HOMEPATH
Computer       : $env:COMPUTERNAME
AD Domain      : $env:USERDOMAIN
Roamingprofile : $env:USERDOMAIN_ROAMINGPROFILE
Userprofile    : $env:USERPROFILE
LogonServer    : $env:LOGONSERVER
"
(Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'True'" -ComputerName $windows.Machine | Select PSComputername,
    @{Name = "IPAddress";Expression = {
    [regex]$ipv4 = "(\d{1,3}(\.?)){4}"
    $ipv4.matches($_.IPAddress).Value}},MACAddress)
$ipv4

Aufruf in der PowerShell aus dem Ordner Downloads:

powershell.exe -command "& ""%USERPROFILE%\Downloads\WinStat.ps1"""

Release Update und Bugfix auf Github

Visual Studio PowerShell Hands-on

In PowerShell entwickeln mit Visual Studio

Visual Studio 2017 unterstützt die Programmierung in mehreren Sprachen, im Build-in ist Visual C#, C/C++ und F#. Weitere Sprachen wie JavaScript oder Python können nachgeladen werden. Möchte man mit PowerShell Scripte arbeiten, benötigt man die PowerShell-Tools, diese können über den Visual Studio Installer (vs_installer.exe) hinzugefügt werden, über den VS Installer kann die Arbeitsumgebung nach der Installation angepasst werden, einzelne Komponenten können hinzugefügt oder entfernt werden.

PowerShell Codetools

Um die PowerShell Codetools zu laden geht man im Installer auf das Menu Einzelne Komponenten und zum Abschnitt Codetools, aktiviert PowerShell-Tools und klickt auf ändern.

Visual Studio PowerShell

Nach dem hinzufügen der PowerShell-Tools können Scripte mit F5 im Debugger ausgeführt werden.

Anmerkung

Visual Studio ist eine von Microsoft angebotene integrierte Entwicklungsumgebung für verschiedene Programmiersprachen.

Programmiersprachen

Die aktuelle Version für Windows (Visual Studio 2022) unterstützt Visual Basic .NET, C, C++, C++/CLI, C++/CX, C#, F#, SQL Server, TypeScript und Python sowie HTML, JavaScript und CSS für die Entwicklung von Webanwendungen, Windows-Desktop- und Windows-Store-Apps. Visual Studio ermöglicht es Programmierern, sowohl native Win32/Win64-Programme als auch Anwendungen für das .NET Framework zu entwickeln. Darüber hinaus lassen sich mit Visual Studio Windows-Apps, dynamische Webseiten bzw. Webservices für das Internet/Intranet oder Azure-Services entwickeln. Ein weiterer Schwerpunkt liegt in der Entwicklung von mobilen Apps für Windows Phone, Android und iOS mit durch Xamarin bereitgestellten Tools.

Entwicklungsumgebung

Visual Studio gilt als komfortable Entwicklungsumgebung mit vielen Funktionen. Der Editor unterstützt z. B. eine von der Cursorposition abhängige Online-Hilfe, das Ein- und Ausblenden von Codeblöcken, farbliche Hervorhebung von Schlüsselwörtern, automatische Syntaxprüfung und IntelliSense, die automatische Methoden- und Funktionsergänzung während der Quelltext-Eingabe. Des Weiteren bietet die Entwicklungsumgebung grafische Schnittstellen zur Einbindung von Webservices, ActiveX- und .NET-Bibliotheken, einen „Server-Explorer“ zum Zugriff auf Datenquellen wie z. B. Microsoft SQL Server, den Windows-Nachrichtendienst oder WMI, sowie WYSIWYG-Editoren zur Entwicklung der Benutzeroberfläche von Windows- und Web-Anwendungen, zur Bearbeitung von Icons und von XML-Dokumenten.