This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
Forked from https://github.com/jaykul Gist, posted in response to my Twitter | |
whinge about PowerShellGet in the enterprise - Thank you, Joel Bennett! | |
This adds the ability to use a web proxy, using your current session's | |
credentials. Might add option to use other credentials, if there's demand. | |
It also adds a 'BL' (Bootleg) prefix to the nouns, just to prevent confusion with the "real" | |
cmdlets. Feel free to remove them. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Get-BootlegAllUsers { | |
# This is 2.5 times faster than Get-ADUser -LDAPFilter '(&(msrtcsip-primaryuseraddress=*)(!msrtcsip-ownerurn=*))' | |
Get-ADObject -LDAPFilter '(&(msrtcsip-userenabled=TRUE)(&(objectclass=User)(!msrtcsip-ownerurn=*)))' -Properties 'msrtcsip-line','msrtcsip-privateline',displayName,'msrtcsip-primaryuseraddress' | Select-Object -Property name, displayName, @{n='PhoneNumber';e={$_.'msrtcsip-line'}}, @{n='PrivateLine';e={$_.'msrtcsip-privateline'}}, @{n='SIPAddress';e={$_.'msrtcsip-primaryuseraddress'}} | |
} | |
function Get-BootlegAllCommonAreaPhones { | |
Get-ADObject -LDAPFilter '(&(msrtcsip-userenabled=TRUE)(&(objectclass=Contact)(msrtcsip-ownerurn=urn:device:commonareaphone)))' | |
} | |
# Includes default RGS objects; filter for things that have a phone number if you only want "real" ones |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ | |
? | |
^ | |
_ | |
ARGS | |
CONSOLEFILENAME | |
ERROR | |
EVENT | |
EVENTARGS | |
EVENTSUBSCRIBER |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Using native AD module | |
$configurationContainer = 'CN=Configuration,'+ (((get-adforest).name.split('.') | foreach {"DC=$_"}) -join ',') | |
# All pools, whether Director, FrontEnd or SBA | |
$rawPools = get-adobject -LDAPFilter '(objectClass=msrtcsip-pool)' -SearchBase $configurationContainer -Properties 'name','dnshostname','msrtcsip-pooldata','msrtcsip-pooldisplayname','distinguishedname' | |
# An entry for each combination of pool or member server and several service types | |
$trustedServices = get-adobject -LDAPFilter '(objectclass=msrtcsip-trustedservice)' -SearchBase $configurationContainer -Properties 'msrtcsip-routingpooldn','msrtcsip-trustedServerFQDN','msrtcsip-trustedserviceport','msrtcsip-trustedservicetype' | |
# All pools and their member servers (if Enterprise) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
New-CsAnalogDevice -LineURI 'tel:+4915112345678' -DisplayName 'Maintenance Crew' ` | |
-OU 'mandie.net/Contacts/Phones' -Gateway 'nue-sbc01.mandie.net' -SipAddress ` | |
'sip:[email protected]' -RegistrarPool 'nue-FE01.mandie.net' ` | |
-AnalogFax:$false -DomainController nue-dc01 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# Who has that Exchange UM extension? | |
The error when attempting to Enable-UMMailbox: | |
Extension 2233 is already assigned to another user on dial plan Nuremberg or on an equivalent dial | |
plan. | |
Get-CsAdPrincipal continues to be FAST: about 40-50ms against my real-life 40k+ user AD | |
#> | |
Get-CsAdPrincipal -LDAPFilter '(proxyAddresses=eum:2233;phone-context=Nuremberg.mandie.net)' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$SBAs = (Get-CsPool).where({$_.services -like "*registrar*" -and $_.services.where({$_ -like "WebServer*"}).count -eq 0}).computers | |
$frontEndServers = (Get-CsPool).where({$_.services -like "*registrar*" -and $_.services -like "Conferencing*"}).computers | |
$directorServers = (Get-CsPool).where({$_.services -like "*registrar*" -and $_.services -like "WebServer*" -and $_.services.where({$_ -like "Conferencing*"}).count -eq 0}).computers | |
$mediationServers = (Get-CsPool).where({$_.services -like "*Mediation*" -and $_.services.where({$_ -like "registrar*"}).count -eq 0}).computers | |
$edgeServers = (Get-CsPool).where({$_.services -like "*Edge*"}).computers | |
# Limitation: does not explore the Office Web Apps Farm for individual servers | |
$OfficeWebAppServers = (Get-cspool).where({$_.services -like "*WacServer*"}).computers | |
# Filters out backup PSTN trunks to pair gateways with secondard Mediation Services - only shows PSTN trunks with "real" FQDNs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(Get-CsPool).where({$_.services -like "*registrar*" -and $_.services.where({$_ -like "WebServer*"}).count -eq 0}).computers | foreach { (Invoke-WebRequest -Uri "http://$_/Home/LogOn").content -match "(1\.\d+\.\d+\.\d+)" | out-null; [pscustomobject]@{PSTypeName='SBAVersion'; ComputerName = $_; Version = $matches[0] } } |
NewerOlder