mirror of
https://github.com/PowerShell/PSDscResources
synced 2026-06-21 13:45:29 +00:00
68 lines
1.7 KiB
PowerShell
68 lines
1.7 KiB
PowerShell
param
|
|
(
|
|
[Parameter(Mandatory = $true)]
|
|
[System.String]
|
|
$ConfigurationName
|
|
)
|
|
|
|
Configuration $ConfigurationName
|
|
{
|
|
[CmdletBinding()]
|
|
param
|
|
(
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[System.String]
|
|
$FilePath,
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[System.String]
|
|
$FileContent,
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[System.Management.Automation.PSCredential]
|
|
[System.Management.Automation.Credential()]
|
|
$Credential
|
|
)
|
|
|
|
Import-DscResource -ModuleName 'PSDscResources'
|
|
|
|
Node localhost
|
|
{
|
|
Script Script1
|
|
{
|
|
SetScript = {
|
|
$streamWriter = New-Object -TypeName 'System.IO.StreamWriter' -ArgumentList @( $using:FilePath )
|
|
$streamWriter.WriteLine($using:FileContent)
|
|
$streamWriter.Close()
|
|
}
|
|
TestScript = {
|
|
if (Test-Path -Path $using:FilePath)
|
|
{
|
|
$fileContent = Get-Content -Path $using:filePath -Raw
|
|
return $fileContent -eq $using:FileContent
|
|
}
|
|
else
|
|
{
|
|
return $false
|
|
}
|
|
}
|
|
GetScript = {
|
|
$fileContent = $null
|
|
|
|
if (Test-Path -Path $using:FilePath)
|
|
{
|
|
$fileContent = Get-Content -Path $using:filePath -Raw
|
|
}
|
|
|
|
return @{
|
|
Result = Get-Content -Path $fileContent
|
|
}
|
|
}
|
|
Credential = $Credential
|
|
}
|
|
}
|
|
}
|