powershell - 没有凭据对话框运行脚本的问题
问题描述
我正在尝试运行一个 powershell 脚本,该脚本创建一个计算机名并将该计算机放在 AD 中的正确 OU 中。唯一的问题是我需要输入凭据才能发生这种情况,但我想这样做而不必在 powershell 凭据对话框中输入凭据。
我使用了 System.Management.Automation.PSCredential,但这显然是给了我对话框。
$secpasswd = ConvertTo-SecureString 'xxxxxx' -AsPlainText -Force
$mycreds = New-Object System.Managemnet.Automation.PSCredential("xxxx", $secpasswd)
尝试使用上面的代码而不弹出对话框
新对象:找不到类型 [System.Managemnet.Automation.PSCredential]:验证是否已加载包含此类型的程序集。在 line:2 char:12 + $mycreds = New-Object System.Managemnet.Automation.PSCredential("xxxx ... +~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException + FullyQualifiedErrorId:TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
解决方案
看来您在代码中打错了:Managemnet
应该是Management
,如System.Management.Automation
. 这就是你的错误被抛出的原因。
但是,没有必要使用 的完整定义PSCredential
。请改用以下内容:
$secpasswd = ConvertTo-SecureString 'xxxxxx' -AsPlainText -Force
$mycreds = New-Object PSCredential("xxxx", $secpasswd)
这不显示对话框。
推荐阅读
- angular - Angular 8:使 FormBuilder 仅接受带有纬度和经度范围的数字
- c# - 无法在 .NET Core 3.0 中使用 AssemblyLoadContext 加载插件依赖项
- python - Pygame精灵不会出现
- python - 画一条连接悬垂(脊)的线
- ios - 从 firebase 检索用户信息
- javascript - 在反应本机应用程序中获取位置并调用状态更新功能
- amazon-web-services - 通过 RowVersion 更新记录,使用“SQL WHERE”过滤最大值
- sql - 如何在 postgreSQL 中执行深度优先搜索
- php - 如何防止 For Each 循环中的重复结果?
- html - 如何将 overflow-y 设置为 bootstrap-vue 表的单元格或行