PoshCode Archive  Artifact [16a768e8d8]

Artifact 16a768e8d8b419804cc83c3df111d2b9f06a640cf2c81cae12543a91e134d007:

  • File 123.ps1 — part of check-in [d22fc7f3d0] at 2018-06-10 14:04:44 on branch trunk — Strips off the ’1-’ prefix from phone numbers stored in Active Directory. (user: lukaszk size: 1644)

# encoding: ascii
# api: powershell
# title: 123
# description: Strips off the ’1-’ prefix from phone numbers stored in Active Directory.
# version: 0.1
# author: lukaszk
# license: CC0
# x-poshcode-id: 5950
# x-archived: 2015-07-31T20:14:16
# x-published: 2015-07-30T12:51:00
#
# Requires ‘ActiveRoles Management Shell for Active Directory’ from Quest Software.
#
#------------------------------------------------------------------------------
# Strips off the '1-' prefix from phone numbers stored in Active Directory.
# Requires 'ActiveRoles Management Shell for Active Directory' from Quest
# Software.
#------------------------------------------------------------------------------
$data = @()
$users = Get-QADUser -sizelimit 0 `
    | Where-Object { $_.PhoneNumber -like "1-*" } `
    | Where-Object { $_.PhoneNumber.Length -eq 14 } `
    | Sort-Object -Property Name
foreach ( $user in $users )
{
    if ( $user -eq $null )
    {
        continue
    }
    $newPhoneNumber = $user.PhoneNumber.ToString()
    $newPhoneNumber = $newPhoneNumber.Substring(2,12)
    $dataLine = New-Object psObject
    $dataLine | Add-Member -MemberType NoteProperty -Name "User" -Value $user.Name
    $dataLine | Add-Member -MemberType NoteProperty -Name "OldPhone" -Value $user.PhoneNumber
    $dataLine | Add-Member -MemberType NoteProperty -Name "NewPhone" -Value $newPhoneNumber
    $dataLine | Add-Member -MemberType NoteProperty -Name "DN" -Value $user.DN
    $data += $dataLine
    Set-QADUser -Identity $user.DN -PhoneNumber $newPhoneNumber 
}
if ( $data.Count -gt 0 )
{
    $data | Out-GridView
}