VB.NET 2015 - Anzahl der Seiten in einer PDF ermitteln

Public Function GetPages(ByVal File As String)
      Dim PDFRD As PdfReader = New PdfReader(File)
      PDFPageCount = PDFRD.NumberOfPages
      Return PDFPageCount
End Function


Benötigt :
Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.Runtime.CompilerServices

Quellen :
iTextSharp - Library
http://developers.itextpdf.com/itextsharp-net
https://github.com/itext/itextsharp/releases

VB.NET 2015 - iTextSharp Seiten aus PDF Datei entnehmen (extract)

PDF Seiten aus einer PDF Datei mithilfe der Library iTextSharp in eine neue Datei exportieren.

Public Function ExtractPdfPages(ByVal SourceFile As String, ByVal TargetFile As String, ByVal IntStr As Integer, ByVal IntEnd As Integer)
        Try
            Dim impPage As PdfImportedPage = Nothing
            Dim Reader As New PdfReader(SourceFile)
            Dim srcDoc As New Document(Reader.GetPageSizeWithRotation(IntStr))
            Dim PdfCopyProvider As New PdfCopy(srcDoc, New System.IO.FileStream(TargetPath & "\" & TargetFile, System.IO.FileMode.Create))
            PdfCopyProvider.SetFullCompression()
            srcDoc.Open()
            For X = IntStr To IntEnd
                impPage = PdfCopyProvider.GetImportedPage(Reader, X)
                ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
                PdfCopyProvider.SetPageSize(New Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height))
                ' ----- PDF Seite in das neue Dokument einfügen
                PdfCopyProvider.AddPage(impPage)
            Next
            ' ----- neues PDF Dokument und den Reader schließen
            srcDoc.Close()
            Reader.Close()
        Catch ex As Exception
            Throw ex
        End Try
    End Function


Benötigt :

Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.Runtime.CompilerServices


Quellen :
iTextSharp - Library
http://developers.itextpdf.com/itextsharp-net
https://github.com/itext/itextsharp/releases

Exchange 2010 - Zustelloptionen (GrantSendOnBehalfTo) können nicht gesetzt werden

Problem :

Unter Microsoft Exchange 2010 wird versucht unter USERPOSTFACH -> Nachrichtenübermittlungseinstellungen -> Zustelloptionen einen neuen Benutzer hinzuzufügen.

Dies schlägt mit einer Meldung fehl

Fehler Zustelloptionen

Lösung :

Der Grund liegt hier vermutlich daran das ein Benutzer, der dieses Recht auf das betroffene Postfach hatte, gelöscht wurde.
Ein Vergleich zwischen der Exchange 2010 GUI und der Powershell hat ergeben das der gelöschte Benutzer noch das Recht hatte aber nicht in der GUI angezeigt wurde. In der GUI wurden 2 Benutzer angezeigt über die Powershell Abfrage 3.

Powershell Befehl um Zustelloptionen anzuzeigen :
Get-Mailbox -Identity "E-MAIL Adresse des Betroffenen Postfaches"  | Select GrantSendOnBehalf

Diesen Output mit den Einträgen in der GUI vergleichen. In meinem Fall waren diese Unterschiedlich, ich habe mir die vorhanden Zustelloptionen gemerkt und dann komplett geleert. Nach dem leeren konnte ich alle vorhanden incl. des neuen Benutzers wieder über die GUI eintragen.

Powershell Befehl um Zustelloptionen komplett zu leeren :
Set-Mailbox -Identity "E-MAIL Adresse des Betroffenen Postfaches" -GrantSendOnBehalfTo $null


“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)