Microsoft Endpoint Manager Intune

Dynamische Gruppe für Autopilot Devices: Query:
(device.devicePhysicalIDs -any (_ -contains "[ZTDId]"))

For all iPhone and iPad devices:
(device.deviceOSType -contains "iPhone" -or device.deviceOSType -contains "iPad")

For all iPhone and iPad devices that are personal devices:
(device.deviceOSType -contains "iPhone" -or device.deviceOSType -contains "iPad") -and (device.deviceOwnership -contains "Personal")

For all iPhone and iPad devices that are corporate devices:
(device.managementType -eq "MDM") -and (device.deviceOwnership -eq "Company") -and ((device.deviceOSType -eq "iPad") -or (device.deviceOSType -eq "iPhone") -or (device.deviceOSType -eq "iPod"))
oder
(device.deviceOSType -contains "iPhone" -or device.deviceOSType -contains "iPad") -and (device.deviceOwnership -contains "Company")

For all Apple Company devices that are setup with a ADM Profile:
(device.managementType -eq "MDM") -and (device.enrollmentProfileName -eq "iOS-Devices Verwaltung") -and ((device.deviceOSType -eq "iPad") -or (device.deviceOSType -eq "iPhone") -or (device.deviceOSType -eq "iPod"))


For macOS devices:
(device.deviceOSType -contains "OSX" -or device.deviceOSType -contains "macOS" -or device.deviceOSType -contains "MacMDM")

For macOS devices that are personal devices:
(device.deviceOSType -contains "OSX" -or device.deviceOSType -contains "macOS" -or device.deviceOSType -contains "MacMDM") -and (device.deviceOwnership -contains "Personal")

For macOS devices that are corporate devices:
(device.deviceOSType -contains "OSX" -or device.deviceOSType -contains "macOS" -or device.deviceOSType -contains "MacMDM") -and (device.deviceOwnership -contains "Company")

For iPhone devices:
(device.deviceOSType -contains "iPhone")

For iPad devices:
(device.deviceOSType -contains "iPad")

For Android devices:
(device.deviceOSType -contains "Android")

For all Windows Autopilot Devices:
(device.devicePhysicalIDs -any (_ -startsWith "[ZTDid]")) and (device.devicePhysicalIDs -any (_ -startsWith "[Orderid]"))


Hardware ID Auslesen für Autopilot:

Um im OOBE Prozess ein Fenster zu öffnen muss man [SHIFT]+[F10] drücken.

New-Item -Type Directory -Path "C:\HWID"
Set-Location -Path "C:\HWID"
$env:Path += ";C:\Program Files\WindowsPowerShell\Scripts"
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Install-Script -Name Get-WindowsAutopilotInfo
Get-WindowsAutopilotInfo -OutputFile AutopilotHWID.csv

PowerShell.exe -ExecutionPolicy Bypass
Install-Script -name Get-WindowsAutopilotInfo -Force
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Get-WindowsAutopilotInfo -Online

Windows Store wieder installieren:

wsreset -i

Winget reinstall:

Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

Winget von externer Source installieren:

