본문 바로가기

Slack 채널 정리

PowerShell - 뭐라 제목 붙이기 애매한

RD 보안 이슈 수정할 일 있어서 파워쉘 익힐 겸 간단한 스크립트 한 번 짜봤어요. 파워쉘에서 파일 있는지 체크하는 방법(Line 3), 파일 내용 중 특정 패턴 찾아서 replace 하는 방법(Line 21) 등만 한 번 봐두세요.

$chk_file = "C:\clt\Server\Tomcat 7.0\conf\web.xml"

If (Test-Path $chk_file){
  $strFileName=$chk_file
}Else{
  $strFileName="C:\clt\Server\Tomcat 5.0\conf\web.xml"
}
​
$pattern_str = "</web-app>"
$sec_str = "    <security-constraint>
         <display-name>properties Protection</display-name>
         <web-resource-collection>
             <web-resource-name>SecurePropertiesPages</web-resource-name>
             <url-pattern>*.properties</url-pattern>
         </web-resource-collection>
         <auth-constraint>
             <role-name>nobody</role-name>
         </auth-constraint>
     </security-constraint>`n"
     
(Get-Content $path) -replace $pattern_str, "$sec_str`n$pattern_str" | out-file $strFileName