Unit 6 - Practice Quiz

CSC104 50 Questions
0 Correct 0 Wrong 50 Left
0/50

1 Which PowerShell cmdlet is primarily used to load a module into the current session?

A. Import-Module
B. Get-Module
C. Install-Module
D. Load-Module

2 Which environment variable stores the paths where PowerShell looks for modules?

A. $env:ModulePath
B. $env:PSHome
C. $env:PSModulePath
D. $env:Path

3 What is the file extension for a PowerShell Module Manifest file?

A. .ps1
B. .psd1
C. .xml
D. .psm1

4 Which cmdlet is used to import data from a Comma-Separated Value file and create objects from it?

A. Get-Content
B. Import-Csv
C. ConvertFrom-Csv
D. Read-Csv

5 When converting a PowerShell object to JSON format, which cmdlet is used?

A. Format-Json
B. Export-Json
C. Out-Json
D. ConvertTo-Json

6 Which cmdlet allows you to read an XML file and navigate its nodes as properties?

A. Select-Xml
B. Import-Xml
C. Get-Content -AsXml
D. [xml](Get-Content path)

7 Which cmdlet is most appropriate for prompting a user to input a password securely?

A. Read-Host -MaskInput
B. Read-Host -AsSecureString
C. Read-Input -Secure
D. Get-Credential

8 Which cmdlet creates a graphical window allowing users to select one or more items from a list?

A. Read-Choice
B. Show-Menu
C. Out-GridView -PassThru
D. Select-Object -UI

9 In a text-based menu script, which statement is most efficient for handling multiple specific user choices?

A. while
B. foreach
C. switch
D. if...else

10 Which cmdlet is used to stop a running Windows service?

A. Stop-Service
B. End-Service
C. Disable-Service
D. Kill-Service

11 To retrieve a list of all processes currently consuming more than 100MB of memory, which command structure is correct?

A. Select-Process -Memory > 100MB
B. Get-Process | Where-Object { $_.WorkingSet -gt 100MB }
C. Get-Process | Filter-Object { $_.Memory -gt 100MB }
D. Get-Process -Memory 100MB

12 Which PowerShell Drive (PSDrive) allows direct access to the Windows Registry Local Machine hive?

A. RegLM:
B. Registry::LocalMachine
C. HKLM:
D. C:\Windows\System32\Config

13 Which cmdlet is used to modify a specific value inside a registry key?

A. New-Item
B. Set-ItemProperty
C. Set-RegistryKey
D. Update-Item

14 Which cmdlet is required to enable PowerShell Remoting on a local computer?

A. Set-ExecutionPolicy RemoteSigned
B. Enable-PSRemoting
C. Start-Remoting
D. Allow-RemoteAccess

15 Which cmdlet starts an interactive 1-to-1 remote session with a single computer?

A. Enter-PSSession
B. Invoke-Command
C. Connect-Server
D. New-PSSession

16 What protocol does PowerShell Remoting primarily rely on?

A. WS-Management (WinRM)
B. FTP
C. RDP
D. Telnet

17 Which cmdlet allows you to run a script block on multiple remote computers simultaneously?

A. Start-Job
B. Enter-PSSession
C. Get-RemoteObject
D. Invoke-Command

18 When working with Active Directory in PowerShell, which cmdlet creates a new user account?

A. Set-ADUser
B. New-ADUser
C. Add-ADUser
D. Create-User

19 Which parameter of Get-ADUser allows you to find users based on specific criteria (e.g., Department)?

A. -Query
B. -Where
C. -Search
D. -Filter

20 Which command adds an existing user to an Active Directory security group?

A. Set-ADGroup
B. Update-ADGroup
C. Join-ADGroup
D. Add-ADGroupMember

21 What is the primary benefit of using Start-Job in PowerShell?

A. It automatically schedules the command to run daily.
B. It runs the command with higher privileges.
C. It runs the command in the background without blocking the console.
D. It speeds up the command execution.

22 Which cmdlet retrieves the output data from a completed background job?

A. Show-Job
B. Get-Job
C. Receive-Job
D. Read-Job

23 How do you define a Scheduled Task Action in PowerShell?

A. New-ScheduledTaskAction
B. Register-ScheduledTask
C. Set-TaskAction
D. Start-Task

24 In an Advanced Function, which attribute enables support for common parameters like -Verbose and -WhatIf?

A. [Parameter()]
B. [CmdletBinding()]
C. [Function()]
D. [Advanced()]

25 Which validation attribute ensures a parameter value is selected from a predefined list?

