Thank you for taking the time to review this resource! This document was created to address
the common questions and concerns encountered when working on the performance
assessment. Unlike Objective Assessments which have a maximum number of 4 attempts,
performance assessments (which this course uses) have no maximum on attempts, so this may
relieve some of the stress when learning the material.
You are not limited to or required to use the course learning resources to complete both tasks.
You are free to use any resources as you see fit to complete the performance assessment, and
I recommend working on it as you go through the course so you know what you need to learn to
complete it. In fact, it is very common to research how to perform a task using google, stack
overflow, and vendor documentation (microsoft’s powershell reference in this case) when you
are developing a solution as an engineer. Learning how to learn is a key skill to being
successful in many IT and engineering jobs! To help with learning the material, I highly
recommend embracing a growth mindset (the audiobook can be found on youtube).
Below are tips that you may find helpful when working on task 2:
Table of Contents
Table of Contents
Saving work & Ucertify VM Time extension <--- Highly recommended
Use .\ucertify3 as the database server
Change Tiffiny steffensmeir to Tiffiny stensmeir in NewClientData.csv
AD import example
String concatenate example
Avoid hard coded paths by using $PSScriptRoot to point to files and directories
How to create database and table
Try-Catch example
How to use the commands in part D
methodinvocationexception fix
How to upload data to Ucertify’s VM:
Additional Errors and causes
A network-related or instance-specific error occurred while establishing a connection to SQL
server:
, Cannot find type [Microsoft.SqlServer.Management.Smo.Server]:
cannot open file because the current provider (microsoft.sqlserver.management.psprovider
sqlserver) cannot open a file:
Create failed for Database / create failed for table:
Input typed is entered twice.
Cannot open database”[ClientDB]” requested by the login. The login failed.
Exception calling “.ctor” with “2” argument(s): “SetParent failed for Database ‘ClientDB’. “
Display Name incorrect or missing
Unexpected VM issues (missing VM, cant upload files)
Using your computer instead of Ucertify’s VM
How to get help
Saving work & Ucertify VM Time extension <---
Highly recommended
If the ucertify VM times out before you extend the time, you may lose the work on the VM. If
you are running into timeout issues with the VM, you can extend the time up to 99 minutes:
We recommend setting a timer on a phone as a reminder to update the time 15 minutes before
it times out. We also recommend using the “upload my files” folder to save your work. You can
set a timer on your phone to remind you to upload every 30-60 minutes. For example, set the
time to 90-99 minutes when you start, then set a timer (70 minutes or so) on your phone as a
reminder to upload your work and to renew the time for another 70 minutes.
,Use .\ucertify3 as the database server
Use database .\ucerfity3 on task 2: If you were writing to the localhost, you would use
“ucertify1” since that is the hostname of the server. However, the task requires the database is
written in the uCertify3 SQL server instance. So that instance needs to be referenced as
“hostname\SQLServerInstanceName”. Or since the hostname is the local name, you could just
use a period in place of the hostname (.\UCERTIFY3). For example:
NOTE: Client_A_Contacts.sql referenced below is used as an example. This file is not
included as part of the assignment.
$serverobj = New-Object -TypeName
Microsoft.SqlServer.Management.Smo.Server -ArgumentList <Server>
Invoke-Sqlcmd -ServerInstance <Server> -Database <Database> -
InputFile $PSScriptRoot\Client_A_Contacts.sql
Change Tiffiny steffensmeir to Tiffiny stensmeir in
NewClientData.csv
NOTE: The following issue should be fixed in the newest version of NewClientData.csv. Please
download the newest version from the supporting documents section of the task page. If you still
encounter the same issue, you can use the following to address this:
The name for Tiffiny steffensmeir is too long, which causes an error when you attempt to add
the name to AD. You can work around this issue by editing the csv and shortening the name to
tiffiny stensmeir.
AD import example
Video of example
You can use a For each loop to add each user to the AD for task 2. An example is shown
below:
# use $PSScriptRoot instead of absolute (full) path to file so that the script will work on other
, systems and locations
$NewAD = Import-CSV $PSScriptRoot\financePersonnel.csv
$Path = "OU=Finance,DC=ucertify,DC=com"
foreach ($ADuser in $NewAD)
{
$First = $ADUser.First_Name
$Last = $ADUser.Last_Name
$Name = $First + " " + $Last
$SamName = $ADUser.samAccount
$Postal = $ADUser.PostalCode
$Office = $ADUser.OfficePhone
$Mobile = $ADUser.MobilePhone
New-AdUser -GivenName $First -Surname $Last -Name $Name -SamAccountName
$SamName -DisplayName $Name -PostalCode $Postal -MobilePhone $Mobile -OfficePhone
$Office -Path $Path
}
Please make sure that you use new-aduser’s -Path argument to specify the path to the AD you
created when importing each user. Otherwise, the users imported from financepersonnel.csv
will not be added to the Finance OU. You can check if the users were successfully imported by
using “Active Directory Users and Computer” as shown below: