我正在尝试创建一种快捷方式,该方式将从凭据管理器获取凭据,就像这样
cd C:\code\Kodex-1.4.3\EPD_Prerequisite\Anaconda2\
$line1 = "cd C:\Code\EPMD\Kodex-1.4.4\Applications\Bin\EpmdTaskManager"
$line2 = "start EpmdTaskManagerGui.exe hide"
$line1 | out-file auto1.bat -Encoding Ascii
$line2 | Out-File -append auto1.bat -Encoding Ascii
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\matanv.HOBART\Desktop\Kodex 1.4.4.lnk")
$Shortcut.TargetPath = """C:\WINDOWS\system32\runas.exe"""
$argA = "/user:%computername%\Admin /savecred"
$argB = """C:\code\Kodex-1.4.3\EPD_Prerequisite\Anaconda2\auto.bat"""
$Shortcut.Arguments = $argA + " " + $argB
$Shortcut.Save()
这很好用,但有一个问题:第一次运行脚本时,系统提示输入密码。
我希望永远不会提示输入密码,并使用某些(也许其他)脚本将其存储在凭证管理器中。
怎么办?
谢谢
答案 0 :(得分:0)
将评论从此处移至OP
这是这个savecred事情要记住的事情。这真的很危险,具体取决于您在哪里使用它。如您所述,一旦完成操作,您必须做的就是传递帐户名并且永远不会提示您,这意味着,即使是最简单的技能,任何人都可以上手并接管这台机器,即使您删除启动它的快捷方式,这些信誉始终存在,并且一旦可以创建任何快捷方式,设置属性,便可以开始比赛了。
因此,尽管savecred确实很方便,但应仅限于绝对控制使用它的人的机器。 For Example.
无论如何,您无需使用RunAs / SaveCred就可以使用CredMan,是的,即使使用PowerShell也可以。在线上有很多脚本向您展示如何运行,甚至直接来自TechNet Powershell画廊和MS powershellgallery.com。
How to add credentials to the Windows Vault (PowerShell)
此PowerShell脚本显示了如何为特定用户添加凭据。
从powershellgallery.com,通过PowerShell会话。
Find-Module -Name '*credentialmanager*' | Format-Table -AutoSize
Version Name Repository Description
------- ---- ---------- -----------
2.0 CredentialManager PSGallery Provides access to credentials in the Windows Credential Manager
1.1.1.0 IntelliTect.CredentialManager PSGallery Provides an easy-to-use interface to the Windows Credential Manager via PowerShell.
1.0.9 pscredentialmanager PSGallery This module allows management and automation of Windows cached credentials.
1.0.0.0 BAMCIS.CredentialManager PSGallery Provides a PowerShell wrapper around the Windows Credential Manager Win32 APIs.
另请参阅:
Manipulate credentials in the Windows 8/2012 PasswordVault using Powershell
此模块演示如何使用新的Windows 8/2012 Powershell提供的PasswordVault API。
您也可以使用内置的cmdkey.exe
创建,列出和删除存储的用户名和密码,或 凭据。
但是您需要在用户上下文中运行才能做到这一点,而这正是MS SysInternals PSExec可以提供的。只需在启动时为RunOnce /创建一个ScheduledTask即可触发执行此操作的命令。
好的,我离题了。因此,总的来说,有几种方法可以在Windows上设置Kiosk模式,而MS已经记录了Kiosk模式一段时间了
(您不会说出您所针对的操作系统-因为类似的文章已经针对他们而存在)。
对于Win 10,位于此处:
上面提供了直接说明如何在PowerShell中设置此模式,下面是这些步骤的摘要,但是请务必阅读整个文档。
使用Windows PowerShell设置信息亭
应用类型:UWP操作系统版本:Windows 10 Pro,Ent,Edu帐户类型:本地 标准用户
您可以使用以下任何PowerShell cmdlet来设置已分配 在多个设备上访问。在运行cmdlet之前:
- 以管理员身份登录。
- 创建分配访问权限的用户帐户。
- 以“分配的访问”用户帐户登录。
- 安装分配的通用Windows应用程序 访问/高于锁定准则。
- 以“分配的访问”用户帐户注销。
- 以管理员身份登录。
要在Windows 10上打开PowerShell,请搜索PowerShell并找到 结果中的Windows PowerShell桌面应用程序。以以下身份运行PowerShell 管理员。
# Configure assigned access by AppUserModelID and user name
Set-AssignedAccess -AppUserModelId <AUMID> -UserName <username>
# Configure assigned access by AppUserModelID and user SID
Set-AssignedAccess -AppUserModelId <AUMID> -UserSID <usersid>
# Configure assigned access by app name and user name
Set-AssignedAccess -AppName <CustomApp> -UserName <username>
# Configure assigned access by app name and user SID
Set-AssignedAccess -AppName <CustomApp> -UserSID <usersid>
注意要使用-AppName(该用户帐户 您指定的分配访问权限必须至少登录一次。 了解如何获取AUMID。了解如何获取AppName(请参阅 参数)。