Pokud chcete ladit prostředek DSC, spustíte konfiguraci, která tento prostředek volá. V tomto příkladu se podíváme na jednoduchou konfiguraci, která volá prostředek WindowsFeature, abychom zajistili , že je nainstalovaná funkce WindowsPowerShellWebAccess:
Po kompilaci konfigurace ji spusťte voláním Start-DscConfiguration. Konfigurace se zastaví, když místní Configuration Manager (LCM) zavolá první prostředek v konfiguraci. Pokud použijete -Verbose parametry a -Wait , zobrazí se ve výstupu řádky, které je potřeba zadat, abyste mohli spustit ladění.
Start-DscConfiguration .\PSWebAccess -Wait -Verbose
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfiguration
Manager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583.
VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583.
VERBOSE: [TEST-SRV]: LCM: [ Start Set ]
WARNING: [TEST-SRV]: [DSCEngine] Warning LCM is in Debug 'ResourceScriptBreakAll' mode. Resource script processing will
be stopped to wait for PowerShell script debugger to attach.
VERBOSE: [TEST-SRV]: [DSCEngine] Importing the module C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateCo
nfiguration\DscResources\MSFT_RoleResource\MSFT_RoleResource.psm1 in force mode.
VERBOSE: [TEST-SRV]: LCM: [ Start Resource ] [[WindowsFeature]PSWA]
VERBOSE: [TEST-SRV]: LCM: [ Start Test ] [[WindowsFeature]PSWA]
VERBOSE: [TEST-SRV]: [[WindowsFeature]PSWA] Importing the module MSFT_RoleResource in force mode.
WARNING: [TEST-SRV]: [[WindowsFeature]PSWA] Resource is waiting for PowerShell script debugger to attach.
Use the following commands to begin debugging this resource script:
Enter-PSSession -ComputerName TEST-SRV -Credential <credentials>
Enter-PSHostProcess -Id 9000 -AppDomainName DscPsPluginWkr_AppDomain
Debug-Runspace -Id 9
V tomto okamžiku LCM zavolal prostředek a dospěl k prvnímu bodu zarážky. Poslední tři řádky ve výstupu ukazují, jak se připojit k procesu a spustit ladění skriptu prostředku.
Ladění skriptu prostředků
Spusťte novou instanci prostředí PowerShell ISE. V podokně konzoly zadejte poslední tři řádky výstupu z výstupu Start-DscConfiguration jako příkazy a nahraďte <credentials> platnými přihlašovacími údaji uživatele. Teď by se měla zobrazit výzva, která vypadá nějak takto:
Skript prostředku se otevře v podokně skriptů a ladicí program se zastaví na prvním řádku funkce Test-TargetResource (metoda Test() prostředku založeného na třídě. Teď můžete pomocí ladicích příkazů v ISE procházet skript prostředků, podívat se na hodnoty proměnných, zobrazit zásobník volání atd. Mějte na paměti, že každý řádek ve skriptu prostředku (nebo třídě) je nastavený jako bod zarážky.
Zakázání ladění DSC
Po volání Enable-DscDebug všechna volání Start-DscConfiguration způsobí, že konfigurace prolomí ladicí program. Pokud chcete povolit normální spouštění konfigurací, je nutné zakázat ladění voláním rutiny Disable-DscDebug .
Poznámka
Restartování nezmění stav ladění LCM. Pokud je ladění povolené, spuštění konfigurace se i po restartování prolomí do ladicího programu.
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
Zpětná vazba k produktu DSC
DSC je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Tento modul zkoumá nástroje a procesy používané k ladění konzolových aplikací jazyka C# v editoru Visual Studio Code. Praktické aktivity poskytují zkušenosti s používáním zarážek, podmíněných zarážek a ladění prostředků v zobrazení SPUSTIT A LADIT.