簡體   English   中英

PowerShell所需的狀態配置 - 如何

[英]PowerShell Desired State Configuration -WhatIf

是否可以運行DSC配置並從Set-TargetResource獲取WhatIf輸出? 我編寫了一個自定義資源,並且Set函數具有WhatIf / ShouldProcess工作所需的所有代碼(實際上,如果使用-WhatIf手動調用Set-TargetResource,它可以按預期工作)。

用-WhatIf調用Start-DSCConfiguration時,我得到的是:

What if: [SERVERNAME]: LCM:  [ Start  Set      ]
What if: [SERVERNAME]: LCM:  [ Start  Resource ]  [[Isi_Share]test]
What if: [SERVERNAME]: LCM:  [ Start  Test     ]  [[Isi_Share]test]
What if: [SERVERNAME]: LCM:  [ End    Test     ]  [[Isi_Share]test]  in 0.0310 seconds.
What if: [SERVERNAME]: LCM:  [ Skip   Set      ]  [[Isi_Share]test]
What if: [SERVERNAME]: LCM:  [ End    Resource ]  [[Isi_Share]test]
What if: [SERVERNAME]: LCM:  [ Start  Resource ]  [[Isi_Share]test2]
What if: [SERVERNAME]: LCM:  [ Start  Test     ]  [[Isi_Share]test2]
What if: [SERVERNAME]: LCM:  [ End    Test     ]  [[Isi_Share]test2]  in 0.0470 seconds.
What if: [SERVERNAME]: LCM:  [ Start  Set      ]  [[Isi_Share]test2]
What if: [SERVERNAME]: LCM:  [ End    Set      ]  [[Isi_Share]test2]  in 0.0150 seconds.
What if: [SERVERNAME]: LCM:  [ End    Resource ]  [[Isi_Share]test2]
What if: [SERVERNAME]: LCM:  [ End    Set      ]

當我真正想要的是它將Test函數調用為real,然后使用-WhatIf調用Set以便我得到這個輸出(由我在Set-TargetResource中調用ShouldProcess()生成的:

What if: Performing the operation "Create Directory" on target "/ifs/a".
What if: Performing the operation "Create Share" on target "/ifs/a".

那可能嗎?

不,你做不到。 手動是它工作的唯一途徑。

正如您所經歷的那樣,-whatif將告訴您將調用哪些資源但不會調用它們。 您的函數需要調用其中的whatif進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM