내가 만들 alias
의 cmdlet
내가 파워 쉘의 현재 세션을 닫은 후에 만료되지 않습니다를하자 내가이 별칭이 말 :
C:\Users\Aymen> New-Alias Goto Set-Location
이것은 완벽하게 Goto
별칭을 만들지 만 현재 세션을 닫은 후에도 별칭을 사용하고 싶습니다. 어떻게 달성 할 수 있습니까?
노트 :
PowerShell 도움말 시스템은 내가 만든 별칭을 다음에 새 세션을 열 때 가져올 수 있다는 사실을 제안합니다. 실제로 내가 찾고있는 것은 아닙니다. 실제로는 계속해서 별칭을 가질 수있는 명확한 방법이 있습니까? 다른 세션을 통해 그것을 만들
답변
업데이트 됨-2017 년 1 월
profile.ps1
powershell이 시작될 때마다 실행될 모든 powershell 코드를 파일 에 저장할 수 있습니다. 어떤 사용자가 코드를 실행해야하는지에 따라 코드를 저장할 경로 는 6 가지 이상 있습니다. “모든 사용자”및 “사용자 만”경로 중 두 가지만 고려할 수 있습니다.
따라서 질문에 대답 profile.ps1
하려면 실행하려는 코드가 포함 된 파일 만 작성하면 됩니다.
New-Alias Goto Set-Location
올바른 경로에 저장하십시오.
"$Home\Documents"
(C : \ Users \ yourname \ Documents) : 사용자 만 코드를 실행합니다.$PsHome
(C : \ Windows \ System32 \ WindowsPowerShell \ v1.0) : 모든 사용자가 코드를 실행합니다.
변경 사항을 적용하려면 열려있는 모든 Powershell 인스턴스를 닫고 다시 시작하십시오.
팁
-
두 경로에
profile.ps1
파일이 모두 포함되어 있으면 모든 사용자 경로가 먼저 실행 된 다음 사용자마다 다릅니다. -
각 사용자에게 실행을 확장 할 필요가없는 경우 항상 코드를 사용자 별 프로필에 넣으십시오. 파일을 사용자 공간에 추가하기 위해 관리자 권한이 필요하지 않으며 (그렇지 않은 경우) 다른 사용자 공간을 오염시키지 않습니다.
-
생각해 내다!
$PsHome
당신이 프로필 코드를 실행하는 것이 원하는 경우 모두 환경을 고려해야하므로 경로, 파워 쉘의 32 비트 및 64 비트 인스턴스 사이에 다릅니다. 일반적으로 경로는C:\Windows\System32\WindowsPowerShell\v1.0
64 비트 환경과C:\Windows\SysWow64\WindowsPowerShell\v1.0
32 비트 환경을 위한 것입니다.
답변
이런 종류의 것을 $env:WINDIR
powershell 폴더에 직접 추가하는 것은 좋지 않습니다 .
권장되는 방법은 개인 프로파일에 추가하는 것입니다.
cd $env:USERPROFILE\Documents
md WindowsPowerShell -ErrorAction SilentlyContinue
cd WindowsPowerShell
New-Item Microsoft.PowerShell_profile.ps1 -ItemType "file" -ErrorAction SilentlyContinue
powershell_ise.exe .\Microsoft.PowerShell_profile.ps1
이제 열린 Microsoft.PowerShell_profile.ps1 파일에 별명을 추가하십시오.
function Do-ActualThing {
# do actual thing
}
Set-Alias MyAlias Do-ActualThing
그런 다음 저장하고 다음을 사용하여 현재 세션을 새로 고치십시오.
. $profile
참고 :
권한 문제가 발생하는 경우를 대비하여
CategoryInfo : SecurityError : (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
아래 명령을 시도하고 세션을 다시 새로 고치십시오.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
답변
2018, Windows 10
간단한 PowerShell 스크립트를 사용하여 모든 파일 또는 디렉토리에 연결할 수 있습니다.
파일 바로 가기 스크립트 작성
Windows PowerShell ISE를 엽니 다. 스크립트 창에서 다음을 작성하십시오.
New-Alias ${shortcutName} ${fullFileLocation}
그런 다음 명령 행 분할 창으로 이동하십시오. 로 PowerShell 사용자 프로필 주소를 찾으십시오 echo $profile
. 이 주소에 스크립트를 저장하십시오.
PowerShell의 프로필 주소에있는 스크립트는 powershell을 열 때마다 실행됩니다. 바로 가기는 모든 새 PowerShell 창에서 작동합니다.
디렉토리 바로 가기 스크립트 작성
스크립트에 다른 줄이 필요합니다.
function ${nameOfFunction} {set-location ${directory_location}}
New-Alias ${shortcut} ${nameOfFunction}
나머지는 정확히 같습니다.
PowerShell 스크립트 사용
기본적으로 PowerShell 스크립트는 차단됩니다. 이를 사용하려면 설정-> 업데이트 및 보안-> 개발자 용을여십시오. 개발자 모드를 선택하십시오 (다시 시작해야 함).
.
PowerShell 섹션으로 아래로 스크롤하여 “실행 정책 변경 …”옵션을 선택하고 적용하십시오.
답변
단순한. 예를 들어 …
Windows PowerShell 창을 열고 다음을 입력하십시오.
notepad $profile
그런 다음과 같은 함수를 작성하십시오.
function goSomewhereThenOpenGoogleThenDeleteSomething {
cd C:\Users\
Start-Process -FilePath "http://www.google.com"
rm fileName.txt
}
그런 다음 함수 이름 아래에 이것을 입력하십시오.
Set-Alias google goSomewhereThenOpenGoogleThenDeleteSomething
이제 Windows PowerShell에 “google”이라는 단어를 입력하고 함수 내에서 코드를 실행할 수 있습니다!
답변
가능한 위치 목록에 추가하기 만하면됩니다 …
이것은 나를 위해 작동하지 않았다 :
\Users\{ME}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
그러나 이것은했다 :
\Users\{ME}\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
프로파일이 없거나 설정하려는 경우 다음 명령을 실행하면 필요한 폴더 / 파일이 생성되고 어디에 있는지 알려줍니다!
New-Item -path $profile -type file -force
답변
profile1.psl 파일을 작성하려면 다음 명령을 입력하십시오.
새 항목 $ PROFILE.CurrentUserAllHosts -ItemType 파일 -Force
파일에 액세스하려면 다음 명령을 입력하십시오.
ise $ PROFILE.CurrentUserAllHosts
참고 이전에 이런 짓을하지 않은 경우, 당신은 당신이 때문에 당신이 제한 (기본값)에서 무제한으로 변경해야 사용자의 실행 정책의 스크립트를 실행할 수 없습니다 것을 볼 수 있습니다.
이렇게하려면 스크립트를 닫은 후 다음 명령을 입력하십시오.
실행 정책 설정 -Scope CurrentUser
그때:
원격 서명
그런 다음이 명령을 다시 수행하십시오.
ise $ PROFILE.CurrentUserAllHosts
마지막으로 스크립트에 별칭을 입력하고 저장하면 컴퓨터를 다시 시작한 후에도 powershell을 실행할 때마다 별칭이 실행됩니다.
답변
이것은 약간 공상이지만 … 작동합니다.
1 단계 : Powershell 프로파일 생성 :
FILE: install_profile.ps1
# THIS SCRIPT BLOWS AWAY YOUR DEFAULT POWERSHELL PROFILE SCRIPT
# AND INSTALLS A POINTER TO A GLOBAL POWERSHELL PROFILE
$ErrorActionPreference = "Stop"
function print ([string]$msg)
{
Write-Host -ForegroundColor Green $msg
}
print ""
# User's Powershell Profile
$psdir = "$env:USERPROFILE\Documents\WindowsPowerShell"
$psfile = $psdir + "\Microsoft.PowerShell_profile.ps1"
print "Creating Directory: $psdir"
md $psdir -ErrorAction SilentlyContinue | out-null
# this is your auto-generated powershell profile to be installed
$content = @(
"",
". ~/Documents/tools/profile.ps1",
""
)
print "Creating File: $psfile"
[System.IO.File]::WriteAllLines($psfile, $content)
print ""
# Make sure Powershell profile is readable
Set-ExecutionPolicy -Scope CurrentUser Unrestricted
2 단계 : 도구에서 ~ / Documents / tools / profile.ps1 :
function Do-ActualThing {
# do actual thing
}
Set-Alias MyAlias Do-ActualThing
3 단계 :
$ Set-ExecutionPolicy -Scope CurrentUser 무제한 $. ./install_profile.ps1