Libary.ps1
<#PSScriptInfo .VERSION 0.0.0.1 .GUID b155c8d0-acaf-4cfc-96c0-a5482f13ed62 .AUTHOR Oliver Perring .COMPANYNAME .COPYRIGHT .TAGS .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES .RELEASENOTES #> <# .DESCRIPTION Script Libary for use #> Param() #OP Function Libary #Region Functions #Test running as system function Test-RunningAsSystem { [CmdletBinding()] param() process { return [bool]($(whoami -user) -match "S-1-5-18") } } function Set-LocalPrinters { <# .SYNOPSIS Installs network printer to local machine. .PARAMETER Server FQDN or IP Address of print server .PARAMETER printerName Name of printer to be installed #> param ( [string]$server, [string]$printerName ) $printerPath = $null $PrinterPath = "\\$($server)\$($printerName)" $netConn = Test-NetConnection -ComputerName $Server | select-object PingSucceeded, NameResolutionSucceeded if (($netconn.PingSucceeded) -and ($netConn.NameResolutionSucceeded)) { write-host "Installing $printerName.." -ForegroundColor Green if (Get-Printer -Name "$printerPath" -ErrorAction SilentlyContinue) { Write-Host "Printer $printerPath already installed" -ForegroundColor Green } else { Write-Host "Installing $printerPath" -ForegroundColor Green & cscript /noLogo C:\windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -ac -p $printerPath if (Get-Printer -Name "$printerPath" -ErrorAction SilentlyContinue) { Write-Host "$printerPath successfully installed.." } else { Write-Warning "$printerPath not successfully installed" } } } else { Write-Host "Print server not pingable. $printerPath will not be installed" -ForegroundColor Red } } #Function to check for active exchange online sessions function Get-PSStatus() { $getsessions = Get-PSSession | Select-Object -Property State, Name $isconnected = (@($getsessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0 If ($isconnected -ne "True") { Connect-ExchangeOnline } } #Function to check for active AzureAD online sessions function Get-AzureStatus() { try { $var = Get-AzureADTenantDetail } catch [Microsoft.Open.Azure.AD.CommonLibrary.AadNeedAuthenticationException] { Connect-AzureAD } } #Function to test filelock status function Test-FileLock() { Param( [parameter(Mandatory=$True)] [string]$Path ) $OFile = New-Object System.IO.FileInfo $Path If ((Test-Path -Path $Path -PathType Leaf) -eq $False) {Return $False} Else { Try { $OStream = $OFile.Open([System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]::None) If ($OStream) {$OStream.Close()} Return $False } Catch {Return $True} } } #endregion |