레이블이 파워쉘인 게시물을 표시합니다. 모든 게시물 표시
레이블이 파워쉘인 게시물을 표시합니다. 모든 게시물 표시

2018년 2월 13일 화요일

윈도우 txt 파일 encoding 변환 (Powershell을 이용한)

윈도우 bat 파일 사용시 파일로 데이터를 쓰고 읽을 때 UTF8로 저장 될 수 있고 EUC-KR로 저장 될 때가 있다. 이럴 때, 파일의 enconding 을 convert 해주는 방법은 powershell로 아래 명령어 를 참고하여 사용하면 된다...

관련 (#링크1, #링크2, #링크3)

(get-content $filename)|out-file $filename -encoding ascii

() 괄호를 잊어 먹지말고 해주자.. 하지 않으면 Null 인 파일로 변경된다.

2018년 2월 12일 월요일

powershell 을 이용한 계정 "암호사용기간 제한없음" 활성 / 비활성화

관련 사이트 : #링크

먼저 현재 접속한 사용자 계정을 읽어오는 방법
1. $env:USERNAME 을 하거나
2. Get-WmiObject Win32_UserAccount -Filter "Name = '$env:USERNAME'" (#링크)


암호사용기간제한없음을 활성/비활성화 (#링크)
gwmi Win32_UserAccount -Computer $_ -Filter "name='localaccount'" | Set-WmiInstance -Argument @{PasswordExpires = $true}

PasswordExpires 값이 True면 Uncheck

powershell에서 특정 property 값만 출력하고, 오직 값만 반환 받고 싶을 때

특정 Property 만 출력
관련 사이트 #링크
| select [Property ID] 해주면 됨



특정 Property 의 값만 출력
관련 사이트 #링크
| select -ExpandProperty IPAddressToString

해당 property 앞에 -ExpandProperty 를 넣어주면 값만 출력된다.

powershell 입력 받기

파워쉘에서 입력받기 : #링크

2013년 4월 23일 화요일

powershell script (ps1)을 cmd에서 실행 해보자 (2/2)

powershell script 인 ps1을 cmd창이나 bat파일을 이용해 실행 해보자..

먼저 1편☜ 를 보고 실행정책을 변경하자.

실행은
powershell.exe .\test.ps1 처럼 상대경로를 적어주거나
powershell.exe d:\test\test.ps1처럼 절대경로를 적어주면된다.

참고 링크 : http://talsu.net/?p=871

powershell script (ps1)를 실행 해보자. (1/2)

파워쉘 스크립트 .ps1을 실행하면

이 시스템에서 스크립트를 실행할 수 없으므로 D:\eventlogbackup.ps1 파일을 로드할
 수 없습니다. 자세한 내용은 "get-help about_signing"을 참조하십시오.
위치 줄:1 문자:22
+ D:\eventlogbackup.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

이라는 메시지를 뿌리면서 실행이 거부된다....
이게 뭔가...... 내가 만들어서 내가 쓴다는데 니가 왜..왜왜왜왜왜~~~~~
그래서 또 구글링 해봤다..
원인은 실행정책이 최강으로 설정이 되어 있어서 그렇다....
내 컴퓨터 또는 내가 관리하는 서버의 실행정책을 확인해보자...
파워쉘을 실행하고 명령어 Get-ExecutePolicy 해보자
변경 한 적이 없다면 대부분 Restricted로 되어 있다.
설정값에 대한 설명은 참고링크 2번을 따라가거나 Get-Help about_execution_policies를 실행하면 자세한 설명이 되어있다.
보통 RemoteSigned나 Unrestricted로 많이 하는 것 같다..

값을 확인했으면 설정을 해보자
설정하는 명령어는 get의 반대인 set이다.
Set-ExecutePolicy [설정값] 이다.
실행하면 할꺼냐 말꺼냐고 물어보는대 엔터키 나 Y 엔터키를 눌러 값을 변경하면 된다.

**추가 내용
위에 방법은 계속적으로 실행정책을 적용하는거고 bat파일을 통해 잠시 실행할때만 바꾸고자 할때는 커맨드라인에 이렇게 적어 주면되, 상세한건 powershell -help 해봐
powershell -noprofile -executionpolicy [bypass | remotesigned...등등] .\*.ps1

(2편)

참고 링크