Utilities/Set-ProviderState.ps1

function Set-ProviderState {
    [CmdletBinding()]
    param(
        $Provider,
        [Parameter(Mandatory)][hashtable]$NewState
    )
    $dict = New-Object 'System.Collections.Concurrent.ConcurrentDictionary[string, object]'
    foreach ($k in $NewState.Keys) {
        $null = $dict.TryAdd($k, $NewState[$k])
    }
    With-ProviderLock $Provider {
        $Provider.State = $dict
        Update-ProviderStateMeta $Provider
    }
}