Tag Archives for " Powershell "

Installation von NuGet in der PowerShell schlägt fehl – Es kann kein Download von URI durchgeführt werden

Bei der Installation des ExchangeOnlineManagement-Moduls (und wahrscheinlich jedem anderen Modul) in der PowerShell wird der NuGet Paketmanager benötigt. Dieses kann direkt mitinstalliert werden.

Dabei bin ich dann auf das folgende Problem gestossen :

Die Fehlermeldung lautet:

WARNUNG: Es kann kein Download von URI "https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409" nach ""
durchgeführt werden.
WARNUNG: Die Liste der verfügbaren Anbieter kann nicht heruntergeladen werden. Überprüfen Sie Ihre Internetverbindung.
PackageManagement\Install-PackageProvider : Für die angegebenen Suchkriterien für Anbieter "NuGet" wurde keine
Übereinstimmung gefunden. Der Paketanbieter erfordert das PackageManagement- und Provider-Tag. Überprüfen Sie, ob das
angegebene Paket über die Tags verfügt.
In C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7405 Zeichen:21
+ ...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [Install-Pac
   kageProvider], Exception
    + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackagePro
   vider

PackageManagement\Import-PackageProvider : Für die angegebenen Suchkriterien und den Anbieternamen "NuGet" wurde keine
Übereinstimmung gefunden. Führen Sie "Get-PackageProvider -ListAvailable" aus, um festzustellen, ob der Anbieter im
System vorhanden ist.
In C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7411 Zeichen:21
+ ...     $null = PackageManagement\Import-PackageProvider -Name $script:Nu ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (NuGet:String) [Import-PackageProvider], Exception
    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.ImportPackageProv
   ider

Da eine Internetverbindung vorhanden war, musste der Fehler eine andere Ursache haben.

Nach kurzer Recherche im Netz bin ich auf den folgenden Artikel von ugg.li gestossen (vielen Dank dafür):

Das Problem scheint wohl an TLS zu liegen. Seit April 2020 lässt der Endpunkt nur noch Verbindungen mit mindestens TLS 1.2 zu.

Allerdings spricht die PowerShell im Default-Zustand nur TLS 1.1.

Der nachfolgende Befehl stell die PowerShell auf TLS 1.2 um:

[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12

Und siehe da, der Installer funktioniert wieder und die eigentliche Installation kann weiter gehen.

Empfangsconnector in Exchange 2013 erlauben externe E-Mails zu verschicken

In Exchange 2013 können Empfangsconnectoren (Receive Connectors) eingerichtet werden um beispielsweise Applikationen oder Geräten wie Kopierern oder Scannern den E-Mail-Versand zu ermöglichen.

Da dies auch ohne Authentifizierung möglich ist, dürfen über Empfangsconnectoren im Standard nur E-Mails an interne Empfänger verschickt werden.

Versucht man eine E-Mail an externe Empfänger zu schicken, bekommt man die folgende Fehlermeldung vom Exchange zurück:

5.7.1 Unable to relay

Um auch externe E-Mails verschicken zu können, muss der Empfangsconnector über die Exchange Powershell angepasst werden.

Das macht man mit dem Befehl:

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

„Anonymous Relay“ ist in diesem Beispiel der Name des Empfangsconnector. Den genauen Namen des Empfangsconnector bzw. ReceiveConnector kann man mit dem Befehl

Get-ReceiveConnector

auslesen. Hat man mehrere Exchange-Server im Einsatz muss der Servername vor den Connector geschrieben werden.

Achtung bei DEUTSCHEN Exchange-Servern:

Microsoft hat bei den Powershell-Befehlen die Berechtigungen eingedeutscht, was zur Folge hat, dass der User „NT AUTHORITY\ANONYMOUS LOGON“ auf deutschen Exchange-Servern nicht bekannt ist. Hier heißt er „NT-AUTORITÄT\ANONYMOUS-ANMELDUNG“.

Auf deutschen Exchange-Servern muss der Befehl dementsprechend so lauten:

Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Ist der Befehl ausgeführt, können über diesen Connector E-Mails an externe Empfänger geschickt werden.

ACHTUNG: Der Exchange-Server ist jetzt ein „Offenes Relay“. Deshalb den Empfangs-Connector immer nur für den benötigten Server (über die IP-Adresse) berechtigen.

Raumliste bei der Raumsuche in Outlook 2010 mit Exchange 2010 oder Exchange 2013 ist leer

Ein praktisches Feature in Microsoft Outlook 2010 bei der Erstellung von Besprechungsanfragen ist die Raumsuche – wenn sie denn funktioniert und nicht nur ein gähnend leeres Feld anzeigt. Auch wenn in der Adressliste unter dem Punkt „Räume“ bereits die entsprechenden Räume / Ressourcen angezeigt werden. Es wurden also schon Ressourcen-Postfächer bzw. Raumpostfächer für die Konferenzräume im Microsoft Exchange 2010 oder Microsoft Exchange 2013 angelegt und konfiguriert. Die Ursache liegt wahrscheinlich an der Tatsache, dass im Exchange 2010 oder Exchange 2013 noch keine „Raumliste“ erstellt und konfiguriert worden ist. Diese ist aber zwingend erforderlich, damit im Outlook die Anzeige richtig funktioniert.

Aber fangen wir von vorne an. So sieht die Raumsuche aus, wenn noch keine Raumliste erstellt worden ist:

Raumsuche in Outlook 2010

Im Adressbuch werden hingegen die angelegten Räume bzw. Raumpostfächer angezeigt:

In Outlook 2010 verfügbare Räume bzw. Raumpostfächer

Damit die angelegten Räume bzw. Raumpostfächer in der Raumsuche dargestellt und auch verwendet werden können, wird eine Raumliste benötigt. Diese ist nichts Anderes als eine Verteilergruppe für Räume, in die die benötigten Räume hinzugefügt werden.

Die Raumliste wird per Powershell angelegt (es gibt auch keinen anderen Weg). Die Anlage funktioniert ähnlich der Anlage einer „normalen“ Verteilerliste. Einzig der Parameter -RoomList macht aus der Verteilerliste eine Raumliste.

Der vollständige Powershell-Befehl für die Erstellung der Raumliste lautet:

New-DistributionGroup -Name <Bezeichnung der neuen Raumliste> -Members <Bezeichnung der hinzuzufügenden Raumpostfächer> -RoomList

Anlegen der Raumliste in Exchange per Powershell

HINWEIS:

Es gab in Outlook 2010 Probleme mit der Raumliste, wenn im Namen Umlaute vorhanden waren – Im Microsoft Hotfix KB2598024 wurde das Problem behoben. Mittlerweile ist das Problem generell durch ein Patch oder Service Pack für Office behoben worden, so dass das Umlautproblem nicht mehr auftreten sollte.

Ist die Raumliste im Exchange 2010 Server oder Exchange 2013 Server erstellt, kann die Raumsuche in Outlook – nach einem Neustart von Outlook – verwendet und die soeben erstellte Raumliste ausgewählt werden. Sollte die Raumsuche wider Erwarten immer noch leer sein, so muss vorab noch das globale Adressbuch aktualisiert werden. Dies wird in Exchange wieder über die Powershell mit dem folgenden Befehl durchgeführt:

Get-GlobalAddressList | Update-GlobalAddressList

In der Raumsuche wird die Raumliste angezeigt

Wer sich wundert, dass beispielsweise nach 17 Uhr keine freien Räume mehr angezeigt werden, findet die Ursache und die Lösung in meinem Artikel „Keine freien Räume in Outlook 2010 nach einer bestimmten Uhrzeit