In order to use the Invoke -Command
with the New-PSSession
cmdlet you will need to have the proper credentials set.
The credential parameter in Powershell taks a PSCredential
object. Normally you would prompt a user to enter the information in a dialog and then save the response as a PSCredential
object using the Get-Credential
cmdlet. Of course in PowerShell ASP that's not an option. We can get around this by just setting the credentials manually in a PowerShell script:
$securePassword = ConvertTo-SecureString "Password" -AsPlainText -force
$credential = New-Object System.Management.Automation.PsCredential("domain\username",$securePassword)
After speicfiying your credentails you can then use them in your call to create a New-PSSession
Using the PowerShell script below.
$session = New-PSSession -computername hostname -credential $cred
Below is an example of a complete PowerShell ASP page:
<html>
<title>Test</title>
<body>
<pre>
<%
$securePassword = ConvertTo-SecureString "Password" -AsPlainText -force
$credential = New-Object System.Management.Automation.PsCredential("domain\username",$securePassword)
$session = New-PSSession -computername hostname -credential $cred
$command = {ls}
$res = Invoke-Command -session $session -scriptblock $command
foreach($item in $res){
Write-Host("Mode: " + $item.Mode)
Write-Host("Last Write Time: " + $item.LastWriteTime)
Write-Host("Length: " + $item.Length)
Write-Host("Name: " + $item.Name)
Write-Host("<hr/>")
}
%>
</pre>
</body>
</html>
RootAdmin
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.