@@ -158,106 +158,109 @@ foreach ($User in $UsersList) {
158
158
Write-Log - LogFile $LogFile - Message " IsAdmin $IsAdmin " - Level DEBUG
159
159
Write-Log - LogFile $LogFile - Message " IsRemoteUser $IsRemoteUser " - Level DEBUG
160
160
161
- # Check if the user account already exists in AD
162
- # If (Get-LocalUser -F { Name -eq $UserID } -ErrorAction Continue) {
163
- # #If user does exist, output a warning message
164
- # Write-Warning "A user account $UserID has already exist in this system."
165
- # Write-Log -LogFile $LogFile -Message "A user account $UserID has already exist in this system." -Level ERROR
166
- # }
167
- # Else {
168
- # #If a user does not exist then create a new user account
169
-
170
- # region Password
171
- Clear-Variable RandomPassword
172
- Clear-Variable NewPassword
173
-
174
- # generating dynamic part of password
175
- Write-Log - LogFile $LogFile - Message " Generating new password" - Level DEBUG
176
- $RandomPassword = Get-TempPassword - length $PasswordLength - sourcedata $ascii
177
- Write-Log - LogFile $LogFile - Message " New password '$RandomPassword ' was generated" - Level DEBUG
178
- # merge with static part of password
179
- $RandomPassword = $StaticPasswordPart + $RandomPassword
180
- Write-Log - LogFile $LogFile - Message " Updated password '$RandomPassword '" - Level DEBUG
181
-
182
- # converting to secure string
183
- Write-Log - LogFile $LogFile - Message " converting password to secure string" - Level DEBUG
184
- $NewPassword = ConvertTo-SecureString - String $RandomPassword - AsPlainText - Force
185
- Write-Log - LogFile $LogFile - Message " password was converted to secure string" - Level DEBUG
186
- # endregion
187
-
188
- # region creating new account
189
- Write-Log - LogFile $LogFile - Message " Creating new account." - Level DEBUG
190
- Try {
191
- Write-Log - LogFile $LogFile - Message " New-LocalUser Name '$UserID ', FullName '$FullName ', Description '$Description ', Password '$NewPassword '" - Level DEBUG
192
- New-LocalUser - Name " $UserID " - FullName " $FullName " - Description " $Description " - Password $NewPassword - ErrorAction Stop
193
- }
194
- Catch {
195
- Write-Log - LogFile $LogFile - Message " Creating of new account was failed." - Level DEBUG
196
- Write-Warning - Message " Creating of new account was failed."
197
- Write-Warning $_.Exception.Message
198
- Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
199
- exit
161
+ # region Check if user account is exist
162
+ $UserExists = [bool ](Get-LocalUser - Name " $UserID " - ErrorAction Continue 2> $null )
163
+ if (($UserExists )) {
164
+ # If user not exist, warning
165
+ Write-Warning " A user account $UserID has already exist in this system."
166
+ Write-Log - LogFile $LogFile - Message " A user account $UserID has already exist in this system." - Level ERROR
200
167
}
201
168
# endregion
202
169
203
- # region assigning Users group
204
- Try {
205
- Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Users', Member '$UserID '" - Level DEBUG
206
- Add-LocalGroupMember - Group " Users" - Member " $UserID " - ErrorAction Stop
207
- }
208
- Catch {
209
- Write-Warning $_.Exception.Message
210
- Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
211
- exit
212
- }
213
- # endregion
214
-
215
- # region assigning Administrators group
216
- If ($IsAdmin -like $True ) {
217
- Write-Log - LogFile $LogFile - Message " IsAdmin: True" - Level DEBUG
218
- try {
219
- Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Administrators', Member '$UserID '" - Level DEBUG
220
- Add-LocalGroupMember - Group " Administrators" - Member " $UserID " - ErrorAction Stop
221
- $PermissionsText = " IsAdmin"
170
+ # region If user exist, create it
171
+ Else {
172
+ # region Password
173
+ Clear-Variable RandomPassword
174
+ Clear-Variable NewPassword
175
+
176
+ # generating dynamic part of password
177
+ Write-Log - LogFile $LogFile - Message " Generating new password" - Level DEBUG
178
+ $RandomPassword = Get-TempPassword - length $PasswordLength - sourcedata $ascii
179
+ Write-Log - LogFile $LogFile - Message " New password '$RandomPassword ' was generated" - Level DEBUG
180
+ # merge with static part of password
181
+ $RandomPassword = $StaticPasswordPart + $RandomPassword
182
+ Write-Log - LogFile $LogFile - Message " Updated password '$RandomPassword '" - Level DEBUG
183
+
184
+ # converting to secure string
185
+ Write-Log - LogFile $LogFile - Message " converting password to secure string" - Level DEBUG
186
+ $NewPassword = ConvertTo-SecureString - String $RandomPassword - AsPlainText - Force
187
+ Write-Log - LogFile $LogFile - Message " password was converted to secure string" - Level DEBUG
188
+ # endregion
189
+
190
+ # region creating new account
191
+ Write-Log - LogFile $LogFile - Message " Creating new account." - Level DEBUG
192
+ Try {
193
+ Write-Log - LogFile $LogFile - Message " New-LocalUser Name '$UserID ', FullName '$FullName ', Description '$Description ', Password '$NewPassword '" - Level DEBUG
194
+ New-LocalUser - Name " $UserID " - FullName " $FullName " - Description " $Description " - Password $NewPassword - ErrorAction Stop
222
195
}
223
- catch {
196
+ Catch {
197
+ Write-Log - LogFile $LogFile - Message " Creating of new account was failed." - Level DEBUG
198
+ Write-Warning - Message " Creating of new account was failed."
224
199
Write-Warning $_.Exception.Message
225
200
Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
226
201
exit
227
202
}
228
- }
229
- Else {
230
- Write-Log - LogFile $LogFile - Message " IsAdmin: False" - Level DEBUG
231
- $PermissionsText = " IsNotAdmin"
232
- }
233
- # regionend
234
-
235
- # region assigning Remote Desktop Users group
236
- If ($IsRemoteUser -like $True ) {
237
- Write-Log - LogFile $LogFile - Message " IsRemoteUser: True" - Level DEBUG
238
- # assigning Remote Desktop Users group
239
- try {
240
- Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Remote Desktop Users', Member '$UserID '" - Level DEBUG
241
- Add-LocalGroupMember - Group " Remote Desktop Users" - Member " $UserID " - ErrorAction Stop
242
- $PermissionsText += " , IsRemoteUser"
203
+ # endregion
204
+
205
+ # region assigning Users group
206
+ Try {
207
+ Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Users', Member '$UserID '" - Level DEBUG
208
+ Add-LocalGroupMember - Group " Users" - Member " $UserID " - ErrorAction Stop
243
209
}
244
- catch {
210
+ Catch {
245
211
Write-Warning $_.Exception.Message
246
212
Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
247
213
exit
248
214
}
249
- }
250
- Else {
251
- Write-Log - LogFile $LogFile - Message " IsRemoteUser: False" - Level DEBUG
252
- $PermissionsText += " , IsNotRemoteUser"
253
- }
254
- # regionend
215
+ # endregion
216
+
217
+ # region assigning Administrators group
218
+ If ($IsAdmin -like $True ) {
219
+ Write-Log - LogFile $LogFile - Message " IsAdmin: True" - Level DEBUG
220
+ try {
221
+ Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Administrators', Member '$UserID '" - Level DEBUG
222
+ Add-LocalGroupMember - Group " Administrators" - Member " $UserID " - ErrorAction Stop
223
+ $PermissionsText = " IsAdmin"
224
+ }
225
+ catch {
226
+ Write-Warning $_.Exception.Message
227
+ Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
228
+ exit
229
+ }
230
+ }
231
+ Else {
232
+ Write-Log - LogFile $LogFile - Message " IsAdmin: False" - Level DEBUG
233
+ $PermissionsText = " IsNotAdmin"
234
+ }
235
+ # regionend
236
+
237
+ # region assigning Remote Desktop Users group
238
+ If ($IsRemoteUser -like $True ) {
239
+ Write-Log - LogFile $LogFile - Message " IsRemoteUser: True" - Level DEBUG
240
+ # assigning Remote Desktop Users group
241
+ try {
242
+ Write-Log - LogFile $LogFile - Message " Add-LocalGroupMember Group 'Remote Desktop Users', Member '$UserID '" - Level DEBUG
243
+ Add-LocalGroupMember - Group " Remote Desktop Users" - Member " $UserID " - ErrorAction Stop
244
+ $PermissionsText += " , IsRemoteUser"
245
+ }
246
+ catch {
247
+ Write-Warning $_.Exception.Message
248
+ Write-Log - LogFile $LogFile - Message " Error: '$_ .Exception.Message'" - Level ERROR
249
+ exit
250
+ }
251
+ }
252
+ Else {
253
+ Write-Log - LogFile $LogFile - Message " IsRemoteUser: False" - Level DEBUG
254
+ $PermissionsText += " , IsNotRemoteUser"
255
+ }
256
+ # regionend
255
257
256
- # final message
257
- Write-Log - LogFile $LogFile - Message " Created user account $UserID , FullName '$FullName ', password '$RandomPassword ', permissions '$PermissionsText '." - Level DEBUG
258
- # final message to special file
259
- Add-Content " $GeneratedUsersList " - Value " User $UserID , FullName '$FullName ', password '$RandomPassword ', permissions '$PermissionsText '."
260
- # }
258
+ # final message
259
+ Write-Log - LogFile $LogFile - Message " Created user account $UserID , FullName '$FullName ', password '$RandomPassword ', permissions '$PermissionsText '." - Level DEBUG
260
+ # final message to special file
261
+ Add-Content " $GeneratedUsersList " - Value " User $UserID , FullName '$FullName ', password '$RandomPassword ', permissions '$PermissionsText '."
262
+ }
263
+ # endregion
261
264
}
262
265
263
266
0 commit comments