我正在构建一个应用程序来帮助重新配置我们网络上的设备。我已经得到了整个脚本工作,除了设置设备自动登录。我的努力似乎都不起作用。现在,用法略有不同,因为设备将加入域,但使用本地用户帐户登录。我试图使用Sysinternals自动化实用程序,但它不工作。以下是登录的相关代码:
function Set-Autologon {
param (
[Parameter()][string]$domain
)
$exePath = "$scriptPath$autologon"
$user = 'aloha'
$logonPath = "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon"
$defaultdomain = "DefaultDomainName"
$alohass = '<very long string>' | ConvertTo-SecureString -Key $key
$alohaptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($alohass)
$aloharesult = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($alohaptr)
LogInfo "Setting auto logon for $aloha user."
Start-Process -FilePath $exePath -ArgumentList "/accepteula", $user, $domain, $aloharesult -Wait -Verbose
}
域作为来自CSV文件的域被传入。$key
在脚本的其他地方设置。我已经尝试了在前面和后面的/accepteula
。我遗漏了什么?
使用"/accepteula"作为最后一个参数,但是,在运行exe之前,您可以在HKCUSoftwareSysinternals autoologon中为EulaAccept=1创建一个DWORD注册表项。您也可以尝试使用/accepteula标志启动autolon .exe,然后在使用username/credentials参数运行之前立即终止该进程。