A. [ValidateList()]
B. [ValidatePattern()]
C. [ValidateRange()]
D. [ValidateSet()]

26 How do you make a function parameter mandatory?

A. param(mandatory)
B. [Required]
C. [Parameter(Mandatory=$true)]
D. [ValidateNotNull()]

27 Which .NET class is commonly loaded to create Windows Forms (WinForms) GUIs in PowerShell?

A. System.Windows.GUI
B. System.Windows.Forms
C. PowerShell.Forms
D. System.Drawing.UI

28 When creating a GUI, what method must be called on a Form object to display it to the user?

A. $form.ShowDialog()
B. $form.Open()
C. true
D. $form.Render()

29 In a deployment script, which variable represents the directory where the current script is located?

A. $PSHome
B. $PWD
C. $PSScriptRoot
D. $HOME

30 Which block allows you to handle errors gracefully in automation scripts?

A. do...while
B. if...else
C. error...resume
D. try...catch...finally

31 Which cmdlet is used to write entries to the Windows Event Log?

A. Write-Host
B. Add-LogEntry
C. Set-Event
D. Write-EventLog

32 If you need to verify if a file or folder exists before attempting to copy it, which cmdlet should be used?

A. Get-Item
B. Check-File
C. Find-Path
D. Test-Path

33 In a user management script, how do you generate a random password using a .NET class?

A. Convert-SecureString
B. [System.Web.Security.Membership]::GeneratePassword()
C. New-Guid
D. Get-Random

34 Which operator is used to check if a string matches a Regular Expression (Regex)?

A. -like
B. -eq
C. -contains
D. -match

35 In a monitoring script, if you want to calculate the percentage of free disk space, which formula is correct (conceptually)?

A.
B.
C.
D.

36 What is the purpose of Splatting in PowerShell scripts?

A. To format output as a list.
B. To split a string into an array.
C. To pass a collection of parameter values to a command using a hashtable.
D. To delete variables from memory.

37 When writing an automation script, which variable refers to the current object in the pipeline?

A. $CURRENT
B. $THIS
C. PSItem
D. $OBJ

38 Which XML method would you use to save changes made to an XML object back to a file?

A. $xml.Save("path")
B. Export-Clixml
C. Write-Xml
D. Set-Content

39 What is the difference between Write-Host and Write-Output?

A. Write-Host sends to the console only; Write-Output sends data to the pipeline.
B. They are identical.
C. Write-Output is deprecated.
D. Write-Host sends data to the pipeline; Write-Output sends to the console only.

40 Which cmdlet is used to safely request user credentials (username and password) for a script?

A. Read-Host
B. Get-Credential
C. Input-User
D. Select-User

41 Which parameter is used to dry-run a potentially dangerous command (like deleting users) without actually executing it?

A. -WhatIf
B. -Trial
C. -Test
D. -Confirm

42 To convert a CSV file directly into an HTML report, which pipeline chain is correct?

A. Get-Content | Format-Html
B. Import-Csv | Export-Html
C. Import-Csv | ConvertTo-Html | Out-File report.html
D. Read-Csv | Out-Html

43 Which command is used to reload the current user's profile script after making changes?

A. Reload-Profile
B. Update-Session
C. Start-Profile
D. . $PROFILE

44 In a foreach (users) loop, what does $user represent?

A. The current item being processed in the iteration.
B. A system reserved variable.
C. The index of the loop.
D. The entire collection of users.

45 Which cmdlet creates a new background job specifically for WMI/CIM queries?

A. Invoke-CimMethod
B. Get-CimInstance (does not create job by default)
C. Register-WmiEvent
D. Get-WmiJob

46 Wait, let's refine the previous thought. Which cmdlet allows running a WMI command as a job?

A. Start-Wmi
B. New-WmiJob
C. Run-WmiJob
D. Get-WmiObject -AsJob

47 Which validation attribute is best used to ensure an integer parameter falls between 1 and 100?

A. [ValidateSet(1,100)]
B. [ValidateRange(1,100)]
C. [ValidateCount(1,100)]
D. [ValidateLength(1,100)]

48 How do you create a multiline comment in PowerShell?

A. /* comment */
B. -- comment --
C. // comment //
D. <# comment #>

49 Which Logical Operator represents 'Not Equal' in PowerShell?

A. !=
B. -ne
C. <>
D. -not

50 When deploying a script, how do you bypass the default execution policy restriction for a specific process only?

A. powershell.exe -ExecutionPolicy Bypass -File script.ps1
B. Remove-Item Cert:\LocalMachine
C. Set-ExecutionPolicy Unrestricted
D. Unblock-File script.ps1