$progressPreference = 'silentlyContinue'
$latestWingetMsixBundleUri = $(Invoke-RestMethod https://api.github.com/repos/microsoft/winget-cli/releases/latest).assets.browser_download_url | Where-Object {$_.EndsWith(".msixbundle")}
$latestWingetMsixBundle = $latestWingetMsixBundleUri.Split("/")[-1]
Write-Information "Downloading winget to artifacts directory…"
Invoke-WebRequest -Uri $latestWingetMsixBundleUri -OutFile "./$latestWingetMsixBundle"
Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile Microsoft.VCLibs.x64.14.00.Desktop.appx
Add-AppxPackage Microsoft.VCLibs.x64.14.00.Desktop.appx
Add-AppxPackage $latestWingetMsixBundle

Winget Source List:

winget source list

Upgrade von allen Installierten Programmen:

winget upgrade --all --force --accept-source-agreements --accept-package-agreements

Audit Modus starten
In dem OOBE Screen (Out of the box experience) die Tastenkombination [STRG] + [Shift] + [F3] drücken. Dann wird der Administrator aktiviert, und Windows meldet uns als Administrator an. Dies können wir nutzen, um zum Beispiel ein Image einer Windows-Installation anzufertigen.

AD Check, Synchronisation von DC’s

Folgende Befehle sind Hilfreich für die AD Synchronisation unter den Domain Controllern:

repadmin /syncall /AdeP
dfsrdiag PollAd /Member:%DCSERVERNAME%
repadmin /replsummary

DCdiag /v /c /d /e



Powershell Script um die DCs miteinander zu synchronisieren:

function Replicate-AllDomainController {(Get-ADDomainController -Filter *).Name | Foreach-Object {repadmin /syncall $_ (Get-ADDomain).DistinguishedName /e /A | Out-Null}; Start-Sleep 10; Get-ADReplicationPartnerMetadata -Target "$env:userdnsdomain" -Scope Domain | Select-Object Server, LastReplicationSuccess}

Replicate-AllDomainController





Exchange Mail Relay Connector mit SMTP Test per Telnet

Guter Link um den Relay Connector zu erstellen:
https://www.frankysweb.de/exchange-2016-anonymes-relay-erlauben-5-7-54-unable-relay/

New-Receiveconnector -Server FWEX2016 -Name "Relay" -RemoteIPRange ("172.16.100.102") -TransportRole "FrontendTransport" -Bindings ("0.0.0.0:25") -Usage "Custom"

Und Rechte für senden nach extern:
Englischer Server:
Get-ReceiveConnector "Anonymes Relay FWEX2016" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Deutscher Server:
Get-ReceiveConnector "Anonymes Relay FWEX2016" | Add-ADPermission -User "NT-Autorität\Anonymous-Anmeldung" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Tests mit Telnet auf Port 25:

  1. EHLO test.example.com
  2. MAIL FROM:<ABSENDERADRESSE>
  3. RCPT TO:<EMPFÄNGERADRESSE>
  4. DATA
  5. Subject: Testnachricht
  6. (Leerzeile, erneut Enter drücken)
  7. Das ist ein Test.
  8. (Leerzeile, erneut Enter drücken)
  9. .
  10. QUIT

Oder mit dem Powershell Befehl unter meinen anderen Beiträgen:
https://www.r-s.ch/powershell-befehle







Installation Exchange Server 2019

Windows Features per Admin Powershell:
Install-WindowsFeature Server-Media-Foundation, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS, Server-Media-Foundation

Windows Updates

PreReq installieren:
Visual C++: https://www.microsoft.com/de-DE/download/details.aspx?id=40784
UC Runtime: https://www.microsoft.com/en-us/download/details.aspx?id=34992
Dot Net 4.8: https://support.microsoft.com/de-ch/help/4503548/microsoft-net-framework-4-8-offline-installer-for-windows

Reboot neuer Exchange Server


ISO File öffnen und AD vorbereiten:
CMD Als Administrator:
E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareSchema
DC replizieren lassen
E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD
DCs replizieren lassen
E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAllDomains
DCs replizieren lassen
Exchange Setup ausführen aus Admin CMD.

URLs Konfigurieren über Admin Exchange Management Shell:
https://github.com/cunninghamp/ConfigureExchangeURLs.ps1

Pfad zum Download Folder
URLs überprüfen vorher oder auch alter Exchange Server:
.\Get-ExchangeURLs.ps1 -Server sydex1

URLs setzen:
.\ConfigureExchangeURLs.ps1 -Server sydex1 -InternalURL mail.exchangeserverpro.net -ExternalURL mail.exchangeserverpro.net -AutodiscoverSCP autodiscover.exchangeserverpro.net

URLs überprüfen:
.\Get-ExchangeURLs.ps1 -Server sydex1


Zertifikate aus dem Exchange 2013 Server exportieren inkl. Private Key
certlm.msc und Export mit allen Infos und Private Key

Import auf dem neuen Exchange Server via Exchange Management Shell
Import-ExchangeCertificate -Server «EX01-2016» -FileName «\ex01-2016\certs\ExchangeCert.pfx» -PrivateKeyExportable:$true -Password (ConvertTo-SecureString -String «P@ssw0rd1» -AsPlainText -Force)

Zertifikat aktivieren auf neuem Exchange Server:
ECP Webseite aktivieren

Exchange Server neu starten:
– Zertifikat überprüfen

Rename DB:
Set-MailboxDatabase «Mailbox Database 2544738424» -Name «EX19DB»

Move DB und Log Files:
Move-DatabasePath -Identity «EX19DB» -EdbFilePath «E:\DB\EX19DB\EX19DB.edb» -LogFolderPath «E:\Logs\EX19DB»

OWA Login vielleicht ohne Domain voraus setzen Im ECP über Virtual Directories setzen auf owa

Internet Connector erstellen/Modifizieren / Sendconnectoren bearbeiten
überprüfen Accepted Domains
überprüfen AdressPolicy setzen

Scheduled Task einrichten um die Log Files automatisch zu löschen (Tage im Script anpassen):
https://gallery.technet.microsoft.com/office/Clear-Exchange-2013-Log-71abba44
Neuer Basic Task Programm: PowerShell.exe und als Argument Pfad zum Script eintragen
Nicht als Local Service ausführen, aber es geht mit dem Benutzer welcher den Task erstellt hat ohne Passwort und Hidden mit höchster Berechtigung.

Hybrid Wizard Link HCW:
https://aka.ms/HybridWizard

ECP Link für Exchange 2019:
https://localhost/ecp/?ExchClientVer=15.2

Systemmailboxen anzeigen:

Get-Mailbox -Monitoring
Get-Mailbox -AuditLog
Get-Mailbox -Arbitration
Get-Mailbox -Archive
Get-Mailbox -RemoteArchive
Get-Mailbox -PublicFolder
Get-Mailbox -AuxAuditLog
Get-Mailbox -GroupMailbox

Neuer Receive Connector für Relay erstellen:

New-ReceiveConnector -Server "SRVEXCH01" -Name "RelayConnector" -TransportRole FrontendTransport -Custom -Bindings 0.0.0.0:25 -RemoteIpRanges 192.168.30.140

Set-ReceiveConnector "SRVEXCH01\RelayConnector" -PermissionGroups AnonymousUsers

Get-ReceiveConnector "SRVEXCH01\RelayConnector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Oder Deutsch
Get-ReceiveConnector "SRVEXCH01\RelayConnector" | Add-ADPermission -User "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Zertifikat auf Receiveconnector setzen für TLS Unterstützung

$TLSCert = Get-ExchangeCertificate -Thumbprint
$TLSCertName = "$($TLSCert.Issuer)$($TLSCert.Subject)"
Set-ReceiveConnector -Identity "SRVEXCH01\RelayConnector" -TlsCertificateName $tlscertName


Wenn es nicht funktioniert wie oben beschrieben können folgende Befehle helfen
$cert = Get-ExchangeCertificate -Thumbprint <thumbprint>
$tlscertificatename = "<i>$($cert.Issuer)<s>$($cert.Subject)"
Set-SendConnector "<SendConnector>" -TlsCertificateName $tlscertificatename


iisreset nicht vergessen!

Benachrichtigungen im Exchange Server löschen

Get-Mailbox -Arbitration | Search-Mailbox -DeleteContent


Outlook Autodiscover Tuning:

  • Verwenden von ExcludeLastKnownGoodUrl , um zu verhindern, dass Outlook die letzte als funktionierend bekannte Auto Ermittlungs-URL
    verwendet HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeLastKnownGoodUrl
    Wert: 1

    Oder

    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeLastKnownGoodUrl
    Wert: 1
  • Verwenden von ExcludeHttpsRootDomain , um zu verhindern, dass Outlook die HTTPS-Stammdomäne
    verwendet HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeHttpsRootDomain
    Wert: 1

    Oder

    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeHttpsRootDomain
    Wert: 1
  • Verwenden von ExcludeSrvRecord , um zu verhindern, dass Outlook die HTTPS-Stammdomäne
    verwendet HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeSrvRecord
    Wert: 1

    Oder

    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\x.0\Outlook\Autodiscover
    DWORD: ExcludeSrvRecord
    Wert: 1

Neuer Exchange Base64 Zertifikatsrequest per Powershell erstellen:

$txtrequest = New-ExchangeCertificate -GenerateRequest -FriendlyName "%FRIENDLYNAME%" -PrivateKeyExportable $true -SubjectName "c=CH,o=%COMPANYNAME%,cn=%COMMONNAME%,ou=IT,l=%ORT%" -DomainName autodiscover.%DOMAINNAME%,mail.%DOMAINNAME%,%MOREALTERNATIVEDOMAINNAMES%

[System.IO.File]::WriteAllBytes('\\localhost\c$\Temp\20240131kvz-schule.chRequest.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

Wichtige Konsolen

certlm.msc Zertifikate vom lokalen Computeraccount
certmgr.msc Zertifikate vom Benutzeraccount
compmgmt.msc Computerverwaltung
services.msc Dienste vom lokalen Computer
devmgmt.msc Gerätemanager
diskmgmt.msc Datenträgerverwaltung
eventvwr.msc Eventviewer
lusrmgr.msc Lokale Benutzerverwaltung
taskschd.msc Taskscheduler
virtmgmt.msc HyperV Management
wf.msc Windowsfirewall

FSMO Rollen

Check FSMO roles:

open command line and type :
netdom query fsmo

Schemabetriebsmaster Rolle übertragen:

Das notwendige Snap-In für das Schema muss vor der Verwendung registriert werden. Der Befehl hierfür, der auf einer administrativen Konsole auf dem noch gültigen Betriebsmaster (hier: dc.lab.dom) eingegeben wird, lautet:

regsvr32 schmmgmt.dll

RID, PDC, Infrastruktur Masterrollen übertragen:

Diese Master Rollen  können über «Active Directory-Benutzer und –Computer» verschoben werden.

Domain Masterrolle übertragen:

Die Domain-Master Rolle kann über «Active Directory-Domänen und Vertrauensstellung» verschoben werden.

Rollen per Powershell übertragen:

Move-ADDirectoryServerOperationMasterRole -Identity %ZIELSERVERNAME% -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator

Oder mit Nummern:
Move-ADDirectoryServerOperationMasterRole -Identity %ZIELSERVERNAME% -OperationMasterRole 0,1,2,3,4

Exchange Logfiles

Remove Exchange Log Files:

Remove old Exchange Log Files Artikel

Befehl inkl. Internet Information Service Folder für 14 Tage:

gci ‹C:\Program Files\Microsoft\Exchange Server\V15\Logging›,’C:\inetpub\logs› -Directory | gci -Include ‹*.log›,’*.blg› -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-14) | Remove-Item

Enable Circular Logging:

Set-MailboxDatabase {Database-Name} -CircularLoggingEnabled $True
net stop "Microsoft Exchange Information Store"
net start "Microsoft Exchange Information Store"

PowerShell Befehle

Verbindung zu Office365:

neues Modul AzureAD:
Install-Module -Name AzureAD

altes Modul MSOnline:
Install-Module MSOnline

$credential = Get-Credential
Connect-MsolService -Credential $credential
Connect-AzureAD -Credential $credential

https://docs.microsoft.com/de-ch/office365/enterprise/powershell/connect-to-office-365-powershell
Office 365 AD Sync Befehle:
Import-Module ADSync
Start-ADSyncSyncCycle -PolicyType Delta
Start-ADSyncSyncCycle -PolicyType Initial
Force AzureAD Password Sync:
Entweder über das ADConnect Konfigurationstool über Troubleshooting oder mit Powershell:
$adConnector = "<insert local connector name here>"
$aadConnector = "<insert AzureAD connector name here>"
$c = Get-ADSyncConnector -Name $adConnector
$p = New-Object Microsoft.IdentityManagement.PowerShell.ObjectModel.ConfigurationParameter "Microsoft.Synchronize.ForceFullPasswordSync", String, ConnectorGlobal, $null, $null, $null
$p.Value = 1
$c.GlobalParameters.Remove($p.Name)
$c.GlobalParameters.Add($p)
$c = Add-ADSyncConnector -Connector $c
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $aadConnector -TargetConnector $azureadConnector -Enable $false
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $aadConnector -TargetConnector $azureadConnector -Enable $true

MAC Adresse per Powershell ansehen:
Get-NetAdapter | select name, macaddress | sort macaddress
Send Email per Powershell Command:
Send-MailMessage -SmtpServer IPorMailServerName -To Emailto@xyz.ch -From EmailFrom@xyz.ch -Subject "It`s me Ronald" -Body "Send a Test Mail"
Passwort Ablaufdatum ermitteln per Powershell Command:
https://bent-blog.de/powershell-ablaufdatum-des-eigenen-kennworts-ermitteln/

([System.Security.Principal.WindowsIdentity]::GetCurrent().User).Value | get-aduser -Properties Displayname,PasswordLastSet,msDS-UserPasswordExpiryTimeComputed | Select-Object -Property Displayname,SamAccountName,PasswordLastSet,@{Name="ExpirationDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}},@{Name="Duration";Expression={$(New-TimeSpan -Start $(Get-Date) -End $([datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed"))).ToString("%d")+" days"}}

