Jump to content

daabm

Expert Member
  • Gesamte Inhalte

    5.554
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von daabm

  1. Was da drauf ist, ist glaub nur noch von ideellem Wert - ersetze den Aufkleber, nachschauen kann mangels Lesegerät eh keiner 😂
  2. Damit hast Du eine der größten Hürden der "selbstgelernten IT" genommen - die Erkenntnis der eigenen Fehlbarkeit 😂😘 Viele bleiben da lange stecken...
  3. daabm

    Letzter macht das Licht aus 2

    Zentralpraxis Vlad, Transsilvanien?
  4. In kurz aus dem Gedächtnis: $ADUser | Select-Object -Property Name, @{ Name="Mitgliedschaften"; Expression={ $_.MemberOf -Join "`r`n" }} https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_calculated_properties?view=powershell-7.4
  5. Geht schon, wenn man sich festlegt, wie das im CSV dann entahalten sein soll. Kann man mit calculated properties bei Select-Object recht einfach lösen.
  6. Aber bitte mit Write-Irgendwas davor (und Klammern um den Ausgabetext) und nicht einfach in die Pipe schieben (Nur so aus Gewohnheit...)
  7. WSH-Objekte schmeißen eine Terminating Exception - bei mir zumindest: Try { $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$env:temp\Blubb\Scans.lnk") $Shortcut.TargetPath = "\\fs1\scan2file\$user" $Shortcut.Save() } Catch { $MyError = $_ Write-Host "Message: $( $MyError.Exception.Message )" Write-Host "HResult: $( $MyError.Exception.HResult )" } Was Du mit dem HResult anfängst, bleibt dann Dir überlassen
  8. Jedes NAS bringt mit Samba eine "Art" Active Directory mit. Für ne Handvoll MA ohne große Verfügbarkeitsansprüche reicht das. Scale-Out ist aber nicht möglich, DHCP/DNS mit AD-Integration auch nicht und echtes Multi-Master wie in einem AD mit mehreren DCs gibt es auch nicht. Ich bin bei @Nobbyaushb - ne Anfangsberatung wäre nicht falsch. Was da am Ende rauskommt, würde ich mal "technologieoffen" 😁 lassen.
  9. Ich stelle mir spontan die Frage, ob das überhaupt ein "Server" mit "Windows" sein muß . Vom Profil her - alles, was ich lese, deckt jedes bessere Home-NAS locker ab. Inkl. SMB1 und SAMBA als Minimal-AD-Ersatz.
  10. Hm - mein Bauchgefühl sagt, daß da das Datenmodell "nicht optimal" ist (man könnte auch flapsig sagen #grütze), aber wer bin ich, daß ich das remote beurteilen könnte
  11. XML hat per se kein "Eintrag bereits vorhanden", es gibt keinen "Primary Key", der eindeutig sein muß. "Duplikate" sind explizit nicht verboten. So gesehen mußt Du das so lösen Und falls Du mal wieder so ein Problem hast: Ohne Sample Data ist da schwer zu helfen. Ich verstehe z.B. nicht, was Du meinst mit
  12. GPO. Siehe Link oben - seDenyXYZright.
  13. Das regelt man aber bitte nicht über "allowed to logon" in den Accounteinstellungen, sondern über passende Gruppen und seDenyInteractiveLogonPrivilege (bzw. wenn die Umgebung vom Grundsatz her eh keine Anmeldung erlaubt - was auf Dauer einfacher ist - über seInteractiveLogonPrivilege).
  14. Nachdem Ihr jetzt schon viel diskutiert habt, werfe ich noch "scope" in den Raum und [ref]. Ich glaube, jede Suchmaschine liefert passende vertiefende Hinweise @testperson Mein Monk achtet peinlichst darauf, die Pipeline sauber zu halte vor unbeabsichtigtem Inhalt, macht es wie @cj_berlin und gibt einfach das Ergebnis "aus", womit es in ebenjener Pipeline und damit im Return des aufrufenden Scope landet. "Return" hilft da nicht - alles was unbeabsichtigt in der Pipeline gelandet ist, wird ebenso zurückgegeben. @Dukel Das mit dem Scope gilt auch für Funktionen - jede "Hauptfunktion" kann ihre eigene Childversion von "Kind{}" haben. Macht es im Zweifel nicht einfacher, ist aber manchmal durchaus hilfreich, weil importierte Funktionen nicht die eigenen stören können.
  15. seServiceLogonRight, seDenyInteractiveLogonRight und seDenyRemoteInteractiveLogonRight sind die Rechte, auf die es hier ankommt Mit den Accounteinstellungen sollte man da gar nicht erst anfangen. Zum Einlesen: https://evilgpo.blogspot.com/2015/04/wer-bin-ich-und-was-darf-ich.html Und nein, so eine "Checkbox" gab es nie.
  16. daabm

    Letzter macht das Licht aus 2

    Schön ist relativ Nachdem die Bremsen gepflegt wurden, brauch ich ne neue Frontschürze (selbst verschuldet ein Stück abgerissen). Die spinnen, die Autohersteller...
  17. Zum einen installieren wir alle unsere Server schon seit über 10 Jahren als rein englische Basisinstallation - für Kundensysteme kommt das deutsche LP noch drauf. Zum anderen bin ich in solchen Momenten echt froh, daß wir ein Konzern sind und ich mich auf meine AD-Insel zurückziehen kann. Mit OS-Patches habe ich nichts zu tun (außer privat natürlich... "IT-Admin der Ehefrau" ) @NorbertFe 100% sind doch gut - dachte ich bisher immer 😂
  18. Ich würde es andersherum machen - GPO auf eine Gruppe von Testclients einschränken und SMB dort dann erzwingen. Auf den DCs kann man da nix selektiv machen, entweder man erzwingt es oder halt nicht. SMB Signing hat "eigentlich" nichts mit Account-Sperrungen zu tun. Vielleicht hast Du mehr als nur eine Herausforderung...
  19. Problematisch finde ich das hier: Das bleibt mit "Vorhanden, überschreiben? (j/n)" stehen, wenn man's interaktiv ausführt. Was schreiben denn die ganzen Write-Verbose so in die Konsole? Ich habe mir auch erlaubt, den Code etwas lesbarer zu machen $ProfileName = "VPNNAME" # Validate VPN profile Write-Verbose "Searching VPN profiles for `"$ProfileName`"." If ( $AllUserConnection ) { # Get VPN profile running in the user's context $Vpn = Get-VpnConnection -Name $ProfileName -AllUserConnection -ErrorAction SilentlyContinue } Else { # Get VPN profile running in the 'all users' context $Vpn = Get-VpnConnection -Name $ProfileName -ErrorAction SilentlyContinue } If ( $Null -eq $Vpn ) { # Exit if VPN profile does not exist Write-Warning "VPN connection `"$ProfileName`" not found." Return } Else { Write-Verbose "VPN connection `"$ProfileName`" found." } # Use transaction for registry updates Start-Transaction #Create registry REG add "HKLM\System\CurrentControlSet\Services\RasMan\Config\" # Search AutoTriggerDisabledProfilesList for VPN profile $Path = 'HKLM:\System\CurrentControlSet\Services\RasMan\Config\' $Name = 'AutoTriggerDisabledProfilesList' Write-Verbose "Searching $Name in $Path for VPN profile `"$ProfileName`"..." Try { # Get the current registry values as an array of strings [string[]]$DisabledProfiles = Get-ItemPropertyValue -Path $Path -Name $Name -ErrorAction Stop } Catch { Write-Verbose "$Name does not exist in $Path. No action required." Return } If ( $DisabledProfiles ) { # Create ordered hashtable $List = [Ordered]@{} $DisabledProfiles | ForEach-Object { $List.Add("$($_.ToLower())", $_) } # Search hashtable for matching VPN profile and remove if present If ( $List.Contains( $ProfileName )) { Write-Verbose 'Profile found. Removing entry...' $List.Remove( $ProfileName ) Write-Verbose 'Updating the registry...' Set-ItemProperty -Path $Path -Name $Name -Value $List.Values -UseTransaction } } Else { Write-Verbose "No profiles found matching `"$ProfileName`"." Return } # Add user SID to registry If ( $AllUserConnection ) { $SID = 'S-1-1-0' Write-Verbose "Adding SYSTEM SID $SID to registry..." } Else { Try { $SID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value Write-Verbose "Adding user SID $SID to registry..." } Catch { Write-Warning $_.Exception.Message Return } } $Parameters = @{ Path = 'HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\Config\' Name = 'UserSID' PropertyType = 'String' Value = $SID UseTransaction = $True } New-ItemProperty @Parameters -Force | Out-Null # Add VPN profile name to registry $Parameters = @{ Path = 'HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\Config\' Name = 'AutoTriggerProfileEntryName' PropertyType = 'String' Value = $ProfileName UseTransaction = $True } New-ItemProperty @Parameters | Out-Null # Add VPN profile GUID to registry Write-Verbose "Adding VPN GUID $GUID to registry..." [guid]$GUID = $Vpn | Select-Object -ExpandProperty Guid $Binary = $Guid.ToByteArray() $Parameters = @{ Path = 'HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\Config\' Name = 'AutoTriggerProfileGUID' PropertyType = 'Binary' Value = $Binary UseTransaction = $True } New-ItemProperty @Parameters | Out-Null # Add phonebook path to registry If ( $AllUserConnection ) { $Path = Join-Path -Path $env:programdata -ChildPath Microsoft\Network\Connections\Pbk\rasphone.pbk Write-Verbose "RAS phonebook path is $Path." } Else { $Path = Join-Path -Path $env:userprofile -ChildPath AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk Write-Verbose "RAS phonebook path is $Path." } $Parameters = @{ Path = 'HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\Config\' Name = 'AutoTriggerProfilePhonebookPath' PropertyType = 'String' Value = $Path UseTransaction = $True } New-ItemProperty @Parameters | Out-Null # Commit registry changes Complete-Transaction # Disable the "Disconnect" button in VAN UI/Settings > ensuring that "Connect Automatically" cannot be unchecked ( get-content -Path "$env:appdata\Microsoft\Network\Connections\Pbk\rasphone.pbk") | ForEach-Object {$_ -Replace "Options=0", "Options=18"} | Set-Content -Path "$env:appdata\Microsoft\Network\Connections\Pbk\rasphone.pbk"
  20. https://evilgpo.blogspot.com/2015/04/wer-bin-ich-und-was-darf-ich.html (Muß echt mal ne aktuelle Version davon schreiben...)
  21. Komplexität halte ich für sinnfrei, lieber länger. Und bei 365 Tagen Gültigkeit kann man auch gleich "nicht ablaufend" verwenden - die Historie ist bei nem Änderungsintervall von nem Jahr auch eher uninteressant. Aber jm2c Ich bin ein erklärter Gegner von erzwungenen Kennwortänderungen. Wie das BSI 😂
  22. Ehm - warum hängt Ihr Euch grad immer am "Befüllen" des Attributs auf? Es geht um das "Auslesen"...
  23. Group Policy Preferences "Umgebungsvariable" mit Zielgruppenadressierung "LDAP-Abfrage".
  24. daabm

    Letzter macht das Licht aus 2

    Nabend wieder an Land Auto war heute mal wieder in der Werkstatt, Bremsenwartung. Das Zeug benutzt man ja quasi nie, das gammelt sonst einfach weg... 🙈
  25. Hier - bis auf die von Microsoft erzwungenen Ausnahmen für SQL- und HyperV-Cluster, die noch nicht ohne können. Frei nach einer meiner bevorzugten Bands: "It's a long way to the top"... Ich weiß inzwischen Dinge über Kerberos in Windows und in krb5.conf, die ich eigentlich nie wissen wollte 😂
×
×
  • Neu erstellen...