gpt4 book ai didi

windows - Powershell存在本地用户ADSI

转载 作者:可可西里 更新时间:2023-11-01 10:26:55 27 4
gpt4 key购买 nike

我得到了以下代码(有效):

   #Import File
$Users = Import-Csv C:\Users\Administrator\Desktop\userImport\users.csv

# Setting data
$compname = hostname
$computer = [ADSI]"WinNT://$compname"
$userGroup = [ADSI]"WinNT://./Users,Group"

# Loop to add all users
$Users | % {

# Create user itself
$createUser = $computer.Create("User",$_.userid)

# Set password (print1!)
$createUser.SetPassword($_.password)
$createUser.SetInfo()

# Create extra data
$createUser.Description = "Import via powershell"
$createUser.FullName = $_.'full name'
$createUser.SetInfo()

# Set standard flags (Password expire / Password change / Account disabled)
$createUser.UserFlags = 64 + 65536 # ADS_UF_PASSWD_CANT_CHANGE + ADS_UF_DONT_EXPIRE_PASSWD
$createUser.SetInfo()

# Adduser to standard user group ("SERVER02\Users")
$userGroup.Add($createUser.Path)

# Show that user X as been added
$username = $_.'full name'
echo "User $username added"
}

但是如果用户已经存在,如何建立检查呢?我在网上真的找不到任何东西:x

最佳答案

你可以试试这个:

   #Import File
$Users = Import-Csv C:\Users\Administrator\Desktop\userImport\users.csv

# Setting data
$compname = hostname
$computer = [ADSI]"WinNT://$compname"
$userGroup = [ADSI]"WinNT://./Users,Group"

$localUsers = $computer.Children | where {$_.SchemaClassName -eq 'user'} | % {$_.name[0].ToString()}

# Loop to add all users
$Users | % {

if($localUsers -NotContains $_.userID)
{
... do your job here....
}
else
{
write-host "User $($_.userID) already exists"
}
}

关于windows - Powershell存在本地用户ADSI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13685456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com