직면 한 문제는 가져온 모든 함수에 대해 암시 적으로 PSSession을 설정할 수 있어야한다는 것입니다. 이를 수행하려면 Set-PSImplicitRemotingSession
기능을 실행할 수 있어야합니다.
불행히도 해당 기능을 내보낼 수 없으므로 액세스 할 수 없습니다. 이 문제를 해결하려면 PSM1 파일을 열어이 기능을 $script:ExportModuleMember
끝에 추가해야합니다. 이제 모듈을 가져 오면 모든 기능에 대해 PSSession을 설정하는 기능을 사용할 수 있습니다.
가져온 모듈을 사용하기 위해 powershell 또는 스크립트를 실행해야합니다.
Import-Module "C:\Credentials.psm1"
Import-Module "C:\ExportedPSSession.psm1"
$Cred = Import-Credential -path C:\Cred.xml
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.outlook.com/powershell/" -Authentication Basic -AllowRedirection -Credential $Cred
Set-PSImplicitRemotingSession -PSSession $Session -createdByModule $True
#You can now run any of the imported functions.
Credentials.psm1주의! xml 파일을로드 할 수있는 사용자라면 누구나 가장 할 수 있습니다!
function Export-Credential($cred, $path) {
$cred = $cred | Select-Object *
$cred.password = $cred.Password | ConvertFrom-SecureString
$obj = New-Object psobject
$obj | Add-Member -MemberType NoteProperty -Name UserName -Value $cred.username
$obj | Add-Member -MemberType NoteProperty -Name Password -Value $cred.password
$obj | Export-Clixml $path
}
function Import-Credential($path) {
$obj = Import-Clixml $path
$obj.password = $obj.Password | ConvertTo-SecureString
return New-Object system.Management.Automation.PSCredential($obj.username, $obj.password)
}
나는 그 부분을 작동 시켰습니다. 나는 그의 코드를 따라 BPOS가 올바르게 작동하도록했다. 그러나 BPOS cmdlet은 자격 증명 매개 변수를 사용합니다. 그러나 Live @ edu의 경우에는 자격 증명을 지정하는 방법이 표시되지 않습니다. 이 지시 사항을 따르고 모듈을로드하거나 모듈을로드하고 지시 사항을 따르는 경우, 여전히 대화식으로 암호를 묻습니다. –
PowerShell이 대화식으로 사용자로부터 cred를 요청하거나 다른 양식/프로세스가 PS 외부에서이 요청을하고 있습니까? – jamason1983
PowerShell에서 대화식으로 creds를 요청하고 있습니다. 사용자 이름은 세션을 내보내는 데 사용 된 사용자로 미리 채워져 있습니다. –