Neue PowerShell-Bibliothek als OpenSource-Projekt bei GitHub
FeaturedIch habe schon diverse PowerShell-Skripte rund um das DRACOON API geschrieben. Auf Basis der bisherigen Skripte entstand ein PowerShell-Modul, welches die gesamte Interaktion verkapselt. Seit heute ist das Modul unter https://github.com/Callidus2000/Dracoon und in der PowerShell Gallery verfügbar.
Es würde mich freuen, wenn es anderen Kunden von DRACOON beim Scripting hilft und noch mehr, wenn sich andere Entwickler an der Erweiterung beteiligen. Schlussendlich bietet das Modul aktuell nur die Funktionalitäten, welche ich für interne Skripte benötigt habe – und das ist nur ein Bruchteil der über 150 API-Endpunkte, die DRACOON bietet ...
-Sascha Spiekermann
-
Hey! Sehr schönes Modul. Bin begeistert, dass es mit dem PSFramework gebaut wurde. Ich habe ebenfalls ein Modul für DRACOON gestartet, welches aktuell noch sehr rudimentär ist und einen UseCase zum Versenden von Covid-Testergebnissen dient. Vielleicht können wir uns dazu mal connecten. Mein Modul setzt ebenfalls auf das PSFramework, evtl. könnte man die Funktionalität meines Moduls in deines integrieren.
Habe eine Anfrage über XING gesendet, würde mich über eine Rückmeldung sehr freuen! :)
-
Moin,
Xing bestätigt, danke für das Feedback. Die Funktionalitäten zu integrieren sollte kein Problem sein. Bevor ich mir das anschaue, möchte/muss ich aber noch den Three Legged OAuth Flow implementieren, da SMS-Versand nur in der Cloud geht und ich dort nur eine m365-Anmeldung habe. Und getestet werden sollte das ja schon ;-)
-
Die benötigte Funktionalität für den Anwendungsfall ist seit v1.2.3 (Versionsnummer reiner Zufall) in meinem Modul komplett vorhanden. Um ein Gefühlt für die Komplexität zu bekommen: Brutto (also die eigentliche Programm-Logik ohne Doku etc.) reden wir so nur noch von einem Dutzend Zeilen Code:
$connection = Connect-Dracoon -Url "$fqdn" -ClientID $ClientID -clientSecret $clientSecret -Credential $credentials
$metaData=Import-Csv -Path $metaDataFilename -Delimiter ";"
foreach ($data in $metaData){
try {
$uploadFile = Publish-DracoonFile -Connection $connection -FilePath $data.File -EnableException $true -ParentNodeId $uploadRoomId
$newShare=New-DracoonDownloadShare -Connection $connection -NodeId $uploadFile.id -Password $data.Password -TextMessageRecipients $data.Mobile -EnableException $true
Send-DracoonDownloadShareMail -Connection $connection -Id $newShare.id -Recipient $data.Mail -MailBody $mailBody -EnableException $true
}
catch {
Write-Host "Error sending $data"
}
}
Please sign in to leave a comment.
Comments
4 comments