Ubuntu 20.04 : Kein Sound nach Update von 19.10

TL;DR :
sudo echo "options snd-hda-intel model=auto index=1" >> /etc/modprobe.d/alsa-base.conf
sudo echo "blacklist snd_soc_skl" >> /etc/modprobe.d/blacklist.conf >> 
Problem : Nach meinem Update von Ubuntu 19.10 auf Ubuntu 20.04 hatte ich keinen Sound mehr von der OnBoard Soundkarte. Das Headset hat funktioniert und die HDMI Targets auch nur der 3,5" Klinke war stumm.

Lösung : Der Fehler bestand darin das das Kernelmodul nicht geladen wurde.
sudo vi /etc/modprobe.d/alsa-base.conf
dort an das Ende der Datei die beiden Zeilen reinkopieren.
# Load Intel
options snd-hda-intel model=auto index=1
und das modul snd_soc_skl auf die Blacklist verfrachten
sudo vi /etc/modprobe.d/blacklist.conf
dort an das Ende der Datei die Zeile reinkopieren
# require for intel snd_hda_intel
blacklist snd_soc_skl

nach einem Neustart war mein Sound wieder da ;-)

Um sich anzeigen zu lassen welche Soundkarten bzw. Target erkannt werden kann man diesen Befehl ausführen
cat /proc/asound/cards
der output sollte dann so ähnlich aussehen
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xdf080000 irq 17
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xdf440000 irq 149
 2 [C615           ]: USB-Audio - HD Webcam C615
                      HD Webcam C615 at usb-0000:00:14.0-1, high speed
 3 [Device         ]: USB-Audio - USB PnP Sound Device
                      C-Media Electronics Inc. USB PnP Sound Device at usb-0000:00:14.0-2, full speed

Linux : Ermitteln über die verbaute Hardware

Mal schnell unter Linux ermitteln welches Mainboard verbaut ist
sudo dmidecode -t 2

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: MSI
	Product Name: Z270 GAMING PRO CARBON (MS-7A63)
	Version: 1.0
	Serial Number: H216226023
	Asset Tag: Default string
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Default string
	Chassis Handle: 0x0003
	Type: Motherboard
	Contained Object Handles: 0
Die Befehle inxi und lshw zeigen z.B. schön aufbereitet den Arbeitsspeicher an
 >> sudo inxi -m
Memory:    RAM: total: 31.32 GiB used: 1.13 GiB (3.6%) 
           Array-1: capacity: 64 GiB slots: 4 EC: None 
           Device-1: ChannelA-DIMM0 size: 8 GiB speed: 3000 MT/s 
           Device-2: ChannelA-DIMM1 size: 8 GiB speed: 3000 MT/s 
           Device-3: ChannelB-DIMM0 size: 8 GiB speed: 3000 MT/s 
           Device-4: ChannelB-DIMM1 size: 8 GiB speed: 3000 MT/s 
>> sudo lshw -C memory | grep bank -A 9
     *-bank:0
          Beschreibung: DIMM DDR4 Synchron 3000 MHz (0,3 ns)
          Produkt: F4-3000C15-8GRK
          Hersteller: Fujitsu
          Physische ID: 0
          Seriennummer: 00000000
          Steckplatz: ChannelA-DIMM0
          Größe: 8GiB
          Breite: 64 bits
          Takt: 3GHz (0.3ns)
     *-bank:1
          Beschreibung: DIMM DDR4 Synchron 3000 MHz (0,3 ns)
          Produkt: F4-3000C15-8GRK
          Hersteller: Fujitsu
          ....
für die CPU reicht ein
cat /proc/cpuinfo
oder man verwendet wieder lshw
sudo lshw -C cpu
  *-cpu                     
       Beschreibung: CPU
       Produkt: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
       ....
Kleine Spielerrei am Rande der Output von neofetch
neofetch

ffmpeg : schneiden von Videos

da ich mir immer wieder in der ManPage das zusammen Suche schreib ich jetzt einfach mal einen Eintrag hier.
Man kann relativ schnell mit ffmpeg ein Video scheiden, ich selbst schneide meine Screencast damit und bin recht zufrieden. Ein Keyframe genaus scheiden ist damit aber leider nicht möglich, ist immer ein wenig Bastelei. Jedoch entfällt das üblich neu kodieren des Videos das z.B. bei OpenShot fällig wird.
ffmpeg -ss 15 -i recorded-stream.mkv -to 01:55:21 -c copy configure-atp-on-office365.mkv
Auszug aus der Manpage
  -ss  position (input/output)
  -i   input_file
  -to  position (input/output)
  -c   [:stream_specifier] codec (input/output,per-stream)
