Powershell : New-SmbShare "no mapping between account and sid"

Ich musste heute in einem größeren Skript mehrere Folder anlegen und diese auf AD Gruppen berechtigen.
Die NTFS Rechte waren kein Problem jedoch die Rechte auf die Freigabe haben leider nicht geklappt.
Ich hab immer nur diese Fehlermeldung erhalten.

no mapping between account names and security IDs was done

Wenn ich jedoch den Befehl direkt in der Powershell eingegeben hat alles geklappt.
New-SmbShare -Path D:\DEMO_PFAD -Name Demo -ChangeAccess Group1,Group2,Group3,Group4 -FullAccess AdminGroup
also kann ja hier nur ein Problem mit der Bulk Verarbeitung vorliegen. Nach etwas basteln bin ich dann auf diese Lösung gekommen.
# create Share
$smbpath = 'D:\DEMO_PFAD'
$smbname = 'DEMO'
New-SmbShare -Path $smbpath -Name $smbname -FullAccess AdminGroup
$Groups = @()
$Groups += 'Group1'
$Groups += 'Group2'
$Groups += 'Group3'
$Groups += 'Group4'
# grant change permission on share
foreach ($Group in $Groups)
{
    Grant-SmbShareAccess -Name $smbname -AccountName $Group -AccessRight Change -Force
}


Quelle :
https://docs.microsoft.com/en-us/powershell/module/smbshare/new-smbshare?view=windowsserver2019-ps
https://docs.microsoft.com/en-us/powershell/module/smbshare/grant-smbshareaccess?view=windowsserver2019-ps

AWS : Windows Remote Desktop - Zugriff nicht möglich

Wir hatten hier das Problem das die RDP Session nicht mehr zu starten ist.

Es ist immer dieser Fehler aufgetreten.

RDP internal error

Die Maschinen laufen in der AWS und leider war der Session Manager auch noch nicht am Start. z.G. war auf der Maschine der SSM-Agent bereits installiert, wenn nicht kann man das so erledigen, natürlich bevor RDP kaputt ist ;-) (Install SSM Agent on Windows)

Die Maschine muss natürlich in SSM aufgeführt sein. Sollte das nicht der Fall sein einfach mal überprüfen ob die richtigen IAM Rollen auf den Maschinen angewendet werden. Für eine schnelle Fehlerbehebung hatte ich kurzfristig SSMFullAccess verwendet.

IAM Policy
Jetzt startet man den AWS System Manager und führt dort das Dokument "AWS-RunPowerShellScript" gegen die kaputte Maschine aus.


Unter Run a command kann man im Feld Command parameters kann man ein Powershell Script rein werfen das gegen die Maschine läuft.


hier das skript
$AllCertificates = (Get-ChildItem -Path 'Cert:\LocalMachine\My' |
Where-Object -FilterScript {
$_.Subject -Match $env:Computername } |
Select-Object Thumbprint, Subject, NotBefore, NotAfter, Issuer |
Sort-Object -Property NotAfter -Descending)
foreach ($Cert in $AllCertificates)
{
Write-Output $Cert
}


Alle folgenden Skript werden nach dem selben Muster ausgeführt.

1.) Auslesen des Zertifikates
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"
unter SSLCertificateSHA1Hash steht der Thumbprint

2.) Setzen des Zertifikates
$RDPGeneralSettings = (Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'")
Set-WmiInstance -path $RDPGeneralSettings.__path -argument @{SSLCertificateSHA1Hash = "NEUER THUMBPRINT"}

3.) Restart des RDP Dienstes
Restart-Service -Name TermService -force

Kurz noch zur Erklärung , mit diesem Powershell hab ich mir die Events angeschaut die mich auf die richtige Fährte gebracht haben.
Get-EventLog -LogName System -After 6/9/2021 -Before 9/9/2021 -EntryType Error | Format-List

Check_MK : Quotas überwachen auf einem Windows Server 2019

Ich hatte ja schon mal einen lokalen Check geschrieben der das ganze mit VBS monitored, jetzt hab ich das alles mal in Powershell übersetzt um auch einen Windows 2019 Server sauber überwachen zu können.


Hier gehts zum Repo : https://github.com/Mokkujin/Checks-for-Check_MK/tree/main/FSRM-Quotas

Exchange Online : Dynamische Aliase :-)

Erstmal danke an den Ex GSuite User (RM) der mich auf diese Funktion gestoßen hat. Mir selbst war die bis heute nicht bekannt .... Asche über mein Haupt ;-)

Diese Funktion ermöglicht es das die User dynamische Aliase verwenden. WTF ? Das bedeutet der Benutzer lässt sich an die Adresse <EMAIL>+<tag>@domain anschreiben die Mail selbst kommt dann normal bei dem User an. Das kann man natürlich herllich dazu verwenden um z.B. die Mailkommunikation mit bestimmten Kunden zu kanalisieren.

Per Default ist diese Funktion im Office 365 Tenant deaktiviert. Um diese zu aktivieren reicht ein
Set-OrganizationConfig -AllowPlusAddressInRecipients $true
nachdem ein Exchange Online Connect erfolgt ist. Das habe ich HIER erklärt


Quelle :
https://docs.microsoft.com/en-us/exchange/recipients-in-exchange-online/plus-addressing-in-exchange-online

Active Directory : E-Mail Alias über Powershell setzen

Auslesen der vorhanden E-Mail Aliase eines Users. SamAccountName muss natürlich duch einen echten ersetzt werden :-)
Get-AdUser -Identity 'SamAccountName' -Properties ProxyAddresses | select Name -ExpandProperty ProxyAddresses
Setzen eines zusätzlichen E-Mail Alias. SamAccountName muss natürlich duch einen echten ersetzt werden :-)
Set-ADUser -Identity 'SamAccountName' -add @{ProxyAddresses="smtp:alias1@domain,smtp:alias2@domain" -split ","}
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)