그래서 PowerShell ISE에서 실행할 때 잘 작동하는 스크립트가 있습니다. 그러나이를 자동화해야하므로 powershell.exe .\script.ps1
을 실행하지만 인식되지 않는 명령에 대한 오류가 발생합니다 (비표준 모듈에서 발생 함).PowerShell ISE를 명령 줄에서 실행 하시겠습니까?
도움 주시면 감사하겠습니다.
그래서 PowerShell ISE에서 실행할 때 잘 작동하는 스크립트가 있습니다. 그러나이를 자동화해야하므로 powershell.exe .\script.ps1
을 실행하지만 인식되지 않는 명령에 대한 오류가 발생합니다 (비표준 모듈에서 발생 함).PowerShell ISE를 명령 줄에서 실행 하시겠습니까?
도움 주시면 감사하겠습니다.
편집 모든 종속성 (모듈)을 가져올 스크립트의 시작입니다. 그것은 코드를 더 쉽게 읽을 모두 PS 2.0을 사용하여 작동하기 때문에 이것은 좋은 방법 인 오류 그리고 당신이 우리에게 당신이 스크립트의 해당 부분을 표시 할 수 있습니다 무엇 3.0
script.ps1
#Import example module
Import-Module ActiveDirectory
#Script start
$name = Read-Host "Username"
$user = Get-ADUser $name
.....
거의 이렇게했습니다! 표준 모듈이 아니기 때문에 모듈 이름 만 사용하면 (예 :'Import-Module ActiveDirectory') 작동하지 않습니다. 먼저'Get-Module -ListAvailable'을 사용하여 모듈의 경로를 찾은 다음'Import-Module C : \ path \ ActiveDirectory'를 사용했습니다. –
:) 모듈 위치에 모듈이 설치되어있는 한'Import-Module ModuleName'이 작동해야합니다. Get-Module -Listavailable ActiveD * |를 사용할 수도 있습니다. 가져 오기 모듈' –
하나의 이유는 스크립트가 점으로되어 있거나 모듈이 프로파일 스크립트에서로드되어야하기 때문입니다. 이 경우 명령 줄에서 PowerShell을 시작하고 PowerShell ISE를 시작해도 동일한 프로필 스크립트가 systematicaly로 사용되지 않는다는 문제가 발생할 수 있습니다. 각각 $Profile
var를보고 관련 파일을 편집하십시오. 내 ISE에
$Profile
:
C:\Users\JPB\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
$Profile
내 명령 행 : 프로필에 대한
C:\Users\JPB\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
모든 $Profile
경로를 알 수있는 방법 :
달리는. 비표준 모듈이 스크립트에서 제공됩니까? – Matt
"명령 줄에서 ISE를 실행하지 마십시오." 실행 위치에 관계없이 스크립트가 올바르게 실행되도록 스크립트를 수정하십시오. – alroc