PowerShell 脚本如何让用户登录 Win 2008 R2 服务器?

PowerShell 脚本如何让用户登录 Win 2008 R2 服务器?

我是 PowerShell 新手,所以请原谅。我在运行专用 Outlook VBA 应用程序的 Win 2008 R2 服务器上有一个 Windows ID。我尝试过一些建议,让此用户 ID 在服务器重新启动时自动登录,但都没有成功。我今天早上的想法是,是否可以创建一个按时间表运行的 Cron 任务,检查用户 ID 是否已登录,如果没有,则强制登录。

提前感谢任何帮助。

答案1

如果您需要做的只是以该用户身份运行 Outlook,我认为 TheCleaner 的建议可能是最佳选择。您可以从命令行执行此操作,然后从服务控制台更改服务运行的用户。如果您想在不使用第三方应用程序的情况下执行此操作,请查看下面的链接。

https://stackoverflow.com/questions/3582108/create-windows-service-from-executable

为了回应评论,这里是如何使用 powershell 的入门指南。如果需要调整,请提供更多背景信息。

$hostname = "serverName"
$username = "CKnutson"
$processName = "outlook"

$session = New-PSSession $hostname 
Enter-PSSession $session

$processes = @()
$processes += Get-Process -IncludeUserName | Where-Object {$_.UserName -like "*$username" -and $_.Name -like "$processName"}

if ($processes.Count -eq 0) {
    Start-Process -FilePath "C:\proc.exe" -ArgumentList "-Silent" -LoadUserProfile
}

这应该打开一个远程控制台到您想要运行 Outlook 的服务器,检查该用户是否有正在运行的进程,然后在需要时启动它。

相关内容