soll heißen hier wird der codec des audio stream und des video stream kopiert.

Exchange Online / Office 365 : Erstellen einer Shared Mailbox im Hybrid Mode

Erstmal eins Vorweg , und ja ich muss mir das auch merken ;-)
Im Hybrid Exchange Mode müssen alle Befehle gegen den lokalen Exchange ausgeführt werden !

Wenn man nun eine neue Shared Mailbox haben möchte kann man das mit diesem snippet in der Exchange Shell machen. Auch hier ist das WhatIf auf true gesetzt d.h. hier wird nur getestet aber nicht ausgeführt. Ist man sich sicher kann man das true auf false ändern.
$NewRemMailPara = @{
    Name                         = 'NAME_DER_SHARED_MAILBOX' 
    OnPremisesOrganizationalUnit = 'OU_IM_LOKALEN_AD' 
    DisplayName                  = 'DISPLAYNAME_DER_SHARED_MAILBOX'
    UserPrincipalName            = 'UPN_DER_MAILBOX'
    RemoteRoutingAddress         = 'REMOTE_ROUTING_ADDRESS (normalerweise NAME@TENANT.mail.onmicrosoft.com'
    Alias                        = 'ALIAS_DER_SHARED_MAILBOX'
    PrimarySmtpAddress           = 'PRIMÄRE_EMAIL_ADRESSE'
    WhatIf                       = $true
}
New-RemoteMailbox -Shared @NewRemMailPara
hier ein Beispiel
$NewRemMailPara = @{
    Name                         = 'TEST Team' 
    OnPremisesOrganizationalUnit = 'OU=dev_mailobjects,OU=dev,DC=example,DC=box' 
    DisplayName                  = 'TEST Team'
    UserPrincipalName            = 'test_team@DOMAIN'
    RemoteRoutingAddress         = 'test_team@TENANT.mail.onmicrosoft.com'
    Alias                        = 'TEST_Team'
    PrimarySmtpAddress           = 'test_team@DOMAIN'
    WhatIf                       = $true
}
New-RemoteMailbox -Shared @NewRemMailPara
Auf dem selben Weg kann man Räume und Resourcen anlegen hierzu muss nur der Parameter Shared getauscht werden. Mögliche Werte sind
-Room
-Equipment
oder ein User Postfach
Quelle : https://docs.microsoft.com/en-us/powershell/module/exchange/new-remotemailbox?view=exchange-ps

Office 365 : Verbinden eines lokalen AD Users mit einem MSOL User

Sollte man mal in die Verlegenheit kommen einen lokalen AD User mit einem MSOL User verbinden zu müssen ist dieser Schnipsel recht hilfreich. Er setzt im MSOL Kontext die ImmutableID was die Zuordnung lokal zu cloud User ermöglicht auch wird der online User umbenannt das der UPN gleich zu dem lokalem AD User ist. Die Vorraussetzungen sind natürlich ein voller Zugriff auf das lokale AD und eine vorherige Anmeldung an Microsoft 365.
$OldUPN = 'UPN_ON_OFFICE365'
$UPN = 'UPN_LOKALES_AD'
$ID = [convert]::ToBase64String((Get-ADUser -filter {UserPrincipalName -eq $UPN}).objectGUid.ToByteArray())
Set-MsolUserPrincipalName -NewUserPrincipalName $UPN -UserPrincipalName $OldUPN -ImmutableId $ID

Office 365 : Installieren des MSOL Modul für Powershell

Installieren des MSOL Modul für Powershell

Zuerst installieren wir das Packet für das Modul das kann bei Microsoft direkt heruntergeladen werden.
Download Microsoft Online Services-Anmelde-Assistent für IT-Experten RTW
dann starten wir eine Shell und installieren das Modul im Powershellkontext.
Install-Module -Name MSOnline
ab jetzt kann man mit Powershell mit dem cmdlet
Connect-MsolService
eine Verbindung zu Office 365 herstellen.
Quelle : https://docs.microsoft.com/de-de/office365/enterprise/powershell/connect-to-office-365-powershell
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)