私のDSCノードは私のSMB DSCサーバーからDSC構成をプルしていません。Get-DSCConfigurationStatusはプルが成功したと言いますが、Get-DSCConfigurationは同じままです(古い構成)。
ファイルがCドライブに作成されるHelloWorld構成でテストしています。ファイルを削除すると、Get-DSCConfigurationは「Enusre:absent」と表示しますが、新しい構成をプルすると、「ensure:present」になります。エラーなどはありません。正しく引っ張られない理由をIdk。
私のDSCLCM構成:
$secpasswd = ConvertTo-SecureString “PASSWORD” -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential (“SERVUSER”, $secpasswd)
[DSCLocalConfigurationManager()]
configuration PullClientConfig
{
param(
[PSCredential]$DomainCredential
)
Node 'localhost'
{
Settings
{
RefreshMode = 'Pull'
RefreshFrequencyMins = 30
RebootNodeIfNeeded = $false
ConfigurationID = '2fda9b6d-e1be-46a9-8b92-e25cb17026cd'
}
ConfigurationRepositoryShare SmbConfigShare
{
SourcePath = '\\SERVER\SHARE'
Credential = $mycreds
}
ResourceRepositoryShare SmbResourceShare
{
SourcePath = '\\SERVER\SHARE'
Credential = $mycreds
}
}
}
$cd = @{
AllNodes = @(
@{
NodeName = 'localhost'
PSDscAllowPlainTextPassword = $true
}
)
}
私のHelloWord設定:
Configuration HelloWorld {
param (
[string[]]$ComputerName = "localhost" # i have changed this parameter to the servername
)
# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
# The Node statement specifies which targets to compile MOF files for, when this configuration is executed.
Node $ComputerName {
# The File resource can ensure the state of files, or copy them from a source to a destination with persistent updates.
File HelloWorld {
DestinationPath = "C:\HelloWorld.txt"
Ensure = "Present"
Contents = "Hello World from DSC!"
}
}
}
Update-DScConfigurationは、新しい構成がないことを示しているため、プルしません。私はDSCを理解していますか?それは設定を持っており、ノードはこの設定に適合しようとします。したがって、基本的には構成を再度プルして適用する必要があります。代わりに、古い構成を保持し、プルを拒否します。しかし、古い設定は間違っています....私はそれを取得しません...
それはConfigurationModeであり、DSCLocalConfigurationManagerの[設定]でApplyAndAutocorrectに設定する必要がありました。