icinga-powershell-framework/lib/core/jea/Test-IcingaPowerShellCommandInCode.psm1
2021-09-02 09:23:10 +02:00

59 lines
2 KiB
PowerShell

function Test-IcingaPowerShellCommandInCode()
{
param (
[string]$Code = '',
[string]$Command = ''
);
if ([string]::IsNullOrEmpty($Code) -Or [string]::IsNullOrEmpty($Command)) {
return $FALSE;
}
[string]$SearchCmdSpace = [string]::Format('{0} ', $Command);
[string]$SearchCmdColon = [string]::Format('{0};', $Command);
[string]$SearchCmdCBClose = [string]::Format('{0})', $Command);
[string]$SearchCmdCBOpen = [string]::Format('{0}(', $Command);
[string]$SearchCmdSB = [string]::Format('{0}]', $Command);
[string]$SearchCmdBrace = [string]::Format('{0}}}', $Command);
[string]$SearchCmdSQ = [string]::Format("{0}'", $Command);
[string]$SearchCmdRN = [string]::Format('{0}{1}', $Command, "`r`n");
[string]$SearchCmdNL = [string]::Format('{0}{1}', $Command, "`n");
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdSpace -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdColon -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdCBOpen -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdCBClose -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdSB -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdBrace -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdSQ -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdRN -SimpleMatch)) {
return $TRUE;
}
if ($null -ne (Select-String -InputObject $ModuleContent -Pattern $SearchCmdNL -SimpleMatch)) {
return $TRUE;
}
return $FALSE;
}