如何将BIOS Serialmunber设置为用户密码

时间:2018-11-02 17:35:07

标签: powershell

我正在尝试创建一个本地用户帐户,并将密码设置为bios serialnumber

$Password = Get-WmiObject win32_bios | select serialnumber | Out-String
New-LocalUser -Name Altran -Password $Password

并得到此错误

PS C:\windows\system32> $Password = Get-WmiObject win32_bios | select serialnumber | Out-String

New-LocalUser -Name Altran -Password $Password


New-LocalUser : Cannot bind parameter 'Password'. Cannot convert the "
serialnumber
------------
PF0IKYXC    
" value of type "System.String" to type "System.Security.SecureString".
At line:3 char:38
+ New-LocalUser -Name Altran -Password $Password
+                                      ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [New-LocalUser], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.NewLocalUserCommand

有人可以帮我吗?我被困住了。

1 个答案:

答案 0 :(得分:0)

1)代替此:

$Password = Get-WmiObject win32_bios | select serialnumber | Out-String

您想要这个:

$Password = Get-WmiObject Win32_BIOS | Select-Object -ExpandProperty SerialNumber

为什么?您要选择对象的属性(Select-Object -ExpandProperty,而不是Out-String

2)代替此:

New-LocalUser -Name Altran -Password $Password

您想要这个:

New-LocalUser -Name Altran -Password ($Password | ConvertTo-SecureString -AsPlainText -Force)

这是因为-Password参数需要一个SecureString对象。 (注意:我尚未对此进行测试。)

3)这很不安全。我不建议这样做。