Skip to content

Instantly share code, notes, and snippets.

@NorskNoobing
Last active January 20, 2023 07:50
Show Gist options
  • Save NorskNoobing/41281782b75966f74e3119423098622d to your computer and use it in GitHub Desktop.
Save NorskNoobing/41281782b75966f74e3119423098622d to your computer and use it in GitHub Desktop.
function Get-MrfkUserInfo {
[CmdletBinding()]
param (
[Parameter(ParameterSetName="username")][string]$Username,
[Parameter(ParameterSetName="displayname")][string]$DisplayName,
[Parameter(ParameterSetName="mobilephone")][string]$MobilePhone
)
process {
switch ($PsCmdlet.ParameterSetName) {
"username" {
$filter = "name -like `"*$Username*`""
}
"displayname" {
$filter = "displayname -like `"*$DisplayName*`""
}
"mobilephone" {
$filter = "mobilephone -like `"*$MobilePhone*`""
}
}
#Install required modules
$RequiredModulesNameArray = @('NN.MrfkCommands')
$RequiredModulesNameArray.ForEach({
if (Get-InstalledModule $_ -ErrorAction SilentlyContinue) {
Import-Module $_ -Force
} else {
Install-Module $_ -Force -Repository PSGallery
}
})
#Get userinfo of the ADuser (limited to the first hit, and user can't pick manually "yet")
$ExportedObject = ([array](Get-ADUser -filter $filter -Properties mobilephone,displayName))[0] | Select-Object -ExcludeProperty @(
"ObjectClass","ObjectGUID","SID","AddedProperties","RemovedProperties",
"ModifiedProperties","PropertyCount","PropertyNames","Line"
)
#Get computerinfo
$cimsession = New-CimSession -Credential (Get-AdmCreds) -ComputerName sccm-ps.intern.mrfylke.no -ErrorAction Stop
$allMecmComputers = Get-CimInstance -Query "Select * from SMS_R_System" -Namespace root/SMS/site_PS1 -CimSession $cimsession
$ComputersArr = $allMecmComputers.where({$_.LastLogonUserName -eq $ExportedObject.Name})
$ComputerExportArr = New-Object -TypeName System.Collections.ArrayList
$ComputersArr.ForEach({
#Get bitlocker info
$splat = @{
"Filter" = {objectclass -eq 'msFVE-RecoveryInformation'}
"SearchBase" = (Get-ADComputer $_.Name).DistinguishedName
"Properties" = 'msFVE-RecoveryPassword'
"Credential" = Get-AdmCreds
}
$null = $ComputerExportArr.Add(
[PSCustomObject]@{
"Hostname" = $_.Name
"MACAddresses" = $_.MACAddresses
"BitlockerRecovery" = (Get-ADObject @splat)."msFVE-RecoveryPassword"
}
)
})
#Post output
$ExportedObject
$ComputerExportArr
}
}
@mse91
Copy link

mse91 commented Jan 13, 2023

Theres room for improvement (I think).

@mse91
Copy link

mse91 commented Jan 20, 2023

Awesome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment