Azure Firewall – Einführung und Beispieldeployment

Hallo,

bei größeren Azure Umgebungen sehe ich öfter, dass anstelle NSGs (Network Security Groups) eine 3rd Party NGFW (Next Generation Firewall) eingesetzt wird. Die NGFWs bieten häufig mehr Möglichkeiten Traffic zu filtern, als es eine NSG kann. Ein Problem der NGFWs ist jedoch, dass in der Cloud selten ein Active/Active Cluster zum Einsatz kommen kann, teilweise die Firewallhersteller schlechte Dokumentationen haben oder ihre Produkte gar nicht für die Cloud freigegeeben haben. Zudem ist der Einsatz einer 3rd Party Lösung teuer, da zum einen die VM in Azure bezahlt werden muss, zusätzlich aber auch die Lizenz des Firewall Herstellers, häufig zwei mal, da in der Regel ein Cluster betrieben wird.

Als Alternative dazu bietet Microsoft die Azure Firewall an (https://docs.microsoft.com/en-us/azure/firewall/overview). Die Azure Firewall stellt drei Funktionen zur Verfügung: Layer 3 Filter (Port/IP Filter; „Network Rules“), Layer 7 Filter (URL basiert; „Application Rules“) und NAT Support (DNAT/SNAT; „NAT Rules“). Die Azure Firewall ist dabei von Beginn an hochverfügbar (keine zweite Azure Firewall notwendig) und skaliert mit dem Traffic, es sind also keine manuellen Schritte notwendig sollte mehr Traffic auftreten.

Ein weiterer Vorteil beim Einsatz der Azure Firewall ist, dass von Microsoft sogenannte Servce Tags zur Verfügung gestellt werden (es können auch eigene konfiguriert werden). Die von Microsoft gepflegten Service Tags sind eine Gruppe von IP Adressen für eine bestimmte Technologie (z. B. KeyVault oder SQL). Das ist sehr hilfreich, da man nicht selber in den IP Addresslisten von Microsoft nachschauen muss welche IP Adressen man für welche Ressource freigeben muss, sondern Microsoft pflegt diese Listen selber.

Nachfolgend zeige ich ein einfaches Deployment für eine IaaS Testumgebung damit Ihr mit der Azure Firewall ein wenig spielen könnt.

Szenario:
Eine Workstation, eine VM in Azure, die Kommunikation zwischen Workstation und VM ist durch die Azure Firewall geschützt. Für dieses Beispiel wurde die Azure Disk Encryption aktiviert. Jeder Traffic soll durch die Azure  Firewall laufen, daher müssen zusätzlich noch UDRs (User Defined Routes) definiert werden, damit das Standardrouting von Azure überschrieben wird und der Traffic entsprechend durch die Firewall verarbeitet wird.

AzureFirewallDemoEnvironment

AzureFirewallDemoEnvironment

Hinweis: das Setup für eine VM, das VNet, das VPN Gateway, KeyVault und aktivieren der Disk Encryption wird hier nicht beschrieben! 

Hinweis: die nachfolgende Installation ist sehr einfach und nur zum Demonstrieren der Funktionalität. Bitte nicht ohne weitere Anpassungen in Produktion verwenden!

Folgende Daten werden im Beispiel verwendet:

  • Virtual Network: 172.20.0.0/24
  • GatewaySubnet: 172.20.0.0/26
  • AzureFirewallSubnet: 172.20.0.64/26
  • VMSubnet: 172.20.0.128/26
  • VPN Address Pool: 192.168.0.0/24

Deployed wurde bereits:

  • eine Resource Group (der Einfachheit halber alles in einer RG)
  • VM (OHNE Public IP)
  • Virtual Network
  • GatewaySubnet
  • VMSubnet
  • VPN Gateway
  • P2S VPN
  • KeyVault, KEK
  • DiskEncryption aktiviert
  • es werden KEINE NSGs verwendet

Los geht’s:

  1. Deploy Azure Firewall
  • aus dem Azure Katalog die Firewall wählen und die Felder füllen
  • ACHTUNG: Azure Firewall und VNet müssen in einer Resource Group sein
AzureFirewallWizard

AzureFirewallWizard

2. konfigurieren der ersten Regeln (RDP und KeyVault)

  • dazu die Firewall öffnen und die Regeln konfigurieren
  • für dieses Beispiel werden die „Network Rules“ benötigt (Layer 3)
  • Regel 1: IP Address, „RDP“, TCP, Source: 192.168.0.0/24, Target: 172.20.0.0/24, Ports: 3389
  • Regel 2: Service Tag, „KeyVault“, TCP+UDP, Source: 172.20.0.0/24, Service Tags „AzureKeyVault“, Port: *
AzureFirewallRulesStart

AzureFirewallRulesStart

AzureFirewallRulesDefinition

AzureFirewallRulesDefinition

  • damit sind die benötigten Regeln konfiguriert

3. Routen konfigurieren

3.1. UDR für das VMSubnet

  • Name: „VMSubnetRouteTable“;
  • „Virtual Network gateway route propagation“: DISABLED
  • Route1: Target: 0.0.0.0/0, Next Hop: Virtual Appliance, IP: 172.20.0.68 (IP of Firewall)
  • Route2: Target: 172.20.0.0/26, Next Hop: Virtual Appliance
  • associate with „VMSubnet“
UDRVMsubnet

UDRVMsubnet

3.2. UDR für das GatewaySubnet

  • Name: „VMSubnetRouteTable“
  • „Virtual Network gateway route propagation“: DISABLED
  • Route1: Target: 172.20.0.128/26, Next Hop: Virtual Appliance, IP: 172.20.0.68 (IP of Firewall)
  • Route2: Target: 192.168.0.0/24, Next Hop: Virtual Network Gateway
  • associate with „GatewaySubnet“
UDRgatewaysubnet

UDRgatewaysubnet

Nun ist eure VM von eurer Workstation aus per RDP erreichbar.

Viel Spaß beim ausprobieren!

David

Windows Server und iSCSI Boot-from-SAN

Hallo liebe Leser,

an dieser Stelle ein Hinweis betreffend der Verwendung von Windows Server mit Boot-from-SAN mit Hilfe von iSCSI.

KEIN iSCSI-Boot-From-SAN mit Windows Server!

Ich habe leider mehrfach die Erfahrung gemacht, daß verschiedene Hersteller sagen: nimm für eine hohe Flexibilität Deiner Umgebung doch Boot-from-SAN. Dieser Aussage würde ich prinzipiell zustimmen, jedoch mit einer großen Einschränkung: Wenn Windows Server zum Einsatz kommt und in der Umgebung kommt iSCSI als Storageprotkoll zum Einsatz – dann laßt es bitte sein.

Ich möchte an dieser Stelle deutlich machen, daß es zwar funktioniert, aber es macht immer solche Umstände und erfordert diverse Anpassungen, so daß ich aus mehreren Implementierungsprojekten (verschiedene Server und Storagehersteller wurden verwendet) in den vergangenen Jahren die Erfahrung mitgenommen habe, daß ich persönlich diese Konfiguration nicht empfehle, ja sogar aktiv ablehne. Eine Verwendung von iSCSI zum Anschluß von SAN-basierten Disks als Datenspeicher (z. B. Festplatte D: oder als Cluster Shared Volume) ist problemlos.

Als Gründe kann ich zum aktuellen Zeitpunkt keine technischen Artikel verlinken, aber die Summe der Erklärungen nachfolgend aus meinem Gedächtnis mal niedergeschrieben:

  • Der Windows Installer ist nicht Multipath-fähig
  • bei Verwendung von SAS oder FibreChannel kann der Installer die Pfade zum Storage dynamisch deaktivieren, so daß während der Installation immer nur ein definierter Storagepfad verwendet wird
    • dies funktioniert nicht bei iSCSI, daß heißt
      • der Server muß von außen so konfiguriert werden, daß nur eine iSCSI-Netzwerkkarte aktiv ist (z. B. durch Deaktivierung der NIC über ein WebBIOS des Servers oder aber das Netzwerkkabel eines iSCSI-Ports am Server abziehen)
      • wenn zwei Netzwerkkarten aktiv sind, sieht der Windows Server aufgrund des fehlenden Multipathings 2 Festplatten (die ja aber nur eine Festplatte im SAN sind) und schreibt die Installationsdaten dann falsch auf die Platte
      • der Installer läuft zwar durch, aber beim ersten Reboot nach der Installation erscheint zu 95 % ein Bluescreen (Initialize Disk Error)

funktionierender Installationsweg:

  • eine iSCSI-NIC deaktivieren
  • Windows installieren
  • anschließend im Windows OS das Multipathing konfigurieren
    • iSCSI Support aktivieren
    • ggf. DSM des Storageherstellers installieren
  • die deaktivierte Netzwerkkarte wieder aktivieren
  • im iscsicpl die Verbindung ganz sauber konfigurieren
    • Server-iSCSI-IP1 (Subnetz1) zu StorageNIC1 (Subnetz1)
    • Server-iSCSI-IP1 (Subnetz1) zu StorageNIC2 (Subnetz1)
    • Server-iSCSI-IP2 (Subnetz2) zu StorageNIC3 (Subnetz2)
    • Server-iSCSI-IP2 (Subnetz2) zu StorageNIC4 (Subnetz2)
  • reboot des Servers

Dieses notwendige Vorgehen funktioniert für eine kleine Anzahl ganz gut, bei manueller Installation, jedoch bei Umgebungen mit vielen Server oder vor dem Hintergrund einer Automation des Serverdeployments halte ich das notwendige Prozedere für nur schwer praktikabel.

Sollte jemand eine zuverlässige und herstellerunabhängige Lösung für dieses Problem besitzen, bitte schreibt mich an, ich korrigiere gern meine pauschale Aussage. Das Update wird dann selbstverständlich auf dieser Seite veröffentlicht.

Viele Grüße, David

DPM 2012 R2 UR7 re-release

Hallo,

gestern (am 02.09.2015) hat Microsoft das UR7 für den Data Protection Manager 2012 R2 erneut veröffentlicht. Grund dafür ist, daß beim bisherigen UR7 abgelaufene Wiederherstellungspunkte nicht von der Disk gelöscht werden, was zur Folge hat daß unnötig Speicherplatz belegt wird. (http://blogs.technet.com/b/dpm/archive/2015/09/02/dpm-2012-r2-ur7-re-released.aspx).

Alle, die das UR7 bereits instaliert haben, sollten sich das aktualisierte DPM 2012 R2 UR7 von Microsoft herunterladen (https://support.microsoft.com/en-us/kb/3065246) und einfach auf der bestehenden Installation anwenden. Ein Update der DPM Clients ist nicht notwendig, auch die Versionsnummer bleibt gleich (4.2.1338).

Alle die das UR7 noch nicht installiert haben sollten dies jetzt nachholen und das Updatepaket anwenden. Das UR7 wird nicht über Microsoft Update ausgeliefert.

Viele Grüße, David

Empfehlung: TechNet Blog – Installation und Upgrade DPM 2012 (SP1 / R2)

Hallo,

auf dem TechNet Blog für DPM hat der Microsoft Mitarbeiter J. C. Hornbeck mal einen ausführlichen (englischen) Blogpost zur Installation bzw. zum Upgrade eines Standalone DPM 2012 Servers veröffentlicht. Ich finde den Eintrag empfehlenswert, da er auf diverse zu beachtende Punkte eingeht und die Installation gut beschreibt: http://blogs.technet.com/b/dpm/archive/2015/08/10/how-to-setup-or-upgrade-a-dpm-2012-standalone-server.aspx

Viele Grüße, David

Installation DPM 2012 R2 UR7

Hallo,

nachdem gestern das UR7 für den DPM 2012 R2 veröffentlicht wurde, habe ich heute mal eine Testinstallation aktualisiert.

Das Ergebnis:

versionNrDPMUR7

die Installation ist problemlos und hat bei mir keine Fehler verursacht.

Installationsschritte gültig für DPM Server mit lokal installierter Datenbank:

  1. Upgradepaket runterladen
  2. Backup der DPM DB anfertigen
  3. das Paket „Detectoid for System Center 2012 R2 – Data Protection Manager Server-all-dataprotectionmanager2012r2-kb3065246_412609add0d2e4da18e19e4386fc39c3b1b44c42.exe“ ausführen und den Anweisungen folgen
  4. Agenten über die DPM-Konsole aktualisieren (bei mir war kein Reboot der Clients notwendig)
  5. für Server 2003 gelten fast die angegebenen Schritte vom KB-Artikel (https://support.microsoft.com/en-us/kb/3065246)
    • kopieren des Agentinstallers auf den zu schützenden Server 2003 von
      • 64-bit:DPM_Installation_Location\DPM\agents\RA\4.2.1338.0\amd64\1033\DPMAgentInstaller_Win2K3_AMD64.exe
      • 32-bit:DPM_Installation_Location\DPM\agents\RA\4.2.1338.0\i386\1033\
        DPMAgentInstaller_Win2K3_i386.exe
    • auf dem zu schützenden Server 2003 öffnen einer Admin-CMD und folgenden Befehl ausführen
      • [DPM Agent Installation Location]\DPM\bin setdpmserver.exe –dpmservername FQDN_DPM_Server_Name
      • auf dem DPM Server Refresh auf den 2003 Server um Agenten zu kontaktieren
      • HINWEIS: im KB-Artikel wird für W2K3 immer noch auf VC++ 2008 und .NET3.5 verwiesen, sollten bei der Installation des UR7-Agenten Fehler auftreten empfehle ich folgenden Artikel: https://it-rumpelkammer.de/2015/06/23/dpm-2012-u6-agent-auf-server-2003-installieren/

Damit ist das Upgrade durchgeführt. Es gilt, wie für alle anderen Softwareprodukte, der Hinweis das Upgrade evtl. in einer unkritischen Zeit surchzuführen, es kann nie ausgeschlossen werden daß ein zu schützender Server einen Reboot nach der Agentenaktualisierung benötigt.

Weiterer Hinweis: ist eine DPM Installation mit mehreren Servern vorhanden, so ist zumindest bei DPM Chaining ein Upgrade aller Server zwingend notwendig, bei zwei eigenständigen Servern wird ein gleicher Upgradestand der DPM Server zumindest empfohlen.

Bis zum nächsten Mal!

DPM 2012 R2 Update Rollup 7

Hallo,

das Update Rollup 7 für den Data Protection Manager 2012 R2 wurde veröffentlicht. Zu finden sind die Infos und der Download unter (englischer Artikel): https://support.microsoft.com/en-us/kb/3065246

Foglende Neuerungen werden dadurch implementiert:

  • Support für Windows 10 als Backupquelle
  • Nutzung eines alternativen DPM Servers beim Recovery von Daten aus einem Azure Backup Vault
    • Voraussetzung dafür ist, daß alle DPM Server, welche für das Recovery genutzt werden auf den gleichen Azure Backup Vault registriert sind

Zusätzlich zu den neuen Features werden wie immer ein paar Fehler korrigiert, unter anderem (für eine vollständige Übersicht siehe den KB-Artikel):

  • Hyper-V Replica: es wird jetzt immer die bei der Einrichtung angegebene VM gesichert, bisher kam es sporadisch zu einem Wechsel der Backuquelle (Original-/Replica-VM) ohne eine Möglichkeit der manuellen Steuerung
  • beim Anlegen einer Schutzgruppe wurde nicht immer der aktuelle Stand der Quellserver-Im Filestruktur angezeigt
  • Im Wiederherstellungstab wurden die Online Wiederherstellungspunkte bisher nicht angezeigt
  • und noch mehr

Sobald ich das Update Rollup mal installiert habe werde ich mögliche Probleme hier auf diesem Blog mitteilen. Wenn Ihr in nächster Zeit nichts hört, gibt es keine Probleme.

David

P.S. Auch für die anderen System Center Produkte ist das UR7 erschienen. Mein Kollege Robert Lehmann zeigt Euch das UR7 für den Virtual Machine Manager 2012 R2: http://cloud-os-blog.com/2015/07/29/update-rollup-7-for-system-center-2012-r2-virtual-machine-manager/

DPM 2012 U6 – Agent auf Server 2003 installieren

Obwohl ja Server 2003 bald ein definitves Support Ende erfährt, habe ich noch einmal ein Erlebnis dazu. Und zwar sollte der DPM Agent auf einem Server 2003 installiert werden. Der DPM Server war frisch aufgesetzt, das heißt erst DPM 2012 R2 vom Medium installert und dann direkt UR6.

Wenn man die Anleitung unter https://support.microsoft.com/de-de/kb/3030574 befolgt, muß man den Agenten manuell installieren. Dazu wird als Voraussetzung genannt, daß DonNet3.5 und die Visual C++ 2008 Redistributable benötigt werden.

Alles ausgeführt, allerdings zeigt der DPM den Agenten nach der Installation und Aktualisierung eine falsche Versionsnummer (4.1.3313.0).

DPMagentW2K3wrongversion

Eine Aktualisierung über den DPM Server schlug fehl. Jedoch bekommt man bei der Aktualisierung drei Hinweise:

1. Agent über Systemsteuerung – Software vom 2003er Server entfernen

2. DonNet 4 installieren

3. Visual C++ 2010 installieren

Also einen neuen Durchgang gestartet. Agent deinstalliert, DotNet4 und vcredist2010 auf den Server installiert.

Dann mußte auf dem DPM Server mit Hilfe von „Remove-Productionserver.ps1“ noch der 2003er Server aus der DPM Konsole entfernt werden.

Anschließend erneut den Agenten manuell auf dem 2003er Server installiert, auf dem DPM Server den Agenten verbunden und siehe da -> es funktioniert:

DPMagentW2K3working

Zusammenfassung der notwendigen Schritte wenn bereits ein fehlerhafter DPM 2012 R2 UR6 Agent auf einem Server 2003 ist:

  1. Deinstallation Agent auf dem W2K3 Server über „Systemsteuerung – Software“
  2. Entfernen des Hosts aus der DPM-Agentenanzeige mit Hilfe des Powershell Skriptes „Remove-ProductionServer.ps1“ (auf dem DPM Server)
  3. Installation vcredist_2010_x86 auf dem W2K3 Server (in der Anleitung zum UR6 steht vcredist_2008_x86)
  4. Installation DotNet4 x86 auf dem W2K3 Server (in der Anleitung steht DotNet35)
  5. Installer für den Agent auf dem W2K3 Server erneut installieren
  6. Auf dem W2K3 Server „setdpmserver –dpmservername [FQDN.DPM.Server]
  7. Auf dem DPM im Agententab den Agenten des W2K3 Servers verbinden

Bis zum nächsten Mal!

Active Directory – Gruppenfilterung aller GPOs als CSV ausgeben

Hallo,

und noch ein Skript. Mit dem nachfolgenden Skript werden von allen Gruppenrichtlinienonjekten die Gruppen oder Benutzer ausgegeben, auf welche die GPO angewendet bzw. gefiltert wird (siehe Screenshot) .

GPO-Sicherheitsfilterung

Ausgabe ist eine kommaseparierte Textdatei.

Aufruf:

GPOPermAsCSV.ps1

–> Ausgabe erfolgt nach C:\Temp\GPOPerm.csv

mit Parameter eigener Filename möglich:

GPOPermAsCSV.ps1 -Outputfile C:\temp\GPOfilteredGroups.csv

Skript: GPOPermAsCSV.ps1

#Beim Aufruf den Pfad für Output abfragen, Standard ist C:\Temp\GPOPerm.csv
param (
    [Parameter(HelpMessage='Bitte Pfad und Dateiname für Output angeben (z. B. C:\Ordner1\Datei1.csv)')]
    $Outputfile = 'C:\Temp\GPOPerm.csv'
      )

#Prüfen ob Datei bereits vorhanden, wenn ja, dann löschen
if ((Test-Path $Outputfile) -eq $true) {del $Outputfile}

#Variablen initialisieren
$i=0
$a=0
$GPOs = @()
$GPOs += 'Name'
$output =@()
$outputneu = @()

#Alle GPOs mit deren Eigenschaften auslesen
$AllGPOs = Get-GPO -All

#Anzahl GPOs messen
$GPOcount = $AllGPOs.Count

#GPO-Namen in Variable $GPOs schreiben
for ($a; $a -le $GPOcount; $a++) {$GPOs += ,$AllGPOs[$a].DisplayName}

#Da $GPOs[0] den Wert 'Name' hat, ab 1 beginnen
$a = 1

#Spaltenüberschrift schreiben
$Spaltenüberschrift = "GPO-Name,AD-Objekt,Berechtigung,vererbt"
$Spaltenüberschrift >> $Outputfile

#Für jede GPO die Permissions auslesen
for ($a; $a -le $GPOcount; $a++)  {
                        $output = Get-GPPermissions -All -Name $GPOs[$a]
                        $Anzahl = $output.Count
                        for ($i; $i -le $Anzahl; $i++)
                        {
#und wenn das GpoApply (Gruppenrichtlinien anwenden) auftaucht, die berechtigte(n) Gruppe(n) rausschreiben
                         if ($output.Permission[$i] -eq "GpoApply")
                         {
#Zuweisen der einzelnen Werte in eigene Variablen um am Ende einen String zu erhalten
                            $GPOName = $GPOs[$a]
                            $ADObject = $output.Trustee[$i].Name
                            $Permission = $output.Permission[$i]
                            $vererbt = $output.Inherited[$i]
                            $GPORight = [string]::Join(",", $GPOName, $ADObject, $Permission, $vererbt)
                            $GPORight >> $Outputfile
                         }
                        }
                        $i = 0
                     }
Write-Host "Done"

Viel Spaß!

DPM 2012 (R2) – Bänder der letzten Tagessicherung als Mail versenden

Hallo,

aufgrund einer Anforderung sollte eine Möglichkeit gefunden werden, alle Bänder der Sicherungen der letzten Nacht in einer separaten E-Mail auszugeben. Die Bänder sollen am Tag nach der Sicherung ausgelagert werden. Dies habe ich per Powershell-Skript realisiert. Das Skript wurde als geplanter Task eingerichet. Dafür hatte ich zunächst im DPM geschaut, wann die letzte Sicherung fertig ist und einen Puffer aufgeschlagen. Hier möchte ich das Skript zur Verfügung stellen.

Anmerkungen:
Funktioniert für DPM 2012, DPM 2012 R2 auf Windows Server 2012

$heute = Get-Date $date1 -Format "dd.MM.yyyy HH:mm:ss"

$Gestern = (Get-Date).AddDays(-1)
$Gestern = Get-Date $Gestern -Format "dd.MM.yyyy HH:mm:ss"

$Tapesauslagern = new-object system.collections.arraylist

$DPMLib = Get-DPMLibrary -DPMServerName "YOURDPMSERVER"
$Tapes = Get-Tape -DPMLibrary $DPMLib | Select CreationDate, Barcode

foreach ($_ in $Tapes)
{
    if ($_.Barcode -like "CLN*")
    {
        $a > $null
    }
    else
    {
        $Zeitstempel = Get-Date $_.CreationDate -Format "dd.MM.yyyy HH:mm:ss"
        if ($gestern -lt $Zeitstempel -and $Zeitstempel -lt $heute)
        {
            $Tapesauslagern = $Tapesauslagern + $_.Barcode
            Write-Host $_.CreationDate
        }
    }
}
$Mailtext = "DPM Bandsicherung erfolgt. Bitte folgende Bänder auslagern:" + $Tapesauslagern
$PSEmailServer = "YOURMAILSERVER"
Send-MailMessage -To "RCPT@domain.com" -From "DPMBACKUP@domain.local" -Subject "DPM Bandsicherung erfolgt" -Body $Mailtext
Disconnect-DPMServer

Kommentare sind Willkommen!

Tschüß!

DPM 2012 (R2) – abgelaufene Bänder jeden Tag als frei markieren

Hallo,

ich habe leider noch nicht ganz verstanden, wie abgelaufene Bänder automatisch als frei markiert werden. Dies sört mich und führt bei einer kleinen Tapelibrary schon zu Problemen. Ich habe daher ein kleines Powershell Skript geschrieben, welches die Tapes prüft und auf „frei“ setzt und dieses anschließend als geplanten Task eingerichtet. Ich habe den Taks auf 18 Uhr gelegt. Damit wird sichergestellt, daß immer freie Bänder für die nächsten Bandjobs zur Verfügung stehen. Ist vielleicht nicht die sauberste Lösung, aber praktikabel.

Anmerkungen:
Funktioniert für DPM 2012, DPM 2012 R2 auf Windows Server 2012
manueller Aufruf über DPM-Verwaltungsshell auch für DPM 2010 auf Windows Server 2008 R2 (ForceFree-Tape.ps1 muß erst auf dem Server abgelegt werden!)

$DPMLib = Get-DPMLibrary -DPMServerName "YOURDPMSERVER"
Get-Tape -DPMLibrary $DPMLib -Verbose | foreach { if ($_.DataSetState -eq "recyclable") {& ForceFree-Tape.ps1 -DPMServerName YOURDPMSERVER.domain.local -LibraryName "TAPE LIBRARY NAME FROM DPM TAPEVIEW" -TapeLocationList $_.Location}}
Disconnect-DPMServer

Kommentare sind Willkommen.

Tschüß!