2016-06-30 16 views
2

Ich spiele gerade mit Azure-Funktionen, insbesondere einer PowerShell-Skriptfunktion. Ich frage mich, wie ich ein Skript verwenden kann, das SharePoint Online erreicht.Azure-Funktionen: PowerShell-Skript, das mit SharePoint Online interagiert

Um gegen Sharepoint Online betreibe ich normalerweise den „Sharepoint Online-Verwaltungsshell“, die eine Version von Powershell ist verwenden würde, dass Vorbelastungen die Bibliothek Sharepoint Online, so dass ich Methoden wie Get-SPOSite verwenden können usw.

Wie kann ich diese Bibliothek in mein Azure Function PowerShell-Skript einschließen, damit ich diese Funktionen verwenden kann? Ich nehme an, dass ich die Bibliothek am Anfang meines Skripts laden muss, aber wie lade ich die Bibliothek?

Ich habe die DLL in meiner Funktion hochgeladen und ich versuche zu verwenden:

[System.Reflection.Assembly]::LoadFrom('Microsoft.Online.SharePoint.Client.Tenant.dll') 

Aber das scheint nicht zu funktionieren. Ich denke, mein Problem ist, dass ich den absoluten Pfad zu meiner hochgeladenen Datei nicht kenne. Dies ist, was ich auf dem linken Fensterbereich sehen:

enter image description here

Aber ich weiß nicht, was der Pfad dieser Dateien ist.

Irgendwelche Ideen? Dokumentation ist frustrierend schlank mit den Azure-Funktionen in der Minute.

Antwort

5

Der Pfad zu Ihrem Azure Funktion Verzeichnis ist

D:\home\site\wwwroot\<YourFunctionName> 

In der neuesten Version Azure-Funktionen (Version 0.3) wir DLLs in Ihrem Namen unterstützen zu laden. Sie müssen einen Ordner mit dem Namen Module erstellen und die DLL in diesen Ordner hochladen. Sie können jetzt Skript (.psm1), Binär (.dll) und Manifest (.psd1) Module in die Module Ordner hochladen und sie werden automatisch geladen, bevor Sie das Skript ausführen.

Lassen Sie uns die Probe MyMathLib Assembly als Referenz verwenden.

Angenommen, Sie haben eine Funktion namens RunSimplePowerShell, und haben die benutzerdefinierte Bibliothek mit dem Namen MyMathLib hochgeladen.dll in den Ordner wie folgt

D:\home\site\wwwroot\RunSimplePowerShell\modules\MyMathLib.dll 

Dann Ihre Powershell-Skript namens run.ps1, die wie folgt beschrieben werden

D:\home\site\wwwroot\RunSimplePowerShell\run.ps1 

konnte

[MyMathLib.Methods]::Sum(5, 2) 

$calculatorInstance= New-Object MyMathLib.Methods 
$calculatorInstance.Product(5,2) 

Mit Azure Funktionen in

residiert Release 0.3, können Sie jetzt die Zeile

[Reflection.Assembly]::LoadFile("D:\home\site\wwwroot\RunSimplePowerShell\MyMathLib.dll") 
überspringen
1

Ich habe es herausgefunden, etwas.

Um den absoluten Pfad Ihrer Dateien zu ermitteln, können Sie auf die Konsole in Azure Functions zugreifen. Um zur Konsole zu gelangen, muss man etwas klicken. Aus Ihrer Azure Funktion:

Funktion App-Einstellungen -> Erweiterte Einstellungen -> Zur App-Service Einstellungen -> Extras -> Console

Sie werden die Verzeichnisnamen in der Eingabeaufforderung sehen . Sie können dann verwenden:

[Reflection.Assembly]::LoadFile("<directory>\MyLibraryNameHere.dll") 

Um Ihre Baugruppe einzuziehen.

Verwandte Themen