Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poprzednim artykule utworzyliśmy konfiguracje dla dwóch nowych poleceń cmdlet. Korzystając z tej konfiguracji, crescendo może wygenerować nowy moduł skryptu programu PowerShell.
Generowanie nowego modułu
Teraz możesz przystąpić do tworzenia modułu.
Export-CrescendoModule Użyj polecenia cmdlet, aby wygenerować nowy moduł skryptu programu PowerShell.
Export-CrescendoModule -ConfigurationFile AzCmAgent.json -ModuleName AzCmAgent.psm1
Plik ConfigurationFile może przyjmować tablicę nazw plików. Umożliwia to tworzenie oddzielnych plików JSON dla każdego polecenia cmdlet. Parametr ModuleName określa pełną ścieżkę i nazwę pliku dla tworzonego pliku modułu. W tym przykładzie pliki są tworzone w bieżącym katalogu.
Jak widać na poniższych danych wyjściowych, Export-CrescendoModule tworzy dwa pliki — plik modułu (PSM1) i plik manifestu modułu (PSD1). Są to jedyne pliki, które użytkownik końcowy modułu musi zainstalować.
Directory: D:\temp\azcmagent
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 3/9/2022 1:59 PM 2167 AzCmAgent.json
-a--- 3/9/2022 2:33 PM 4365 AzCmAgent.psd1
-a--- 3/9/2022 2:33 PM 8017 AzCmAgent.psm1
Testowanie poleceń cmdlet w module
Aby przetestować moduł, zaimportuj go do sesji programu PowerShell i uruchom polecenia cmdlet.
Import-Module .\AzCmAgent.psd1
Get-Command -Module AzCmAgent
CommandType Name Version Source
----------- ---- ------- ------
Function Get-AzCmAgentConfigProperty 0.0.1 AzCmAgent
Function Show-AzCmAgent 0.0.1 AzCmAgent
W poprzednim artykule zdefiniowaliśmy dwa polecenia cmdlet.
Ważne
Narzędzie azcmagent wymaga uruchomienia podniesienia uprawnień. Oznacza to, że moduł należy uruchomić w sesji programu PowerShell z podwyższonym poziomem uprawnień.
Show-AzCmAgent
resourceName :
resourceGroup :
resourceNamespace :
subscriptionId :
tenantId :
vmId :
correlationId :
vmUuid :
location :
privateLinkScope :
cloud :
agentVersion : 1.15.01879.114
logs : C:\ProgramData\AzureConnectedMachineAgent\Log\himds.log
status : Disconnected
lastHeartbeat :
agentErrorCode :
agentErrorDetails :
agentErrorTime :
httpsProxy :
proxyBypass :
cloudProvider : N/A
cloudMetadata :
manufacturer : LENOVO
model : 30BFS07500
sql : false
services : {@{displayName=GC Service; serviceName=gcarcservice; status=running},
@{displayName=Extension Service; serviceName=extensionservice; status=running},
@{displayName=Agent Service; serviceName=himds; status=running}}
Teraz, gdy polecenie zostało wzmocnione azcmagent show , może on uczestniczyć w potoku programu PowerShell.
Show-AzCmAgent | Select-Object -ExpandProperty services
displayName serviceName status
----------- ----------- ------
GC Service gcarcservice running
Extension Service extensionservice running
Agent Service himds running
Następnie przetestujemy Get-AzCmAgentConfigProperty polecenie cmdlet.
Get-AzCmAgentConfigProperty -Property proxy.url
Type Status Messages Data
---- ------ -------- ----
0 success {proxy.url has not been set}
Znajdowanie poleceń cmdlet utworzonych przez usługę Crescendo
Podczas tworzenia i wdrażania większej liczby modułów opartych na protokole Crescendo korzystne może być określenie, czy polecenie cmdlet zostało wygenerowane przez narzędzie Crescendo. Crescendo udostępnia Test-IsCrescendoCommand polecenie cmdlet ułatwiające pomoc.
Test-IsCrescendoCommand -Command Get-AzCmAgentConfigProperty
Module: AzCmAgent
Name IsCrescendoCommand RequiresElevation
---- ------------------ -----------------
Get-AzCmAgentConfigProperty True False
Uwaga
Jak wspomniano wcześniej, nowy moduł musi być uruchamiany w sesji z podwyższonym poziomem uprawnień. W tym przykładzie Test-IsCrescendoCommand zwrócono wartość RequiresElevation jako False. Crescendo udostępnia metody podniesienia uprawnień dla wszystkich platform. Jednak nie uwzględniliśmy podniesienia uprawnień w naszych przykładach konfiguracji.