Calling sql script in Custom resource using different credential

This topic contains 1 reply, has 2 voices, and was last updated by  Daniel Krebs 1 year, 7 months ago.

  • Author
  • #49187


    I have a custom resource which runs a SQL script on SQL server. Script runs using machine account where I run DSC, I need to run this as a different account. I dont want to use sql authentication.
    Below is set function of my resource code. Right now this script runs as domain\MAchineName$ I need to run it as different user e.g domain\dvapp

    function Set-TargetResource

    $sql = [Io.File]::ReadAllText($SqlScriptPath)
    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection
    $SqlConnection.ConnectionString = $ConnectionString
    $Command = New-Object System.Data.SQLClient.SQLCommand
    # Set the SqlCommand's connection to the SqlConnection object above.
    $Command.Connection = $SqlConnection
    # Set the SqlCommand's command text to the query value passed in.
    $Command.CommandText = $sql
    # Execute the command against the database without returning results (NonQuery).

  • #49208

    Daniel Krebs

    Hi Gaurav,

    I believe your best and Microsoft supported option would be to use the PsDscRunAsCredential property introduced with WMF/PowerShell 5.0. The only caveat is you need to get all your DSC nodes updated to at least the Windows Management Framework (WMF) 5.0.


You must be logged in to reply to this topic.