2014-12-04 8 views
1

저는 powershell과 모든 것이 정직한 것과 매우 흡족합니다.Powershell - 명령에 추가 할 변수에 대한 프롬프트

저는 간단한 배치 파일을 실행하여 잠금 해제 사용자 계정을 단순화하려고합니다.

현재 Google은 인터넷 검색을 기반으로 아래를 만들었습니다. 이렇게하면 'USERNAME'(사용자 이름)이라는 사용자 계정의 잠금이 해제됩니다.

PowerShell을 -Command "& {가져 오기 모듈 액티브 디렉토리, 잠금을 해제 - adaccount USERNAME}"

내가 변수로 그 "USERNAME"부분을 설정하는 것입니다 달성하기 위해 노력하고, 실행시 프롬프트를 만드는 오전 배치 파일을 사용하여 입력 한 모든 계정의 잠금을 해제 할 수 있습니다.

관련 게시물을 검색해 보았지만 직접 작성하는 방법을 찾지 못했습니다. 나는 어떤 도움을 주셔서 감사하겠습니다!

감사합니다.

답변

2

사용 Read-Host 명령 예컨대 : 쓰기 재사용 가능한 도구로

PowerShell -Command "& {$username = Read-Host "Enter username"; Import-Module ActiveDirectory; Unlock-ADAccount $username}" 
0

봐. 간단한 기능과 스크립트.

PowerShell.exe에서 다양한 명령을 호출하면 작성한 특정 시나리오에서만 작동합니다. 함수와 스크립트는 어디서나 사용할 수 있습니다. 한 번 쓰고 여러 곳에서 사용하십시오. 엄청난 시간을 절약하고 PowerShell을 배우고 향상시키는 데 도움이됩니다.

다음은 간단한 예입니다. 이 코드를 C : \ Unlock-ADAccountSimple.ps1로 저장하십시오.

param (
    $Username = (Read-Host "Enter Username") 
) 

Import-Module ActiveDirectory 
Unlock-ADAccount $Username 

이제 시나리오에서이 코드를 사용할 수 있습니다. 이 사용자 이름에 대한 프롬프트 것 :

PowerShell.exe -File C:\Unlock-ADAccountSimple.ps1 

또한 특정 사용자에 대한 실행 수 :

PowerShell.exe -File C:\Unlock-ADAccountSimple.ps1 -Username jdoe 

당신은 선 아래로 당신이 쓰는 스크립트에서

#Inside a script, you could run it like this, with various logic before or after: 
& "C:\Unlock-ADAccountSimple.ps1" -Username Someone 

를 사용할 수있는, 보다 재미 있고 유용한 기능을 작성하고 더 큰 솔루션으로 결합 할 수 있습니다. 그러나 어딘가에서 시작해야하며 재사용 가능한 작은 도구 (함수/스크립트)를 빌드하면 경로가 시작됩니다!

행운을 빈다.

+0

또한 [Parameter (Mandatory = $ true)] $ Username '을 사용하면 동일한 효과가 생성된다는 점을 지적하고자합니다. – kevmar

1

명령에 대한 매개 변수로 사용자 이름이있는 경우 Show-Command가 여기에서 찾고있는 것일 수 있습니다.

powershell -Command "& { import-module activedirectory; Show-Command unlock-adaccount }" 

작은 GUI가 표시되어 관리자가 사용자 이름이나 명령에서 정의한 다른 매개 변수를 입력 할 수 있습니다.