>

PowerShell에서 비밀번호 보안/암호화 시도 중

지금 여러 서버를 거쳐서 SQL 명령을 실행하는 스크립트가 있습니다.

비밀번호와 사용자 이름을 하드 코딩 한 적이 있는데 보안상의 이유로 암호화하고 싶습니다.

 $query = @'
 SELECT TOP 10 FROM [dbo].[TABLE]
   '@
 $SERVERS = LIST OF SERVERS
(Get-Credential).Password | ConvertFrom-SecureString | Set-Content "C:\ Password.txt"
$passWord1 = Get-Content "C:\ Password.txt" | ConvertTo-SecureString 
$credential = New-Object System.Management.Automation.PsCredential ('username',$passWord1)
$SQLCredentials = @{
    server = $server
    database = 'databasename'
    Query= $query
    Credential = $credential
}
 $Results  = Invoke-SqlCmd @SQLCredentials 
 $Results | Select-Object -Property * -Skip 1

또한 다음을 시도했지만 작동하지 않는 것 같습니다. 보안 크리드로 SQL 명령 호출

error: Invoke-Sqlcmd : A parameter cannot be found that matches parameter name 'Credential'.

목표는 Invoke-SqlCmd 를 실행하는 것입니다  보안 사용자 이름 및 비밀번호 사용.

  • 답변 # 1

    일부 버전의 invoke-sqlcmd에는 -credential 매개 변수가 없습니다. PowerShell : Get-Credential이있는 invoke-sqlcmd가 작동하지 않습니다 (실제로 나도 마찬가지입니다)

  • 이전 sql - 키워드 'WHERE'근처에서 잘못된 구문의 원인 찾기
  • 다음 파이썬에서 목록을 동적으로 인쇄하는 방법