Command:
net user %username% /domain

Letzter Systemstart anzeigen:
Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime


Domain Functional Level und Forest Functional Level, sowie Schema Level:
Get-ADDomain | fl Name,DomainMode
Get-ADForest | fl Name,ForestMode

Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion
Verbindungsaufbau zu M365:
https://docs.microsoft.com/de-ch/office365/enterprise/powershell/connect-to-office-365-powershell

Installierte Module anzeigen:
Get-InstalledModule

TLS muss aktiviert sein um Module zu installieren:
[Net.ServicePointManager]::SecurityProtocol
oder [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

64Bit Version:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
32Bit Version:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord


Module Installieren:
Install-Module -Name AzureAD
Install-Module -Name MicrosoftTeams
Install-Module -Name ExchangeOnlineManagement
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking

 
Update der Module z.B:
Update-Module -Name ExchangeOnlineManagement
 
Installierte Version auslesen:
Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
 
Verbindung Aufbauen:
$UserCredential = Get-Credential
Connect-AzureAD -Credential $usercredential
Connect-MsolService -Credential $usercredential
Connect-ExchangeOnline -Credential $UserCredential -ShowProgress $true
Connect-SPOService -Url https://<domainhost>-admin.sharepoint.com -credential $UserCredential
Connect-MicrosoftTeams -Credential $UserCredential

   
Allenfalls noch Skype Verbindung kann Warnmeldungen generieren:
Import-Module SkypeOnlineConnector
$sfboSession = New-CsOnlineSession -Credential $UserCredential
Import-PSSession $sfboSession

   
Security & Compliance Center:
$SccSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $UserCredential -Authentication "Basic" -AllowRedirection
Import-PSSession $SccSession -Prefix cc

 
 
Verbindungen sauber trennen:
Remove-PSSession $sfboSession ; Remove-PSSession $SccSession ; Disconnect-SPOService ; Disconnect-MicrosoftTeams
Check if ModernAuthentication is enabled:
Get-OrganizationConfig | Format-Table Name,OAuth* -Auto
SMTP Test mit Port 587 per Powershell:

$creds = get-credential
Send-MailMessage -From <O365 email address> -To <Recipient email address> -Subject «Test Email» -Body «Test SMTP Service from Powershell on Port 587» -SmtpServer smtp.office365.com -Credential $creds -UseSsl -Port 587
Teams Cache löschen:

Dieses Powershell Script ausführen, am besten, wenn das Teams beendet ist:

Write-Host «Microsoft Teams wird jetzt beendet, um den Cache zu leeren.»
try{
Get-Process -ProcessName Teams | Stop-Process -Force
Start-Sleep -Seconds 5
Write-Host «Microsoft Teams wurde erfolgreich beendet.»
}
catch{
echo $_
}
# Der Cache wird nun geleert
try{
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\code cache\cache» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\blob_storage» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\databases» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\cache» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\gpucache» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\Indexeddb» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\Local Storage» | Remove-Item -Force -Recurse
Get-ChildItem -Path $env:APPDATA\»Microsoft\teams\tmp» | Remove-Item -Force -Recurse
}
catch{
echo $_
}
write-host «Der Microsoft Teams Cache wurde erfolgreich geleert.»
Azure User als lokaler Admin hinzufügen
net localgroup administratoren AzureAD\ronald.schmid@uniqconsulting.ch /add
Winget Update der Tools Befehl:
winget upgrade --all --accept-package-agreements





Windows Zeitserver konfigurieren

How to set Windows Time Service on Windows Server

w32tm /config /manualpeerlist:%DCNAME%.%DOMAIN%.local,ptbtime1.ptb.de,pool.ntp.org,time.windows.com /syncfromflags:manual /reliable:yes /update

Erklärung:
syncfromflags:manual -> heisst: manuelle Peerliste verwenden
reliable:yes -> heisst: yes=er selber dient als Zeitsource Server no=kein Zeitsource Server