.bashrc
같이 Powershell 실행시마다 매번 자동 실행되는 스크립트$PROFILE
환경변수 값으로 프로필 파일 생성New-Item $profile -force -itemtype file
C:\Users\<USER>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
$Home\[My ]Documents\WindowsPowerShell\Profile.ps1
에 다음 추가하면 l
, ls
로 명령실행가능. 기존 명령은 dir
로 가능# for colored ls Import-Module Get-ChildItemColor Set-Alias ls Get-ChildItemColor -option AllScope Set-Alias ll Get-ChildItemColorFormatWide -option AllScope
powershell start-process '원하는명령(혹은 .bat)' -WindowStyle Hidden
ps *foo* get-process | findstr foo get-process | where ProcessName -like "*foo*"
#값 읽기 $Env:<variable-name> $Env:PATH # 값 지정 $Env:<variable-name> = "<new-value>" $Env:path = $env:path + ";c:\temp" Set-Item -Path Env:Path -Value ($Env:Path + ";C:\Temp") # 환경변수 목록 Get-ChildItem Env:
Remove-Item [dirname] -Force
# 관리자 권한 필요 New-Item -ItemType SymbolicLink -Name MySymLinkFile.txt -Target $pshome\profile.ps1 New-Item -ItemType SymbolicLink -Path C:\Temp\MySymLinkFile.txt -Value $pshome\profile.ps1
# 문자열 filter "Hello","HELLO" | Select-String -Pattern "HELLO" -CaseSensitive # *.xml 파일들에서 문자열 탐색 Select-String -Path "*.xml" -Pattern "the the" # 매칭이 안되는 부분 찾기 Select-String -Path "process.txt" -Pattern "idle, svchost" -NotMatch
Rename-Item -Path old_name -NewName new_name [-Force]
cinst curl
로 설치하고$profile
파일에 PowerShell에 자체 curl
alias를 지워야 실제 curl
명령이 실행된다.remove-item alias:curl
wget http://blog.stackexchange.com/ -OutFile out.html
# 한방에 실행 Invoke-Expression (Invoke-WebRequest -Uri "https://example.com/script.ps1").Content # Invoke-Expression -> iex, Invoke-WebRequest -> iwr iex (iwr -Uri "https://example.com/script.ps1").Content # 스크립트 다운로드 후 실행 # 스크립트를 로컬에 다운로드 Invoke-WebRequest -Uri "https://example.com/script.ps1" -OutFile "C:\Temp\script.ps1" # 다운로드한 스크립트 실행 PowerShell -File "C:\Temp\script.ps1"
# 실행시점에 정책 무시 powershell.exe -ExecutionPolicy Bypass -Command "iex (iwr -Uri 'https://example.com/script.ps1').Content" # 현재 세션의 실행정책 임시 변경 Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
마지막 1000 줄 보여주면서 계속 출력하기
Get-Content 파일경로 -Wait -Tail 1000
# vi 를 vim.exe 실행하는 것으로 alias 걸기 set-alias -name vi -value vim.exe
Set-TimeZone -Id "Korea Standard Time"
# 가능할수도? 테스트 필요. Get-WindowsCapability -Online | ? Name -like '*ko*' # 한국어 관련 목록 버전을 정확히 확인해야함. Add-WindowsCapability -Online -Name 'Language.Basic~~~ko-KR~0.0.1.0' Add-WindowsCapability -Online -Name 'Lnaguage.Fonts.Kore~~~und-KORE~0.0.1.0'
Set-WinUILanguageOverride -Language ko-KR Set-WinSystemLocale -SystemLocale ko-KR # 재부팅 후 적용
134
→ HEX 0x86
Set-WinHomeLocation -GeoId 0x86
Restart-Computer