這是可能的。但是您需要解決方法才能連接到交互式會話。
下載PowerShellPack並進行安裝。您只需要一個名爲「TaskScheduler」的模塊。
我測試過下面的代碼:
Function Lock-Workstation
{
param(
$Computername,
$Credential
)
if(!(get-module taskscheduler)){Import-Module TaskScheduler}
New-task -ComputerName $Computername -credential:$Credential |
Add-TaskTrigger -In (New-TimeSpan -Seconds 30) |
Add-TaskAction -Script `
{
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockWorkStation = Add-Type -memberDefinition $signature `
-name "Win32LockWorkStation" `
-namespace Win32Functions `
-passthru
$LockWorkStation::LockWorkStation() | Out-Null
} | Register-ScheduledTask TestTask -ComputerName $Computername `
-credential:$Credential
}
您可以使用它像這樣:
Lock-Workstation "NameOfTheComputer" (Get-Credential)
或像這樣:
Lock-Workstation "NameOfTheComputer"
如果您在收到錯誤Connect-ToTaskScheduler指定憑證時,這是因爲模塊中存在拼寫錯誤(編輯Connect-ToTaskScheduler.ps1和repl王牌「$ NetworkCredentail.Domain,」與「$ NetworkCredential.Domain,」
是的,PSremoting隔離遠程會話。 – JoeG 2011-05-18 22:16:17