Skip to content

Instantly share code, notes, and snippets.

@ludwigschuster
Last active August 21, 2018 08:58
Show Gist options
  • Save ludwigschuster/eaf7fc8d50f14214fb736457792d4164 to your computer and use it in GitHub Desktop.
Save ludwigschuster/eaf7fc8d50f14214fb736457792d4164 to your computer and use it in GitHub Desktop.

Powershell

Active-Directory

Powershell-Befehl Was macht das
Get-ADUser -Filter "DisplayName -like 'Schuster'" -Properties * | Select-Object Name, EmailAddress, DisplayName | ft Teile des Namens sind bekannt, wie ist der vollständige Name?
Get-ADPrincipalGroupMembership lschuster | Select-Object Name In welchen Gruppen ist der Benutzer?
Get-ADGroupMember "de-dl its netpat admins" | Select-Object Name Wer ist in dieser Gruppe?
Get-ADGroupMember "de-dl its alle" | Get-ADUser -Filter "physicalDeliveryOfficeName -like 'Schelling'" -Properties * | Select-Object DisplayName, EmailAddress | ft Wer sitzt in der SchellingStraße?
Get-ADUser lschusterad -Properties * | Select-Object LockedOut Ist Kollege X bereits gesperrt, oder hat er sich nur beim Passwort vertippt?
Get-ADUser -Filter "EmployeeID -like '5626'" -Properties * | Select-Object DisplayName, EmailAdress | ft Wer gehört zu dieser Personalnummer?
Get-ADGroupMember -Identity "de-sg kpmg tfs users" -Recursive | Measure-Object Wieviele Kollegen sind in dieser Gruppe?

SystemVariablen setzen:

Alle Environments listen: Get-ChildItem Env:XXX Um nach einer bestimmten Capabilitie zu suchen reicht ein Get-Item Env:XXX Eine System-Variable kann mit eingetragen [System.Environment]::SetEnvironmentVariable("KOSMOS", "true", "Machine") werden. Zum Entfernen kann mit Remove-item env:XXX die Variable wieder entfernt werden.

Datei Hashes prüfen

Mit Get-FileHash C:\pfad_zur_datei kann der Hash-Wert einer Datei ermittelt werden. Die Powershell kann auch automatisch prüfen, Die Prüfung ist dann erfolgreich, wenn keine Rückgabe erfolgt. Für die Datei sonarqube-6.7.zip und die md5 Datei sonarqube-6.7.zip.md5 sieht das wie folgt aus. Compare-Object -ReferenceObject $(Get-FileHash .\sonarqube-6.7.zip -Algorithm md5|Select-Object -ExpandProperty Hash) -DifferenceObject $(cat .\sonarqube-6.7.zip.md5) Falls man den HASH direkt zum kopieren vorliegen hat, geht das auch ganz einfach direkt. Compare-Object -ReferenceObject $(Get-FileHash .\sonarqube-6.7.zip -Algorithm md5|Select-Object -ExpandProperty Hash) -DifferenceObject F117E80A264EDA3D7C9D2EB4B73617BB

Copy Item to Session

copy-item fliegt auf die Schnauze beim rekursiven Kopieren von Verzeichnisbäumen mit tosession wenn das Quellverzeichnis eine eckige Klammer enthält. Beispiel Verzeichnisbaum: .\test[Verzeichnis] .\test[Verzeichnis]\test.txt

Resultat beim kopieren:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   + CategoryInfo          : NotSpecified: (:) [Write-Error], UnauthorizedAccessException
   + FullyQualifiedErrorId : System.UnauthorizedAccessException,PSCopyFileToRemoteSession

Ich wollte einen Bugreport aufmachen, hab aber erstmal noch gegoogelt. Das Problem ist seit Jahren bekannt und wird nicht gefixt.

Einzig sinnvolle Lösung, Verzeichnisbaum zippen.

Compress-Archive -Path '.\test(+)`[`]\' testcopy.zip -CompressionLevel Fastest
Copy-Item .\testcopy.zip 'c:\temp\' -Recurse -ToSession $session
Invoke-Command -Session -ScriptBlock { Expand-Archive -Path c:\temp\testcopy.zip -DestinationPath c:\temp }

Ich würde das als generelles Vorgehen beim kopieren empfehlen. Geht sowieso viel schneller

Links

[Powershell MSSQL (T-SQL)] (http://mikefrobbins.com/2014/04/24/getting-started-with-administering-and-managing-microsoft-sql-server-with-powershell/)

[Get List of Features] (http://blog.technotesdesk.com/windows-server-2012-retrieving-a-list-of-installed-roles-and-features)

[Install Features:] (http://geekswithblogs.net/Wchrabaszcz/archive/2013/09/04/how-to-install-windows-server-features-using-powershell--server.aspx)

[SonarQube Plugin] (http://www.kodelog.com/coding-custom-sonarqube-plugin/)

[Sonar Qube Api] (https://docs.sonarqube.org/display/SONARQUBE43/Web+Service+API) bzw [hier] (https://docs.sonarqube.org/display/DEV/Web+API#WebAPI-Noteaboutapi/permissions)

[WindowsCredential] (http://www.thewindowsclub.com/stored-user-names-and-passwords-windows)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment