Log delle modifiche
Tutte le modifiche rilevanti apportate a DSCv3 sono documentate in questo file. Il formato è basato su Keep a Changeloge DSCv3 è conforme a Semantic Versioning.
Questa sezione include un riepilogo delle modifiche rivolte all'utente dall'ultima versione. Per l'elenco completo delle modifiche apportate dall'ultima versione, vedere il diff in GitHub.
v3.0.0-preview.8 - 2024-06-19
Questa sezione include un riepilogo delle modifiche per la versione preview.8
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Modificata l'adattatore
Microsoft.DSC/PowerShell
in modo da gestire solo le risorse DSC di PowerShell implementate come classi. L'adattatoreMicrosoft.Windows/WindowsPowerShell
continua a funzionare con le risorse PSDSC classiche. Nessun adattatore supporta risorse PSDSC composite. Questa modifica semplifica il codice e coincide con la garanzia che l'adattatoreMicrosoft.DSC/PowerShell
funzioni correttamente in Linux e macOS e Windows. Questa modifica ha anche portato miglioramenti delle prestazioni all'adattatore, velocizzando la chiamata e l'individuazione delle risorse.
Aggiunta dell'opzione
( ) al comando set di configurazione dsc . Quando si chiama dsc config set
con l'opzione--what-if
, DSC non richiama effettivamente le risorse per applicare lo stato desiderato. Restituisce invece l'output previsto per il comando, che mostra lo stato prima e dopo per ogni istanza di risorsa.L'output per l'operazione di
dsc config set
con l'operazione di--what-if
equivale a un'operazione effettiva del set di configurazione , ad eccezione del fatto che il campo dei metadati executionType è impostato suWhatIf
anziché suActual
.Per impostazione predefinita, l'output generato è sintetico, in base ai risultati dell'operazione di
test
delle risorse. Le risorse possono definire l'proprietà whatIf nel manifesto delle risorse per partecipare alle operazioni di simulazione, segnalando in modo più specifico come cambieranno il sistema. Ad esempio, le risorse partecipanti potrebbero indicare se un'operazione di set effettiva richiederà un riavvio o se l'utente corrente dispone delle autorizzazioni corrette per gestire l'istanza della risorsa.Aggiunta del supporto per le risorse dell'utilità di importazione . Queste risorse risolvono le origini esterne in un documento di configurazione DSC annidato. Le istanze risolte vengono elaborate come istanze di risorse annidate.
Sono necessari alcuni aggiornamenti degli schemi, tutti compatibili con le versioni precedenti:
- È stato aggiunto un nuovo resourceKind denominato
Import
. - Aggiunta del comando resolve ai manifesti delle risorse.
- È stata aggiunta la nuova funzionalità di
Resolve
, restituita nell'output per l'elenco di risorse dsc comando quando DSC individua una risorsa di importazione.
- È stato aggiunto un nuovo resourceKind denominato
Aggiunta della risorsa di importazione
Microsoft.DSC/Include
per risolvere le istanze da un documento di configurazione esterno. Le istanze risolte vengono elaborate come istanze annidate per l'istanza della risorsaMicrosoft.DSC/Include
.È possibile usare questa risorsa per scrivere documenti di configurazione più piccoli e componerli in base alle esigenze. Ad esempio, è possibile definire una baseline di sicurezza e una configurazione del server Web separatamente, quindi combinarle per una determinata applicazione:
$schema: &schema https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json resources: # Group of included baseline configurations - name: Baselines type: Microsoft.DSC/Group properties: $schema: *schema resources: - name: Security Baseline type: Microsoft.DSC/Include properties: configurationFile: security_baseline.dsc.yaml parametersFile: security_baseline.parameters.yaml - name: Web Server Baseline type: Microsoft.DSC/Include properties: configurationFile: web_baseline.dsc.yaml parametersFile: web_baseline.parameters.yaml dependsOn: - "[resourceId('Microsoft.DSC/Include', 'Security Baseline')]" # application configuration instances, all depend on the baselines - name: Application configuration type: MyApp/Settings properties: someSetting: someValue dependsOn: - "[resourceId('Microsoft.DSC/Group', 'Baselines')]"
Aggiunta della memorizzazione nella cache per le risorse PSDSC (Desired State Configuration) di PowerShell quando si usano le schede
Microsoft.DSC/PowerShell
eMicrosoft.Windows/PowerShell
. Gli adattatori usano la cache per velocizzare l'individuazione delle risorse. Il miglioramento delle prestazioni riduce il tempo dell'elenco di risorse sottoposto a test da otto secondi a due secondi e riduce i tempi delle operazioni di chiamata per metà.Gli adapter memorizzano nella cache le risorse nelle posizioni seguenti, a seconda della piattaforma:
Adattatore Piattaforma Sentiero Microsoft.DSC/PowerShell
Linux $HOME/.dsc/PSAdapterCache.json
Microsoft.DSC/PowerShell
macOS $HOME/.dsc/PSAdapterCache.json
Microsoft.DSC/PowerShell
Finestre %LOCALAPPDATA%\dsc\PSAdapterCache.json
Microsoft.Windows/PowerShell
Finestre %LOCALAPPDATA%\dsc\WindowsPSAdapterCache.json
Gli adattatori controllano se la cache non è aggiornata in ogni esecuzione e aggiornala se:
- La variabile di ambiente
PSModulePath
viene aggiornata. - Qualsiasi modulo viene aggiunto o rimosso dal
PSModulePath
. - Tutti i file correlati in un modulo di risorse PSDSC memorizzato nella cache sono stati aggiornati dopo la scrittura della cache. L'adattatore controlla la
LastWriteTime
dei file di modulo con le estensioni seguenti:.ps1
,.psd1
,.psm1
e.mof
.
- La variabile di ambiente
Aggiunta della risorsa
DSC.PackageManagement/Apt
per la gestione del software nei sistemi che usano lo strumento di pacchetto avanzato (APT). In questa versione è possibile usare la risorsa per:- Installare la versione più recente di un pacchetto.
- Disinstallare un pacchetto.
- Ottenere lo stato corrente di un pacchetto.
- Esportare ogni pacchetto installato come istanza di risorsa DSC.
elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #434
Aggiunta della risorsa PSDSC basata sulla classe
Microsoft.DSC.Experimental/SystemctlService
. Include le funzionalità diGet
eExport
. È possibile usarlo nei sistemi Linux che gestiscono i servizi con SystemD esystemctl
. In questa versione non supporta i servizi di impostazione.elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #454
Correzione dello schema JSON per codici di uscita nel manifesto della risorsa per supportare numeri interi negativi. Prima di questa versione, il motore DSC supportava codici di uscita negativi, ma lo schema JSON li impedisce.
Correzione del comportamento della int() funzione di configurazione per l'errore quando viene specificato un valore di input diverso da una stringa o un numero intero. Prima di questa versione, quando è stato specificato un numero con una parte frazionaria come input per la funzione, il valore di input è stato costretto a un numero intero che rappresenta la parte frazionaria. A partire da questa versione, la funzione
int()
genera un errore di input non valido quando il valore di input non è una stringa o un numero intero.Correzione dell'implementazione per recuperare descrizioni del codice di uscita diverso da zero per gli errori delle risorse dal manifesto della risorsa, se definito. Prima di questa versione, queste descrizioni degli errori non venivano rilevate.
v3.0.0-preview.7 - 2024-04-22
Questa sezione include un riepilogo delle modifiche per la versione preview.7
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Il segmento di versione degli URI dello schema per DSC è stato aggiornato da
2023/10
a2024/04
per supportare modifiche di schema di rilievo rispetto agli schemi usatialpha.5
. Altre informazioni sulle modifiche specifiche apportate agli schemi sono disponibili nelle voci del log delle modifiche seguenti:- 'providers' rinominato in 'adapter'
- Aggiunta dell'operazione 'delete' per le risorse
- Aggiunta dell'opzione per specificare un contesto di sicurezza necessario per un documento di configurazione
- 'opzione Aggiungi per specificare un argomento di input JSON per i comandi delle risorse
- Aggiungere la proprietà 'kind' ai manifesti delle risorse
- tipi di parametro 'SecureObject' e 'SecureString' cased Camel
- Aggiungere 'capabilities' all'output 'dsc resource list'
- Aggiunta di metadati alla configurazione e all'output delle risorse
Aggiornare i documenti di configurazione e i manifesti delle risorse per usare gli URI seguenti per la parola chiave
$schema
:Canonical URI for configuration documents: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json Bundled URI for configuration documents: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/config/document.json Enhanced Authoring in VS Code URI for configuration documents: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/config/document.vscode.json Canonical URI for resource manifests: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.json Bundled URI for resource manifests: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/resource/manifest.json Enhanced Authoring in VS Code URI for resource manifests: >- https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/resource/manifest.vscode.json
elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #397
In questa versione, il termine
DSC Resource Provider
viene sostituito con l'DSC Resource Adapter
più semanticamente accurato . Queste risorse consentono agli utenti di sfruttare le risorse che non definiscono un manifesto delle risorse DSC con DSC, ad esempio le risorse PSDSC, che sono adattatori tra DSCv3 e le risorse definite in modo diverso.Oltre a usare una terminologia diversa nella documentazione, questa modifica ha anche rinominato la proprietà del manifesto della risorsa
provider
in adaptere la proprietàrequires
nell'output perdsc resource list
è stata rinominata in requireAdapter.Modifica della combinazione di maiuscole e minuscole per l'enumerazione del tipo di parametro da
SecureString
asecureString
eSecureObject
asecureObject
, in modo che corrispondano meglio alle enumerazioni dei tipi in ARM.elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #364
La funzione
envvar() genera ora un errore quando la variabile di ambiente specificata non esiste anziché restituire una stringa vuota. Questa modifica consente di ridurre gli errori imprevisti e difficili da diagnosticare quando una configurazione prevede un valore dalla variabile di ambiente. Rinominata la variabile di ambiente
DscConfigRoot
inDSC_CONFIG_ROOT
. DSC ora assoluisce correttamente la variabile, anche quando il percorso di un documento di configurazione è un percorso relativo. DSC genera anche un avviso quando si definisce la variabile di ambiente all'esterno di DSC prima di eseguirne l'override.Aggiornamento del comportamento predefinito dell'elenco di risorse dsc
comando e aggiunta della nuova opzione--adapter al comando. Prima di questa versione, il comando chiamò sempre il comando
list
per qualsiasi adattatore individuato, anche quando si cerca una risorsa non adattata in base al nome. L'enumerazione delle risorse adattate può essere un processo lento, quindi il comando non chiama più gli adapter per elencare le risorse adattate per impostazione predefinita.È invece possibile utilizzare l'opzione
--adapter
per specificare un filtro per gli adattatori per cui si desidera elencare le risorse adattate. Specificare il nome completo del tipo di un adattatore o di una stringa, inclusi i caratteri jolly (*
) da usare come filtro per i nomi degli adattatori. È possibile specificare il filtro*
per fare in modo che DSC chiami l'operazione dilist
per ogni adattatore individuato, restituendo tutte le risorse adattate.Per altre informazioni, vedere elenco di risorse dsc.
Aggiornamento della vista tabella per l'elenco di risorse dsc comando per visualizzare il tipo di risorsa e le funzionalità. La colonna capabilities nella tabella usa i flag di bit per la visualizzazione per mantenere gestibile la larghezza delle colonne.
Per altre informazioni, vedere la sezione "Output" di elenco di risorse dsc.
Aggiunta del comando di eliminazione della risorsa dsc e della proprietà dell'operazione di eliminazione al manifesto della risorsa. Prima di questa versione, le risorse dovevano gestire l'eliminazione delle risorse come parte dell'operazione di set
e le linee guida per lo sviluppo dovevano usare la proprietà standard _exist per indicare se una risorsa deve esistere.Gli autori di risorse possono ora indicare tramite il manifesto della risorsa se la risorsa supporta l'operazione di
delete
con un comando separato o come parte dell'operazione diset
. Può essere più semplice implementare un'operazione didelete
separata rispetto a gestire l'eliminazione di istanze come parte diset
. È possibile implementare la risorsa per avere un comandodelete
esplicito e gestire l'eliminazione di istanze come parte di un'operazione diset
.È anche possibile usare il comando
dsc resource delete
per eliminare istanze una alla volta. Per questo comando, l'input JSON definisce il filtro da passare alla risorsa per l'eliminazione dell'istanza. Per altre informazioni, vedere riferimento al comando dsc resource delete.Se la risorsa gestisce l'eliminazione di istanze come parte di
set
, usare la proprietà handleExist per indicare a DSC. Quando questa proprietà ètrue
, la risorsa dispone della funzionalità SetHandlesExist.Se la risorsa dispone di un comando separato per l'eliminazione delle istanze, usare la proprietà delete nel manifesto della risorsa per indicare a DSC e ad altri strumenti come richiamare l'operazione. Quando questa proprietà è definita, la risorsa ha la funzionalità di eliminazione .
Se la risorsa gestisce l'eliminazione di istanze, è necessario aggiungere la proprietà standard
_exist
allo schema dell'istanza della risorsa. Sebbene sia possibile usare qualsiasi nome di proprietà, DSC è a conoscenza solo delle operazioni di eliminazione quando si usa la proprietà_exist
. DSC non saprà chiamare l'operazione didelete
per le risorse che non hanno la funzionalità SetHandlesExist.Per le risorse che implementano
delete
ma non gestiscono_exist
nell'operazione diset
, DSC può ora richiamare l'operazione di eliminazione in base alle esigenze in una configurazione ogni volta che applica lo stato desiderato per un'istanza di una risorsa con la proprietà_exist
impostata sufalse
.Aggiunta dell'opzione per specificare se un documento di configurazione richiede autorizzazioni radice o elevate. È ora possibile definire la proprietà dei metadati
securityContext
nello spazio dei nomiMicrosoft.DSC
in un documento di configurazione per specificare il contesto di sicurezza da usare:-
Current
: qualsiasi contesto di sicurezza. Si tratta dell'impostazione predefinita se non si specifica questa proprietà in un documento di configurazione. -
Elevated
: con privilegi elevati come radice o come amministratore. -
Restricted
: non con privilegi elevati come radice o come amministratore.
Ad esempio, i metadati seguenti all'inizio di un documento di configurazione indicano che DSC deve essere eseguito come account utente normale, non come radice o amministratore:
metadata: Microsoft.DSC: securityContext: restricted
Per altre informazioni, vedere schema dei metadati del documento di configurazione DSC .
-
Aggiunta dell'opzione per definire un argomento di input JSON per i comandi delle risorse. Quando si definisce l'elenco di
args
per i comandi seguenti, è ora possibile definire un argomento speciale per cui il comando prevede di ricevere i dati JSON compressi per:- eliminare
- di esportazione
- ottenere
- set di
- test
- convalidare
DSC invia dati a questi comandi in tre modi:
- Quando
input
èstdin
, DSC invia i dati come stringa che rappresentano i dati come oggetto JSON compresso senza spazi o nuove righe tra le proprietà dell'oggetto. - Quando
input
èenv
, DSC invia i dati come variabili di ambiente. Crea una variabile di ambiente per ogni proprietà nell'oggetto dati di input, usando il nome e il valore della proprietà. - Quando la matrice
args
include una definizione di argomento di input JSON, DSC invia i dati come stringa che rappresentano i dati come oggetto JSON compresso all'argomento specificato.
Se non si definisce la proprietà
input
e non si definisce un argomento di input JSON, DSC non può passare il codice JSON di input alla risorsa. È possibile definire un solo argomento di input JSON per un comando.È necessario definire la proprietà
input
, un argomento di input JSON nella matrice di proprietàargs
o entrambi. Per altre informazioni, vedere la documentazione relativa allo schema per la proprietà del comando.Aggiunta di funzioni di configurazione:
Le nuove funzioni matematiche includono add(), div(), max(), min(), mod(), mul()e sub(). Le funzioni matematiche operano solo su valori interi.
La funzione reference()
consente di fare riferimento all'output dei risultati per altre risorse, in modo da poter usare le proprietà di un'istanza di risorsa come valori per un'altra. La funzione reference()
funziona solo per le risorse già gestite da DSC in una configurazione. È consigliabile aggiungere sempre la risorsa a cui si fa riferimento con la funzionereference()
all'elenco di dependsOn per l'istanza usando il riferimento.La funzione createArray()
consente di creare matrici di un determinato tipo da valori. La funzione int()
consente di convertire stringhe e numeri con parti frazionarie in numeri interi.
Aggiunta della proprietà tipo di allo schema del manifesto della risorsa e all'output risorsa adattatoreper l'elenco di risorse dsc comando . Questa proprietà indica se la risorsa è una risorsa gruppo di( ), un ( ) o nessuno dei due ( ). Per altre informazioni, vedere informazioni di riferimento sullo schema tipo di risorsa DSC. Questa proprietà è obbligatoria nel manifesto della risorsa per le risorse di gruppo. Se il manifesto della risorsa non definisce la proprietà
kind
, DSC può dedurre se la risorsa è una risorsa adapter o meno. Microsoft consiglia sempre di definire in modo esplicito questa proprietà nei manifesti delle risorse, perché lo schema può applicare la convalida avanzata in base al valore della proprietàkind
.Aggiunta della proprietà funzionalità di all'output per l'elenco di risorse dsc comando . La proprietàcapabilities
indica come è possibile usare la risorsa DSC e il modo in cui DSC e altri strumenti di ordine superiore devono gestirla.Aggiunta della proprietà
metadata
agli output perdsc config
e sottocomandidsc resource
. Questa proprietà nell'output definisce che il contesto DSC è stato eseguito in e informazioni sull'operazione. Per altre informazioni, vedere le informazioni di riferimento sull'output per ogni comando:Aggiunta dell'analisi per le funzioni di configurazione nei valori predefiniti dei parametri. Prima di questa versione, dsc interpretava le funzioni di configurazione nei valori predefiniti dei parametri come stringhe letterali.
elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #364
Aggiunta della convalida del tipo per il parametro valori predefiniti. Prima di questa versione, DSC non convalidava che il valore predefinito per un parametro fosse valido per il tipo del parametro.
elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #364
Aggiunta del supporto per le risorse per inviare informazioni di traccia a DSC durante l'esecuzione del comando. Le risorse DSC possono generare oggetti JSON a stderr. Se l'oggetto ha una proprietà nell'elenco seguente con un valore stringa, DSC interpreta l'oggetto generato come messaggio del livello corrispondente:
Error
,Warning
,Info
,Debug
,Trace
.Ad esempio, DSC interpreta una risorsa che genera il codice JSON seguente in stderr come avviso:
{"Warning":"Unable to access remote store, using cached local package data only"}
DSC genera questi messaggi insieme ai propri messaggi quando il livello di traccia specificato per il comando è uguale o inferiore al livello del messaggio.
Per altre informazioni sui livelli di traccia, vedere l'opzione
--trace-level per il comando radice dsc. Aggiunta della convalida per garantire che le risorse restituiscono dati per le istanze valide rispetto al proprio schema JSON dell'istanza. Prima di questa versione, i dati restituiti non sono stati convalidati.
Aggiunta delle barre di stato su più righe per il comando
dsc resource list
per fornire feedback agli utenti interattivi sul processo di individuazione delle risorse. Prima di questa versione, il comando viene eseguito automaticamente.elementi di lavoro correlati
- Problemi: Nessuna.
- Richieste pull: #323
Aggiunta della funzionalità per l'inserimento di metadati per le risorse dell'adapter per indicare se i dati in ingresso sono destinati a una configurazione anziché alla chiamata diretta della risorsa. Prima di questa versione, gli adapter non avevano modo di distinguere tra una chiamata a istanza singola per una configurazione e una chiamata diretta alle risorse.
Con questa modifica, DSC inserisce quanto segue nell'oggetto dati inviato all'adapter durante un comando
dsc config
:"metadata": { "Microsoft.DSC": { "context": "Configuration" } }
Gli adattatori possono quindi verificare se questo valore è impostato nei dati di input e gestirlo in base alle esigenze.
Aggiunta della risorsa
Microsoft.Windows/RebootPending
, che controlla se un computer Windows ha un riavvio in sospeso. Può essere usato solo per le asserzioni, non per applicare lo stato.Aggiunta della risorsa
Microsoft.DSC.Transitional/RunCommandOnSet
, che esegue un eseguibile o uno script specificato con argomenti specificati durante un'operazione diset
. Questa risorsa è destinata a una risorsa temporanea transitoria durante la migrazione a DSCv3 e all'implementazione delle risorse per le proprie esigenze.
v3.0.0-alpha.5 - 2024-02-27
Questa sezione include un riepilogo delle modifiche per la versione alpha.5
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Aggiornamento delle opzioni per il comando radice
dsc
:Rimossa l'opzione
--format
globale, che controlla il formato di output. Ora, i sottocomandi pertinenti che restituiscono output formattato hanno l'opzione--format
(opzione breve come-f
) aggiunta.Rimosse le opzioni di
--input
e--input-file
globali. I sottocomandiconfig
dispongono ora delle opzioni di--document
e--path
per specificare il documento di configurazione come stringa o da un file. I sottocomandiresource
pertinenti hanno le opzioni--input
e--path
per specificare le proprietà dell'istanza come stringa o da un file.L'opzione
--logging-level
viene rinominata in --trace-level con il nome breve-l
. Il livello di traccia predefinito è orawarning
anzichéinfo
.Aggiunta dell'opzione
--trace-format con il nome breve . Questa opzione consente di scegliere il formato per i messaggi di traccia generati in stderr. Per impostazione predefinita, i messaggi vengono generati come righe di testo con colori della console. È possibile impostare questa opzione su plaintext
per generare i messaggi senza colori della console o sujson
per generare i messaggi come oggetti JSON.La messaggistica di traccia viene aggiornata anche per generare solo i file di origine e i numeri di riga per i livelli di
debug
etrace
.
Sono stati aggiornati gli schemi JSON per i ottenere, sete testare i dati di output. Questa modifica corregge un problema relativo alla modalità di visualizzazione delle informazioni sulle istanze annidate all'interno di risorse di gruppo e adattatore. Ora, quando si esamina l'output, sarà possibile visualizzare i risultati per ogni istanza nidificata anziché un oggetto confuso che perde il tipo di istanza annidata e le informazioni sul nome.
Questa modifica dello schema è compatibile con le versioni precedenti.
È stata modificata la concat funzione di configurazione in modo che corrisponda al comportamento della funzione del modello di Resource Manager. La funzione
concat()
accetta ora solo stringhe o matrici di stringhe come valori di input. Genera un errore se i valori di input non sono dello stesso tipo.
È stato implementato il supporto per fare riferimento ai parametri in una configurazione con la funzione di configurazione parameters(). In questo modo è possibile sfruttare le configurazioni con parametri. Fino a questa versione, è possibile definire ma non fare riferimento ai parametri.
È ora possibile usare le opzioni
--parameters e --parameters-file con i comandi configurazione dscper passare i valori per qualsiasi parametro definito nel documento di configurazione. Aggiunta del supporto per la creazione di manifesti di risorse DSC in YAML. DSC ora riconosce i manifesti delle risorse che usano l'estensione di file
.dsc.resource.yml
o.dsc.resource.yaml
anziché solo.dsc.resource.json
.Aggiunta della DSCConfigRoot variabile di ambiente e della funzione di configurazione envvar() per consentire agli utenti di fare riferimento a file e cartelle relativi alla cartella contenente il documento di configurazione. DSC crea automaticamente e solo la variabile di ambiente
DSCConfigRoot
quando si usa l'opzione--path
per specificare il documento di configurazione anziché passare il documento come stringa da stdin o con l'opzione--document
.Nota
In questa versione DSC non espande il percorso specificato in un percorso assoluto. È sempre necessario specificare il percorso completo del documento di configurazione se si desidera fare riferimento alla variabile
DSCConfigRoot
nella configurazione. Dsc imposta inoltre sempre il valore per questa variabile di ambiente quando si usa l'opzione--path
. Se la variabile di ambiente è già impostata, ne esegue l'override in modo invisibile all'utente.In una versione futura, la variabile verrà rinominata in
DSC_CONFIG_ROOT
e DSC espanderà automaticamente i percorsi relativi in percorsi assoluti quando si imposta la variabile di ambiente. Genera anche un avviso quando esegue l'override della variabile.Aggiunta del supporto per l'uso del di esportazione della configurazione dsc
e comandi di esportazione delle risorse DSC con la risorsa dell'adattatore PowerShell. Le risorse PSDSC possono ora partecipare al comandoexport
se definiscono un metodo statico che restituisce una matrice della classe di risorse PSDSC.Aggiunta della colonna
alla vista tabella predefinita per l'output della console del comando elenco di risorse dsc . Questa nuova colonna indica i metodi che la risorsa implementa in modo esplicito. I valori validi includono get
,set
,test
eexport
. Queste informazioni sono disponibili solo nella vista tabella. Non fa parte dell'oggetto di output per il comando. Se si usa il parametro --format, acquisire l'output del comando o reindirizzare l'output, le informazionimethods
non sono incluse.Le risorse che non implementano
test
si basano invece sul comportamento dei test sintetici di DSC. Possono comunque essere usati per le operazioni di test e set.Le risorse che non implementano
export
non possono essere usate con i comandidsc config export
odsc resource export
.Le risorse che non implementano
set
possono essere usate per il controllo, ma nondsc resource set
. Possono essere usati con il comandodsc config set
, ma solo se sono annidati all'interno di un'istanza diDSC/AssertionGroup
.Aggiunta di un prototipo per un adattatore di risorse WMI per consentire agli utenti di eseguire query su WMI. L'adattatore è disabilitato per impostazione predefinita, perché l'enumerazione delle risorse WMI può avere un impatto sulle prestazioni. Per abilitarlo, rinominare il manifesto della risorsa da
wmigroup.dsc.resource.json.optout
inwmigroup.dsc.resource.json
.
v3.0.0-alpha.4 - 2023-11-14
Questa sezione include un riepilogo delle modifiche per la versione alpha.4
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Aggiornamento della versione canonica degli URI dello schema da
2023/08
a2023/10
, in quanto questa versione include modifiche di rilievo per gli schemi.Come parte di questa modifica, la parola chiave
$schema
per i documenti di configurazione e manifesti delle risorse accetta qualsiasi URI valido per gli schemi, anziché uno solo. È ora possibile impostare il valore per la parola chiave sullo schema disaggregato, sullo schema in bundle o sullo schema di creazione avanzato per qualsiasi versione supportata.Sostituire la proprietà
_ensure
nota con la proprietà booleana _exist. Ciò migliora la semantica per gli utenti e semplifica l'implementazione per le risorse, sostituendo rispettivamente i valori di enumerazione stringaPresent
eAbsent
contrue
efalse
.Aggiornamento della risorsa
Microsoft.Windows/Registry
per usare la proprietà_exist
anziché_ensure
e aggiornare l'output in modo che sia idiomatico per una risorsa DSC.Quando un utente preme il CTRL+C combinazione di tasti, DSC termina ora in modo ricorsivo tutti i processi figlio prima di uscire. Ciò consente di evitare processi incerti che in precedenza non venivano gestiti dall'evento interrupt.
elementi di lavoro correlati
- Richieste pull: #213
Sono state aggiunte le opzioni globali
--input
e--input-file
al comandodsc
radice. A questo punto, è possibile passare l'input a DSC da una variabile o da un file anziché da stdin.Aggiunta del valore
arg
come opzione per definire il modo in cui una risorsa DSC basata su comandi prevede di ricevere input. In questo modo gli autori di risorse possono definire le risorse che gestiscono DSC passando il codice JSON dell'istanza come argomento.elementi di lavoro correlati
- Richieste pull: #213
È stato aggiunto il nuovo comando completatore che consente agli utenti di aggiungere completamenti della shell per DSC alla shell. Il comando supporta i completamenti per Bash, Elvish, fish, PowerShell e ZSH.
DSC genera ora messaggi di log nel flusso stderr. In questo modo è possibile comprendere più facilmente le operazioni di DSC. Questo non influisce sull'output dei dati. Per impostazione predefinita, DSC genera errori, avvisi e messaggi informativi, ma non esegue il debug o la messaggistica di traccia. È possibile controllare il livello della registrazione con la nuova opzione di
--logging-level
nel comandodsc
radice.Sono state aggiunte ottimizzazioni per il processo di individuazione delle risorse eseguito prima della maggior parte dei comandi
dsc
. Queste ottimizzazioni riducono significativamente la durata dell'esecuzione del comando, soprattutto per i comandidsc resource *
, che raramente devono eseguire un'individuazione completa per le risorse.Aggiunta di funzioni iniziali del documento di configurazione a DSC. È ora possibile usare le funzioni di base64(), concat()e resourceId() nel documento di configurazione.
Nota
La funzione
resourceId
è stata riimpressa come funzione di documento invece di un caso speciale, ma ha le stesse funzionalità e gli stessi parametri.
L'opzione
--format
ora funziona come previsto dagli utenti quando l'output viene reindirizzato o salvato in una variabile. Prima di questa correzione, DSC restituiva sempre l'output JSON, anche quando l'utente voleva salvare l'output come YAML. Con questa correzione, viene rispettato il formato specificato.elementi di lavoro correlati
- Richieste pull: #215
La risorsa
DSC/PowerShellGroup
restituisce ora correttamente le etichette per le enumerazioni anziché il relativo valore intero, semplificando la comprensione e il confronto dei risultati.DSC non termina più durante l'individuazione quando si verificano errori di risorsa a meno che non venga usata la risorsa di errore per il comando. DSC termina ancora in caso di errore di una risorsa durante l'individuazione nelle condizioni seguenti:
- Quando il tipo di risorsa di errore corrisponde al valore dell'opzione
--resource
per un comandodsc resource *
. - Quando un'istanza nel documento di configurazione usa il tipo di risorsa di errore per un comando
dsc config *
.
DSC genera gli errori di risorsa durante l'individuazione come messaggi di avviso per il comando
dsc resource list
. In tutti gli altri casi DSC genera gli errori come messaggi di debug.- Quando il tipo di risorsa di errore corrisponde al valore dell'opzione
v3.0.0-alpha.3 - 2023-09-26
Questa sezione include un riepilogo delle modifiche per la versione alpha.3
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Sostituita la proprietà
manifestVersion
per i manifesti delle risorse con $schema. Anziché specificare una versione semantica, le risorse devono indicare quale schema canonico deve usare DSC per convalidare ed elaborare il manifesto.Aggiornamento della proprietà
preTest
per il comandoset
nei manifesti delle risorse per implementa pretest per semplificare la lettura e la comprensione del manifesto.elementi di lavoro correlati
- Richieste pull: #197
Il comando set di risorse dsc
non testa più l'istanza della risorsa prima di richiamare l'operazione di . Questo semplifica il comportamento per il comando e rispetta in modo più accurato il contratto implicito per richiamare direttamente una risorsa con DSC. È stata sostituita l'opzione
args
conenv
per definire il modo in cui una risorsa basata su comandi prevede di ricevere input per il ottenere, impostaree comandi di test nel manifesto della risorsa.L'opzione
args
non è mai stata implementata. Gli autori di risorse possono invece impostare la proprietàinput
suenv
per indicare che la risorsa prevede l'input come variabili di ambiente.elementi di lavoro correlati
- Richieste pull: #198
La proprietà
per il comando get in un manifesto della risorsa non ha più un valore predefinito. Quando invece una risorsa non definisce input
per il comandoget
, DSC non invia alcun input alla risorsa per tale comando.elementi di lavoro correlati
- Richieste pull: #198
v3.0.0-alpha.2 - 2023-09-05
Questa sezione include un riepilogo delle modifiche per la versione alpha.2
. Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Il valore $schema per i documenti di configurazione punta ora all'URI dello schema pubblicato canonico,
https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
.elementi di lavoro correlati
- Richieste pull: #156
Funzionalità implementate per il proprietà dependsOn delle istanze delle risorse nei documenti di configurazione, consentendo alle istanze delle risorse di dipendere dall'elaborazione corretta di una o più istanze del documento.
Aggiunta della proprietà di esportazione
allo schema del manifesto della risorsa, che indica che la risorsa è esportabile e definisce come DSC può recuperare lo stato corrente per ogni istanza della risorsa. È stato aggiunto il comando di esportazione della configurazione dsc
per convertire un documento di configurazione di input che definisce un elenco di tipi di risorse in un documento di configurazione utilizzabile che definisce lo stato corrente per ogni istanza di tali risorse. È stato aggiunto il comando di esportazione delle risorse dsc
per generare un documento di configurazione utilizzabile che definisce lo stato corrente per ogni istanza di una risorsa specificata. Aggiunta dell'opzione
--all per il comando get della risorsa dsc, consentendo agli utenti di recuperare lo stato corrente per ogni istanza di una risorsa esportabile con un singolo comando. Aggiunta della gestione per la combinazione di tasti CTRL
C per annullare un'operazione DSC. Quando dsc
annulla un'operazione a causa della pressione del tasto, indica che l'operazione è stata annullata con codice di uscita 6.Aggiunta del supporto per l'uso della variabile di ambiente DSC_RESOURCE_PATH per definire un elenco di cartelle in cui cercare manifesti delle risorse DSC basate su comandi. Quando viene definito
DSC_RESOURCE_PATH
, DSC cerca le risorse nelle cartelle e ignora la variabilePATH
per l'individuazione delle risorse.Le risorse
DSC/AssertionGroup
,DSC/Group
eDSC/ParallelGroup
ora definiscono codici di uscita semantici nei relativi manifesti. Queste risorse indicano ora che usano gli stessi codici di uscita del comando dsc.Aggiunta della convalida dei tipi nello schema per il defaultValue
e allowedValues proprietà dei parametri del documento di configurazioneper migliorare l'esperienza di creazione. Ora, quando un parametro definisce i valori per queste proprietà incompatibili con il tipo di dati definito, la convalida genera un errore che indica che i valori non sono validi e perché. elementi di lavoro correlati
- Richieste pull: #172
Schemi specifici di VS Code avanzati per i documenti di configurazione e i manifesti delle risorse per migliorare l'esperienza di creazione. Gli schemi avanzati usano parole chiave supportate solo da VS Code per:
- Eseguire il rendering delle informazioni della Guida markdown per le proprietà e le enumerazioni.
- Fornire messaggi di errore contestuali quando un valore non riesce a convalidare il criterio.
- Definire frammenti di codice predefiniti per il completamento automatico dei valori.
Questi schemi sono non canonici e devono essere usati solo per la creazione. Per altre informazioni, vedere creazione di con schemi avanzati.
elementi di lavoro correlati
- Richieste pull: #172
Documentazione del Microsoft/OSInfo schema dell'istanza della risorsa e dello strumento da riga di comando per fornire informazioni contestuali sulle proprietà che la risorsa può convalidare.
elementi di lavoro correlati
- Richieste pull: #168
Le istruzioni condizionali del tipo di dati per i parametri di configurazione schema in modo che le parole chiave
min*
emax*
si applichino ai tipi di dati corretti. In precedenza, la logica impediva loro di applicare mai.elementi di lavoro correlati
- Richieste pull: #172
L'uso del comando
registry find
non genera più un errore di panico a causa di definizioni di opzioni in conflitto nel comando.elementi di lavoro correlati
- Richieste pull: #163
v3.0.0-alpha.1 - 2023-08-04
Questa è la prima versione pubblica di DSC v3. Prendere in considerazione questa qualità alfa di rilascio. Usarlo solo per la valutazione dello sviluppo, perché presenta problemi noti e non è completa.
Per l'elenco completo delle modifiche in questa versione, vedere il diff in GitHub.
Feedback su DSC
DSC è un progetto di open source. Selezionare un collegamento per fornire feedback: