那么有可能吗?
我需要获取一些用户凭据来映射某些网络共享。此共享不属于我们的域,每个用户都有不同的凭据。
编辑
如果我从 powershell 控制台运行它,该脚本可以正常工作。问题是当我将它用作登录脚本时它没有显示任何提示或拨号。当我登录桌面时,脚本会启动,因为它会写入调试日志,但不会显示任何对话框或提示用户输入。
那么有可能吗?
我需要获取一些用户凭据来映射某些网络共享。此共享不属于我们的域,每个用户都有不同的凭据。
编辑
如果我从 powershell 控制台运行它,该脚本可以正常工作。问题是当我将它用作登录脚本时它没有显示任何提示或拨号。当我登录桌面时,脚本会启动,因为它会写入调试日志,但不会显示任何对话框或提示用户输入。
在您的 GPO中启用以下设置:“运行登录脚本可见”以确保登录脚本可见。您可以在用户配置\管理模板\系统\脚本下找到它
PowerShell 有一个 Get-Credential cmdlet,可用于提示输入用户名/密码。有关详细信息和示例,请Get-Help Get-Credential -Full在 PowerShell 中执行。
它对我有用。它确实显示了凭据提示。下面是我的脚本:
"test" | out-file -append C:\test.log
$cred = get-credential
$cred.username | out-file -append C:\test.log
登录脚本的配置:
gpedit.msc -> 用户配置 -> Windows 设置 -> 脚本 -> 登录 -> 选择 Powershell 脚本选项卡 -> 添加并输入脚本路径
截屏:
我从来没有像这样配置 GP 来运行登录脚本,所以我对此不确定......如果你运行像 ipconfig 这样的任意 CMD 会像你希望 PowerShell 那样弹出控制台窗口吗?
如果是这样,您可以调用 CMD 行或 .bat,然后调用 PowerShell 脚本,而不是使用内置的 PowerShell 脚本机制: powershell.exe -noexit -command "& 'path\to\logonscript.ps1'"