2016-10-03 107 views
1

我正在将Airwatch部署到我的组织。在公司拥有的笔记本电脑上,如果/当设备未注册时,我想锁定它们。没有内置的方法来做到这一点,所以我正在寻找一个脚本来做到这一点。我的相关背景:我知道很少的批处理,一些PowerShell,很多vbscript(用于传统的ASP)。重置所有Windows 10用户密码

我想下面的一个或两个:

  • 重置所有用户在笔记本电脑预设
  • 创建一个特定的本地管理员并禁用所有的本地用户密码的东西

我知道我可以使用“net user”来获取用户列表,但我不知道如何使用该列表来实际禁用用户或更改其密码。该批处理命令,以适应这种逻辑将是理想的:

net user NewAdmin Password /add 

net localgroup administrators NewAdmin /add 

UserList = net user output 

For each UserName in UserList 

    If UserName <> "NewAdmin" Then 
      net user UserName NewPassword 
      net user UserName /active:no 
    End If 
Next 
+2

他问在Windows 10中如何做到这一点,而不是在Windows 95中使用批处理文件和net命令是常态时,他的代码只是表示所需的逻辑。 –

回答

1

如果您使用的是Windows 10 Vs.1607或更新版本,你可以使用这样的PowerShell脚本:

$AdminPwd = ConvertTo-SecureString -string "foobar2016!" -AsPlainText -Force 
$UserPwd = ConvertTo-SecureString -string "foobar2016!" -AsPlainText -Force 

$NewAdmin = "NewAdmin" 

New-LocalUser -Name $NewAdmin -FullName "New Admin" -Password $AdminPwd 
Add-LocalGroupMember -Member $NewAdmin -Group "Administrators" 

Get-LocalUser | ForEach-Object { 

    if ($_.Name -ne $NewAdmin) 
    { 
     $_ | Set-LocalUser -Password $UserPwd 
     $_ | Disable-LocalUser 
    } 
} 

小心当测试它会禁用除新的用户以外的所有用户。 LocalUser cmdlet是PowerShell Vs.中的新增功能。 5.1

+0

这看起来像我需要的,但是我将要部署的很多笔记本电脑可能还没有v5.1。 – Michael

+0

不幸的是,它也看起来像我有额外的限制,不能运行PowerShell脚本作为管理员,这不会从你的答案中拿走,但不幸的是,它使我无法用于我的目的。我可以确定的唯一脚本将在此环境中以admin cmd/batch的形式运行。谢谢彼得!好像我可能会被困在Windows 95的土地上,毕竟如果我打算使用Airwatch的话。 – Michael