commit 251dbfb0ebf72a07ba86cdd4a1fbd5170ae27460 Author: Jonathan Branan Date: Tue Sep 13 11:37:49 2022 -0500 created folder structure diff --git a/README.md b/README.md new file mode 100644 index 0000000..8beaf3d Binary files /dev/null and b/README.md differ diff --git a/bat/Batch to call multiple things/call all.bat b/bat/Batch to call multiple things/call all.bat new file mode 100644 index 0000000..73347d7 --- /dev/null +++ b/bat/Batch to call multiple things/call all.bat @@ -0,0 +1,10 @@ +@echo off +c:\ +cd "C:\Users\jbranan\Desktop\Batch to call multiple things" +start wireshark.bat +start procdump.bat +start procmon.bat +timeout /T 135 +start killwireshark.bat +start killprocmon.bat +exit \ No newline at end of file diff --git a/bat/Batch to call multiple things/killprocmon.bat b/bat/Batch to call multiple things/killprocmon.bat new file mode 100644 index 0000000..9665b4e --- /dev/null +++ b/bat/Batch to call multiple things/killprocmon.bat @@ -0,0 +1,3 @@ +@echo off +taskkill /IM "Procmon64.exe" /F +exit \ No newline at end of file diff --git a/bat/Batch to call multiple things/killwireshark.bat b/bat/Batch to call multiple things/killwireshark.bat new file mode 100644 index 0000000..1141f38 --- /dev/null +++ b/bat/Batch to call multiple things/killwireshark.bat @@ -0,0 +1,3 @@ +@echo off +taskkill /IM "Wireshark.exe" /F +exit \ No newline at end of file diff --git a/bat/Batch to call multiple things/procdump.bat b/bat/Batch to call multiple things/procdump.bat new file mode 100644 index 0000000..5ff7a95 --- /dev/null +++ b/bat/Batch to call multiple things/procdump.bat @@ -0,0 +1,6 @@ +@echo off +c:\ +cd "C:\Users\jbranan\Desktop\Batch to call multiple things\procdump" +procdump.exe -n 1 -ma cftpstes.exe "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps" -accepteula +timeout /T 15 +exit \ No newline at end of file diff --git a/bat/Batch to call multiple things/procdump/Eula.txt b/bat/Batch to call multiple things/procdump/Eula.txt new file mode 100644 index 0000000..8efa711 --- /dev/null +++ b/bat/Batch to call multiple things/procdump/Eula.txt @@ -0,0 +1,75 @@ +Sysinternals Software License Terms +These license terms are an agreement between Sysinternals (a wholly owned subsidiary of Microsoft Corporation) and you. Please read them. They apply to the software you are downloading from technet.microsoft.com/sysinternals, which includes the media on which you received it, if any. The terms also apply to any Sysinternals +* updates, +* supplements, +* Internet-based services, +* and support services +for this software, unless other terms accompany those items. If so, those terms apply. +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. +If you comply with these license terms, you have the rights below. + +Installation and User Rights + +You may install and use any number of copies of the software on your devices. + +Scope of License + +The software is licensed, not sold. This agreement only gives you some rights to use the software. Sysinternals reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not +* work around any technical limitations in the software; +* reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; +* make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; +* publish the software for others to copy; +* rent, lease or lend the software; +* transfer the software or this agreement to any third party; or +* use the software for commercial software hosting services. + +Sensitive Information + +Please be aware that, similar to other debug tools that capture “process state” information, files saved by Sysinternals tools may include personally identifiable or other sensitive information (such as usernames, passwords, paths to files accessed, and paths to registry accessed). By using this software, you acknowledge that you are aware of this and take sole responsibility for any personally identifiable or other sensitive information provided to Microsoft or any other party through your use of the software. + +Documentation + +Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. + +Export Restrictions + +The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting . + +Support Services + +Because this software is "as is," we may not provide support services for it. + +Entire Agreement + +This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. + +Applicable Law + +United States . If you acquired the software in the United States , Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. +Outside the United States . If you acquired the software in any other country, the laws of that country apply. + +Legal Effect + +This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. + +Disclaimer of Warranty + +The software is licensed "as-is." You bear the risk of using it. Sysinternals gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this agreement cannot change. To the extent permitted under your local laws, sysinternals excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement. + +Limitation on and Exclusion of Remedies and Damages + +You can recover from sysinternals and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages. +This limitation applies to +* anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and +* claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. + +It also applies even if Sysinternals knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. +Please note: As this software is distributed in Quebec , Canada , some of the clauses in this agreement are provided below in French. +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Sysinternals n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon sont exclues. +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Sysinternals et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. +Cette limitation concerne : +tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et +les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d'une autre faute dans la limite autorisée par la loi en vigueur. +Elle s'applique également, même si Sysinternals connaissait ou devrait connaître l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l'exclusion ci-dessus ne s'appliquera pas à votre égard. +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. diff --git a/bat/Batch to call multiple things/procdump/procdump.exe b/bat/Batch to call multiple things/procdump/procdump.exe new file mode 100644 index 0000000..99e76b5 Binary files /dev/null and b/bat/Batch to call multiple things/procdump/procdump.exe differ diff --git a/bat/Batch to call multiple things/procmon.bat b/bat/Batch to call multiple things/procmon.bat new file mode 100644 index 0000000..536f173 --- /dev/null +++ b/bat/Batch to call multiple things/procmon.bat @@ -0,0 +1,4 @@ +@echo off +c: +cd "C:\Users\jbranan\Desktop\Batch to call multiple things\procmon" +procmon.exe /accepteula /Nofilter /Quiet /BackingFile "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps\log.PML" /Minimized \ No newline at end of file diff --git a/bat/Batch to call multiple things/procmon/Eula.txt b/bat/Batch to call multiple things/procmon/Eula.txt new file mode 100644 index 0000000..8efa711 --- /dev/null +++ b/bat/Batch to call multiple things/procmon/Eula.txt @@ -0,0 +1,75 @@ +Sysinternals Software License Terms +These license terms are an agreement between Sysinternals (a wholly owned subsidiary of Microsoft Corporation) and you. Please read them. They apply to the software you are downloading from technet.microsoft.com/sysinternals, which includes the media on which you received it, if any. The terms also apply to any Sysinternals +* updates, +* supplements, +* Internet-based services, +* and support services +for this software, unless other terms accompany those items. If so, those terms apply. +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. +If you comply with these license terms, you have the rights below. + +Installation and User Rights + +You may install and use any number of copies of the software on your devices. + +Scope of License + +The software is licensed, not sold. This agreement only gives you some rights to use the software. Sysinternals reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not +* work around any technical limitations in the software; +* reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; +* make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; +* publish the software for others to copy; +* rent, lease or lend the software; +* transfer the software or this agreement to any third party; or +* use the software for commercial software hosting services. + +Sensitive Information + +Please be aware that, similar to other debug tools that capture “process state” information, files saved by Sysinternals tools may include personally identifiable or other sensitive information (such as usernames, passwords, paths to files accessed, and paths to registry accessed). By using this software, you acknowledge that you are aware of this and take sole responsibility for any personally identifiable or other sensitive information provided to Microsoft or any other party through your use of the software. + +Documentation + +Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. + +Export Restrictions + +The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting . + +Support Services + +Because this software is "as is," we may not provide support services for it. + +Entire Agreement + +This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. + +Applicable Law + +United States . If you acquired the software in the United States , Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. +Outside the United States . If you acquired the software in any other country, the laws of that country apply. + +Legal Effect + +This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. + +Disclaimer of Warranty + +The software is licensed "as-is." You bear the risk of using it. Sysinternals gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this agreement cannot change. To the extent permitted under your local laws, sysinternals excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement. + +Limitation on and Exclusion of Remedies and Damages + +You can recover from sysinternals and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages. +This limitation applies to +* anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and +* claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. + +It also applies even if Sysinternals knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. +Please note: As this software is distributed in Quebec , Canada , some of the clauses in this agreement are provided below in French. +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Sysinternals n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon sont exclues. +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Sysinternals et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. +Cette limitation concerne : +tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et +les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d'une autre faute dans la limite autorisée par la loi en vigueur. +Elle s'applique également, même si Sysinternals connaissait ou devrait connaître l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l'exclusion ci-dessus ne s'appliquera pas à votre égard. +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. diff --git a/bat/Batch to call multiple things/procmon/Procmon.exe b/bat/Batch to call multiple things/procmon/Procmon.exe new file mode 100644 index 0000000..edf84cb Binary files /dev/null and b/bat/Batch to call multiple things/procmon/Procmon.exe differ diff --git a/bat/Batch to call multiple things/wireshark.bat b/bat/Batch to call multiple things/wireshark.bat new file mode 100644 index 0000000..5652165 --- /dev/null +++ b/bat/Batch to call multiple things/wireshark.bat @@ -0,0 +1,4 @@ +@echo off +c: +cd "C:\Program Files\Wireshark" +wireshark -k -i Ethernet0 -f "host 192.168.102.10" -a duration:120 -w "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps\capture.pcapng" \ No newline at end of file diff --git a/bat/call all.bat b/bat/call all.bat new file mode 100644 index 0000000..73347d7 --- /dev/null +++ b/bat/call all.bat @@ -0,0 +1,10 @@ +@echo off +c:\ +cd "C:\Users\jbranan\Desktop\Batch to call multiple things" +start wireshark.bat +start procdump.bat +start procmon.bat +timeout /T 135 +start killwireshark.bat +start killprocmon.bat +exit \ No newline at end of file diff --git a/bat/dmz thread dupmp.bat b/bat/dmz thread dupmp.bat new file mode 100644 index 0000000..1bc3e76 --- /dev/null +++ b/bat/dmz thread dupmp.bat @@ -0,0 +1,3 @@ +C: +cd “C:\Program Files\GlobalSCAPE\DMZ Gateway\bin” +DMZGatewayServerService.exe -d “C:\Program Files\GlobalSCAPE\DMZ Gateway\conf\DMZGatewayServerService.conf” \ No newline at end of file diff --git a/bat/dump-crash/Admin Console Hang Dump.bat b/bat/dump-crash/Admin Console Hang Dump.bat new file mode 100644 index 0000000..819313b --- /dev/null +++ b/bat/dump-crash/Admin Console Hang Dump.bat @@ -0,0 +1,4 @@ +pushd "%~d0\" +pushd "%~dp0\" +"%~dp0procdump.exe" -n 3 -s 60 -ma -accepteula cftpsai.exe .\ +pause \ No newline at end of file diff --git a/bat/dump-crash/EFT Service Hang Dump.bat b/bat/dump-crash/EFT Service Hang Dump.bat new file mode 100644 index 0000000..7994170 --- /dev/null +++ b/bat/dump-crash/EFT Service Hang Dump.bat @@ -0,0 +1,4 @@ +pushd "%~d0\" +pushd "%~dp0\" +"%~dp0procdump.exe" -n 3 -s 60 -ma -accepteula cftpstes.exe .\ +pause \ No newline at end of file diff --git a/bat/dump-crash/Eula.txt b/bat/dump-crash/Eula.txt new file mode 100644 index 0000000..8efa711 --- /dev/null +++ b/bat/dump-crash/Eula.txt @@ -0,0 +1,75 @@ +Sysinternals Software License Terms +These license terms are an agreement between Sysinternals (a wholly owned subsidiary of Microsoft Corporation) and you. Please read them. They apply to the software you are downloading from technet.microsoft.com/sysinternals, which includes the media on which you received it, if any. The terms also apply to any Sysinternals +* updates, +* supplements, +* Internet-based services, +* and support services +for this software, unless other terms accompany those items. If so, those terms apply. +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. +If you comply with these license terms, you have the rights below. + +Installation and User Rights + +You may install and use any number of copies of the software on your devices. + +Scope of License + +The software is licensed, not sold. This agreement only gives you some rights to use the software. Sysinternals reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not +* work around any technical limitations in the software; +* reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; +* make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; +* publish the software for others to copy; +* rent, lease or lend the software; +* transfer the software or this agreement to any third party; or +* use the software for commercial software hosting services. + +Sensitive Information + +Please be aware that, similar to other debug tools that capture “process state” information, files saved by Sysinternals tools may include personally identifiable or other sensitive information (such as usernames, passwords, paths to files accessed, and paths to registry accessed). By using this software, you acknowledge that you are aware of this and take sole responsibility for any personally identifiable or other sensitive information provided to Microsoft or any other party through your use of the software. + +Documentation + +Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. + +Export Restrictions + +The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting . + +Support Services + +Because this software is "as is," we may not provide support services for it. + +Entire Agreement + +This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. + +Applicable Law + +United States . If you acquired the software in the United States , Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. +Outside the United States . If you acquired the software in any other country, the laws of that country apply. + +Legal Effect + +This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. + +Disclaimer of Warranty + +The software is licensed "as-is." You bear the risk of using it. Sysinternals gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this agreement cannot change. To the extent permitted under your local laws, sysinternals excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement. + +Limitation on and Exclusion of Remedies and Damages + +You can recover from sysinternals and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages. +This limitation applies to +* anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and +* claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. + +It also applies even if Sysinternals knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. +Please note: As this software is distributed in Quebec , Canada , some of the clauses in this agreement are provided below in French. +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Sysinternals n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon sont exclues. +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Sysinternals et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. +Cette limitation concerne : +tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et +les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d'une autre faute dans la limite autorisée par la loi en vigueur. +Elle s'applique également, même si Sysinternals connaissait ou devrait connaître l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l'exclusion ci-dessus ne s'appliquera pas à votre égard. +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. diff --git a/bat/dump-crash/README.txt b/bat/dump-crash/README.txt new file mode 100644 index 0000000..8245fbe --- /dev/null +++ b/bat/dump-crash/README.txt @@ -0,0 +1,7 @@ +How to capture Crash/Hang dumps: + +Hang Dumps: +Use "Admin Console Hang Dump.bat" and "EFT Service Hang Dump.bat". + +Crash Dump: +Merge the WER.reg registry key and make a folder at C:\dumps if you wish to capture crash dumps. You can edit the path of the dumps folder in the WER.reg file or edit directly in the registry after merging it. Make sure it is done for both services. \ No newline at end of file diff --git a/bat/dump-crash/WER.reg b/bat/dump-crash/WER.reg new file mode 100644 index 0000000..ad2c6d1 Binary files /dev/null and b/bat/dump-crash/WER.reg differ diff --git a/bat/dump-crash/procdump.exe b/bat/dump-crash/procdump.exe new file mode 100644 index 0000000..99e76b5 Binary files /dev/null and b/bat/dump-crash/procdump.exe differ diff --git a/bat/killprocmon.bat b/bat/killprocmon.bat new file mode 100644 index 0000000..9665b4e --- /dev/null +++ b/bat/killprocmon.bat @@ -0,0 +1,3 @@ +@echo off +taskkill /IM "Procmon64.exe" /F +exit \ No newline at end of file diff --git a/bat/killwireshark.bat b/bat/killwireshark.bat new file mode 100644 index 0000000..1141f38 --- /dev/null +++ b/bat/killwireshark.bat @@ -0,0 +1,3 @@ +@echo off +taskkill /IM "Wireshark.exe" /F +exit \ No newline at end of file diff --git a/bat/procdump.bat b/bat/procdump.bat new file mode 100644 index 0000000..5ff7a95 --- /dev/null +++ b/bat/procdump.bat @@ -0,0 +1,6 @@ +@echo off +c:\ +cd "C:\Users\jbranan\Desktop\Batch to call multiple things\procdump" +procdump.exe -n 1 -ma cftpstes.exe "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps" -accepteula +timeout /T 15 +exit \ No newline at end of file diff --git a/bat/procmon.bat b/bat/procmon.bat new file mode 100644 index 0000000..536f173 --- /dev/null +++ b/bat/procmon.bat @@ -0,0 +1,4 @@ +@echo off +c: +cd "C:\Users\jbranan\Desktop\Batch to call multiple things\procmon" +procmon.exe /accepteula /Nofilter /Quiet /BackingFile "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps\log.PML" /Minimized \ No newline at end of file diff --git a/bat/wireshark.bat b/bat/wireshark.bat new file mode 100644 index 0000000..5652165 --- /dev/null +++ b/bat/wireshark.bat @@ -0,0 +1,4 @@ +@echo off +c: +cd "C:\Program Files\Wireshark" +wireshark -k -i Ethernet0 -f "host 192.168.102.10" -a duration:120 -w "C:\Users\jbranan\Desktop\Batch to call multiple things\dumps\capture.pcapng" \ No newline at end of file diff --git a/powershell/WindowsPowerShell/Microsoft.PowerShell_profile.ps1 b/powershell/WindowsPowerShell/Microsoft.PowerShell_profile.ps1 new file mode 100644 index 0000000..0b9955a --- /dev/null +++ b/powershell/WindowsPowerShell/Microsoft.PowerShell_profile.ps1 @@ -0,0 +1,59 @@ +function rdgw { +Write-Host "Logging on to the Arcus Management Server..." +sft rdp --via rdgwbastion ArcusSupport +} + +function list { +Write-Host "Listing servers..." +sft list-servers +} + +function help { +write-host "rdgw - Use to connect to the Arcus domain management server." +write-host "list - List of all servers you have access to in the environment." +write-host "search - String search. I suggest using this with the clients 6 digit identifier to filter all servers in their environment." +write-host "legacy - Use to log into non arcus servers. There are not very many left..." +write-host "arcus - Use to log into arcus servers. There are too many..." +write-host "wfh - Use to log into arcus servers from home." +} + +function search { +param( + [Parameter(Mandatory=$False)][string]$server +) +if ($server) + { + Write-Host "Listing servers..." + sft list-servers | findstr -i $server + } +else{ + $server = Read-Host -Prompt "I need the client's 6 digit identifier. Example'Supp02'" + Write-Host "Listing servers..." + sft list-servers | findstr -i $server } +$Results = Read-Host -Prompt 'How do you want to connect? Use help if you are unsure. +arcus,legacy or wfh?' +invoke-expression $Results +} + +function legacy { +Write-Host 'Connecting to legacy...' +$legacy = Read-Host -Prompt 'Server name?' +Write-Host "sft rdp $legacy" +sft rdp $legacy +} + +function arcus { +Write-Host 'Connecting to Arcus...' +$bastion = Read-Host -Prompt 'Bastion name?' +$vm = Read-Host -Prompt 'Server name?' +Write-Host "sft rdp --via $bastion $vm" +sft rdp --via $bastion $vm +} + +function wfh { +Write-Host 'Connecting from home...' +$bastion = Read-Host -Prompt 'Bastion name?' +$vm = Read-Host -Prompt 'Server name?' +Write-Host "sft rdp --via sft --via $bastion $vm" +sft rdp --via sft --via $bastion $vm +} \ No newline at end of file diff --git a/powershell/WindowsPowerShell/README.txt b/powershell/WindowsPowerShell/README.txt new file mode 100644 index 0000000..4518935 --- /dev/null +++ b/powershell/WindowsPowerShell/README.txt @@ -0,0 +1,76 @@ +Why this is important: +Most of our on prem clients intend to keep their servers. Our company has more room to expand its clients in using our Arcus platform. There is generally alot of confustion on how to connect to our cloud servers and what the difference between legacy and Arcus servers. This will not be guide to setting up SFT but rather how to use it along with its caveats explained. + +Notes: +-We have information of how to set up SFT here: +https://confluence.globalscape.com/display/PS/Import+EFT+to+Arcus +-Here is our RDG portal for our clients: +https://rdg.cloud.globalscape.com/RDWeb/Pages/en-US/login.aspx +-Here is my simple script with an evironment already set: + + +What we will go over: +-Setting the environment +-Looking for a server +-What a bastion is +-How to connect to Arcus from your vpn at home +-Where to put the script +-What commands are available in the script +-How to navigate the script + + +Setting the environment + +In order to connect to the servers you normally will have to enter this command: +$env:HTTPS_PROXY = 'http://10.0.0.14:8080' + +This will set the proxy so the traffic can actually be routed to the servers. This is automatically declared when you use my script so you will never manually have to do this. + +Looking for a server + +You are able to use the following command to list the servers: + +sft list-servers + +This will display a long list of servers. After you get used to it, you normally will be able to find what you are looking for pretty quickly. If you know what the host name of the server is, or you have an idea of what string of letters will return the server you are looking for, you can pipe the output of sft list-servers to find string. Like this: +sft list-servers | findstr -i + +The main problem with this is that most of the legacy servers have odd hostnames that have nothing to do with the company. this is where our Excel spread sheet might come in handy. This contains most of the legacy servers. +R:\jbranan\Cloud Servers.xlsx + +What is a bastion? + +A bastion allows our company to keep tract of the tasks completed on our clients servers. This provides some legal protection should something go wrong, and also provide accountablity. Logging into a server via a bastion is not optional for Arcus and it is not an option for legacy. When you do a SFT list servers, these servers normally have "bast" in the name. + +Connection to Arcus servers via a VPN + +When at home you will need to use the following format: +sft rdp --via sft --via (bastion) (server) + +Note: This should only be used when you are WFH and need to log into an Arcus cloud server. + +What location should I put the script? + +You will want to put the WHOLE folder in your documents folder for powershell to reconize it. The path should be like this: +%userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 +C:\Users\jbranan\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 + +If you don't know where this is just hit WindowsKey + R, type %userprofile% and hit enter. This will show you where your home path is. + +What commands are avaiable in the script? + +list- Displays a list of the servers, legacy, MIX or Arcus. +search- Allows you to specify a string to search the list of servers. You may pass a string parameter. ex. 'search supp02' +rdgw- Connects to the RDGW server. This is normally used for password resets for clients. +legacy- Cloud servers that are not used in conjuction with a bastion. We are winding down support for them. +arcus- Our current cloud offering. Requires a bastion to login. + +How to Navigate the script + +You generally want to start with the search command and search for the name or a short string. + +For expample, search com or one so that the command can return the host name. A search for "com" in this case will not return a server but a search for "one" will.: +Company one's cloud server hostname: cone0003 +Company one's cloud server bastion hostname: conebast0001 + +In order to cancel a command hit ctrl + C. This will allow you to back out of a command and use a different one. For instance, say you connected the previous day to a cloud server and have hostname already. You can proceed with the legacy command and skip the list and search commands. diff --git a/python/REST API/REST-connection.py b/python/REST API/REST-connection.py new file mode 100644 index 0000000..4f0292a --- /dev/null +++ b/python/REST API/REST-connection.py @@ -0,0 +1,28 @@ +import requests + +# Authentication +baseURL = "http://192.168.4.14:4450/admin" +user = "a" +password = "QjIlmT4H" +authURL = f"{baseURL}/v1/authentication" +body = {"userName": user, "password": password, "authType": "EFT"} +r1 = requests.post(authURL, json=body) +eftresp1 = r1.json() +# print(r1.status_code) +# print(eftresp1) +authheader ={"Authorization": f"EFTAdminAuthToken {eftresp1['authToken']}"} +# print(authheader) + +# Get Server Info +getserverURL = f"{baseURL}/v2/server" +r2 = requests.get(getserverURL, headers=authheader) +eftresp2 = r2.json() +# print(r2.status_code) +print(eftresp2) + +#Get Server Metrics +getservermetricsURL = f"{baseURL}/v2/server/metrics" +r3 = requests.get(getservermetricsURL, headers=authheader) +eftresp3 = r3.json() +# print(r3.status_code) +print(eftresp3) \ No newline at end of file diff --git a/python/REST API/REST-move-user.py b/python/REST API/REST-move-user.py new file mode 100644 index 0000000..2c17a1e --- /dev/null +++ b/python/REST API/REST-move-user.py @@ -0,0 +1,66 @@ +import requests +import json + +# Authentication +baseURL = "http://192.168.4.14:4450/admin" +user = "a" +password = "QjIlmT4H" +authURL = f"{baseURL}/v1/authentication" +body = {"userName": user, "password": password, "authType": "EFT"} +r1 = requests.post(authURL, json=body) +eftresp1 = r1.json() +authheader ={"Authorization": f"EFTAdminAuthToken {eftresp1['authToken']}"} + +# Get Site ID +sitename = 'My Site' +getsiteURL = f"{baseURL}/v2/sites" +r2 = requests.get(getsiteURL, headers=authheader) +eftresp2 = r2.json() +# print(r2.status_code) +for index, site in enumerate(eftresp2["data"]): + if site["attributes"]["name"] == sitename: + print(f'Name: {eftresp2["data"][index]["attributes"]["name"]} Site ID: {eftresp2["data"][index]["id"]}') + siteid = eftresp2["data"][index]["id"] + break + +#Get User ID +username = 'b' +getusersURL = f"{baseURL}/v2/sites/{siteid}/users" +r3 = requests.get(getusersURL, headers=authheader) +eftresp3 = r3.json() +for index, user in enumerate(eftresp3["data"]): + if user["attributes"]["loginName"] == username: + print(f'User ID: {eftresp3["data"][index]["id"]}') + userid = eftresp3["data"][index]["id"] + break + +#Get Template id +desttemplate = 'Default Settings' +gettemplateURL = f"{baseURL}/v2/sites/{siteid}/users" +r4 = requests.get(gettemplateURL, headers=authheader) +eftresp4 = r4.json() +for index, user in enumerate(eftresp4["data"]): + if eftresp4["data"][index]["relationships"]["userTemplate"]["data"]["meta"]["name"] == desttemplate: + print(f'Template ID: {eftresp4["data"][index]["relationships"]["userTemplate"]["data"]["id"]}') + usertemplateid = eftresp4["data"][index]["relationships"]["userTemplate"]["data"]["id"] + break + +# Data to change, usertemplateid is the destination template +payload = { + "data": { + "type": "userTemplate", + "relationships": { + "userTemplate": { + "data": { + "id": usertemplateid + } + } + } + } +} + +#Push the change +patchuserURL = f"{baseURL}/v2/sites/{siteid}/users/{userid}" +r5 = requests.patch(patchuserURL, json.dumps(payload), headers=authheader) +eftresp5 = r5.json() +print(r5.status_code) \ No newline at end of file diff --git a/python/REST API/REST-site-info.py b/python/REST API/REST-site-info.py new file mode 100644 index 0000000..338fc18 --- /dev/null +++ b/python/REST API/REST-site-info.py @@ -0,0 +1,37 @@ +import requests + +# Authentication +baseURL = "http://192.168.4.14:4450/admin" +user = "a" +password = "QjIlmT4H" +authURL = f"{baseURL}/v1/authentication" +body = {"userName": user, "password": password, "authType": "EFT"} +r1 = requests.post(authURL, json=body) +eftresp1 = r1.json() +# print(r1.status_code) +# print(eftresp1) +authheader ={"Authorization": f"EFTAdminAuthToken {eftresp1['authToken']}"} +# print(authheader) + +# Get Site ID +sitename = 'test.jbranan.com' +getsiteURL = f"{baseURL}/v2/sites" +r2 = requests.get(getsiteURL, headers=authheader) +eftresp2 = r2.json() +# print(r2.status_code) +for index, site in enumerate(eftresp2["data"]): + if site["attributes"]["name"] == sitename: + print(f'Name: {eftresp2["data"][index]["attributes"]["name"]} ID: {eftresp2["data"][index]["id"]}') + siteid = eftresp2["data"][index]["id"] + +print(eftresp2) + +getsiteinfoURL = f"{baseURL}/v2/sites/{siteid}/users" +r3 = requests.get(getsiteinfoURL, headers=authheader) +eftresp3 = r3.json() +print(r3.status_code) +# for index, site in enumerate(eftresp2["data"]): +# if site["attributes"]["name"] == sitename: +# print(f'Name: {eftresp2["data"][index]["attributes"]["name"]} ID: {eftresp2["data"][index]["id"]}') +# siteid = eftresp2["data"][index]["id"] +print(eftresp3) \ No newline at end of file diff --git a/sql/7.4 purge with cascade deletes/7.4 purge-with-cascade-deletes.zip b/sql/7.4 purge with cascade deletes/7.4 purge-with-cascade-deletes.zip new file mode 100644 index 0000000..3b578e8 Binary files /dev/null and b/sql/7.4 purge with cascade deletes/7.4 purge-with-cascade-deletes.zip differ diff --git a/sql/7.4 purge with cascade deletes/ProlificUsers.sql b/sql/7.4 purge with cascade deletes/ProlificUsers.sql new file mode 100644 index 0000000..724a480 --- /dev/null +++ b/sql/7.4 purge with cascade deletes/ProlificUsers.sql @@ -0,0 +1,11 @@ +SELECT TOP 3 UserName, Count(*) As SuccessConnections +FROM tbl_Authentications +WHERE resultID = 0 AND protocol <> 'Administration' AND Time_stamp >= DATEADD(minute,-1440,GetDate()) +GROUP BY UserName +ORDER BY SuccessConnections DESC + +SELECT TOP 3 UserName, Count(*) As FailedConnections +FROM tbl_Authentications +WHERE resultID = 1 AND protocol <> 'Administration' AND Time_stamp >= DATEADD(minute,-1440,GetDate()) +GROUP BY UserName +ORDER BY FailedConnections DESC diff --git a/sql/7.4 purge with cascade deletes/PurgeSQLEFTData.sql b/sql/7.4 purge with cascade deletes/PurgeSQLEFTData.sql new file mode 100644 index 0000000..8a39e53 --- /dev/null +++ b/sql/7.4 purge with cascade deletes/PurgeSQLEFTData.sql @@ -0,0 +1,278 @@ +-- EFT Purging Script +-- Goal: Allow customers to purge data from EFT's ARM database + +--USAGE +/* +1. Run recreate_foreign_keys.sql next, as it will fix any problems if present (see notes in that script) +2. Run index_foreign_keys_and_time_stamps.sql first, as that will improve purge performance +3. Modify the purge date if desired. -30 means purge all records older than 30 days + 3a. To change: search for "SET @stopTime = DATEADD(DAY, -30, GETDATE())" + 3b. A value of -0 means ALL records + 3c. Alternatively, you can pass in an exact date range: + 3ci. Search for EXEC sp_PurgeEFTTransactions NULL, NULL, 1000000, 1 + 3cii. Enter date and times in quotes as such: EXEC sp_PurgeEFTTransactions '2019-01-20 18:11:00', '2019-04-01 07:50:00', 1000000, 1 +4. Modify "USE EFTDB" below if your database name is different +5. Make sure you database isn't actively recording data (disable ARM reporting in EFT temporarily) +6. Execute the script (it can take several hours for databases with hundreds of millions of records) +*/ + +-- Change Log: +-- 0.1: Set batch size at 100,000 +-- Removed SELECT and extra PRINT statements. +-- 0.2: Changed to purge up to records greater than 30 days old +-- 0.3: Modified script to not assume cascading deletes and to +-- explicitly delete from all tables +-- Modified script to default 'purgesize' to 10,000 +-- instead of 1,000 +-- 0.4 Added AS2 and SAT purging +-- 0.5 Subset table wasn't being dropped. +-- 0.6 Changed to all static calls instead of dynamic. +-- 0.7 Changed purge size to 1,000,000 +-- 0.8 Brought back cascade deletes to speed up performance + +--USE EFTDB + +-- Include minutes/seconds +PRINT 'Script started at: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109) +-- PRINT 'Script started at: ' + CAST(CURRENT_TIMESTAMP AS NVARCHAR) +-- USE EFTDB741315 + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFTTransactionsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFTTransactionsVersion +GO + +CREATE PROCEDURE sp_PurgeEFTTransactionsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Script Version 0.6' +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFTTransactions') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFTTransactions +END +GO + +-- By default, this procedure will purge data from 1970 to 60 days ago. +CREATE PROCEDURE sp_PurgeEFTTransactions @startTime datetime = NULL, + @stopTime datetime = NULL, + @purgeSize int = NULL, + @debug bit = 0 +AS +BEGIN + DECLARE @r INT; + DECLARE @ErrMsg nvarchar(4000); + DECLARE @ErrSeverity int; + DECLARE @deletedTransactions TABLE(ParentTransactionID numeric(18,0)); + + EXEC sp_PurgeEFTTransactionsVersion + + -- Delete tblTransactions records and sub-tables + SET NOCOUNT ON + + IF @startTime IS NULL BEGIN + set @startTime = '19700101 00:00:00' + END + + IF @stopTime IS NULL BEGIN + SET @stopTime = DATEADD(DAY, -60, GETDATE()) + END + + IF @purgeSize IS NULL BEGIN + set @purgeSize = 1000000 + END + + -- Temporarily remove the ParentTransactionID -> TransactionID constraint + ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; + + -- First, delete from tbl_Actions separately since potential circular cascade delete with tbl_EventRules +IF @debug=1 PRINT 'Deleting from tbl_Actions: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109); + BEGIN TRY + BEGIN TRANSACTION + + -- Clear the temp table + DELETE @deletedTransactions + + -- First, drop constraint + ALTER TABLE tbl_Actions DROP CONSTRAINT FK_tbl_Actions_TransID; + + -- First delete the related transactions + DELETE FROM tbl_Transactions + OUTPUT deleted.ParentTransactionID INTO @deletedTransactions + WHERE transactionID IN + (SELECT transactionID FROM tbl_Actions WHERE Time_stamp BETWEEN @startTime AND @stopTime) + -- Now delete the Actions + DELETE FROM tbl_Actions WHERE Time_stamp BETWEEN @startTime AND @stopTime + + -- Make sure no orphans remaining + DELETE FROM tbl_Actions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Actions ADD CONSTRAINT FK_tbl_Actions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE NO ACTION; + + -- Delete any parent transactions + DELETE FROM tbl_Transactions WHERE transactionID IN (SELECT ParentTransactionID FROM @deletedTransactions WHERE ParentTransactionID IS NOT NULL) + + COMMIT TRANSACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + BEGIN TRY + + + SET @r = 1; + WHILE @r > 0 + BEGIN + IF @debug=1 PRINT 'Deleting from tbl_Transactions: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109); + BEGIN TRANSACTION + + -- Clear the temp table + DELETE @deletedTransactions + + -- Delete from tbl_Transactions and cascade delete of multiple tables, + -- copy deleted transactions' ParentTransactionIDs so can delete any parents after + DELETE TOP (@purgeSize) FROM tbl_Transactions + OUTPUT deleted.ParentTransactionID INTO @deletedTransactions + WHERE + -- See code above to delete tbl_Actions separately + -- TransactionID IN (SELECT transactionID FROM tbl_Actions WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_AdminActions WHERE Timestamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_Authentications WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_ClientOperations WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_CustomCommands WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_EventRules WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR +-- EventRuleTransfers do not contain a time_stamp, but will cascade delete from Transactions +-- TransactionID IN (SELECT transactionID FROM tbl_EventRuleTransfers WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_ProtocolCommands WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_SocketConnections WHERE Time_stamp BETWEEN @startTime AND @stopTime) OR + TransactionID IN (SELECT transactionID FROM tbl_WorkspaceActions WHERE Time_stamp BETWEEN @startTime AND @stopTime) + + SET @r = @@ROWCOUNT + + -- Now delete the parents + DELETE FROM tbl_Transactions WHERE transactionID IN (SELECT ParentTransactionID FROM @deletedTransactions WHERE ParentTransactionID IS NOT NULL) + + COMMIT TRANSACTION; + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log after each iteration to its original creation size + END + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete SAT Transactions and sub-tables tbl_SAT_Files, tbl_SAT_Emails (Cascading Delete) + IF @debug=1 PRINT 'Deleting from tbl_SAT_Transactions: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109); + BEGIN TRY + BEGIN TRANSACTION + + DELETE FROM tbl_SAT_Transactions + WHERE time_stamp BETWEEN @startTime AND @stopTime + + COMMIT TRANSACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete AS2 Transactions and sub-tables tbl_AS2Actions, tbl_AS2Files (non-Cascading Delete) + IF @debug=1 PRINT 'Deleting from tbl_AS2Transactions: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109); + BEGIN TRY + BEGIN TRANSACTION + + -- First delete records in sub-tables + -- tbl_AS2Actions + DELETE FROM tbl_AS2Actions WHERE transactionID IN + (SELECT transactionID FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime) OR + FileID IN (SELECT FileID FROM tbl_AS2Files WHERE transactionID IN + (SELECT transactionID FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime)) + -- tbl_AS2Files + DELETE FROM tbl_AS2Files WHERE transactionID IN + (SELECT transactionID FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime) + -- tbl_AS2Transactions + DELETE FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime + + COMMIT TRANSACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete from remaining tables (stand-alone) + /* + IF @debug=1 PRINT 'Deleting from tbl_ScanDataActions, etc.: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109); + BEGIN TRY + BEGIN TRANSACTION + DELETE FROM tbl_ScanDataActions WHERE Time_stamp BETWEEN @startTime AND @stopTime + DELETE FROM tbl_PrivacyTermsEUStatus WHERE Setdate BETWEEN @startTime AND @stopTime + DELETE FROM tbl_PersonalDataActions WHERE Setdate BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + END TRY + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + */ + + -- Re-establish the ParentTransactionID -> TransactionID constraint + -- Make sure no orphans remaining + DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back without cascade delete enabled + ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID + FOREIGN KEY (ParentTransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE NO ACTION; + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log to its original creation size +END +GO + +-- Using 1,000,000 batch for now. Creates larger log, but moves quicker. +SET STATISTICS TIME OFF +EXEC sp_PurgeEFTTransactions NULL, NULL, 10000000, 1 +SET STATISTICS TIME OFF + + +PRINT '' +-- PRINT 'Script completed at: ' + CAST(CURRENT_TIMESTAMP AS NVARCHAR) +PRINT 'Script completed at: ' + CONVERT(varchar(30),CURRENT_TIMESTAMP,109) + + +GO diff --git a/sql/7.4 purge with cascade deletes/README.txt b/sql/7.4 purge with cascade deletes/README.txt new file mode 100644 index 0000000..8166dc9 --- /dev/null +++ b/sql/7.4 purge with cascade deletes/README.txt @@ -0,0 +1,20 @@ + + +1. Run recreate_foreign_keys.sql first, as it will fix any problems with FK associations if present (see notes in that script) + +2. Run index_foreign_keys_and_time_stamps.sql next, as that will signficantly improve purge performance. + +3. Open PurgeSQLEFTData.sql + +3. Modify the purge date if desired. -30 means purge all records older than 30 days + 3a. To change: search for "SET @stopTime = DATEADD(DAY, -60, GETDATE())" + 3b. A value of -0 means ALL records + 3c. Alternatively, you can pass in an exact date range: + 3ci. Search for EXEC sp_PurgeEFTTransactions NULL, NULL, 1000000, 1 + 3cii. Enter date and times in quotes as such: EXEC sp_PurgeEFTTransactions '2019-01-20 18:11:00', '2019-04-01 07:50:00', 1000000, 1 + +4. Modify "USE EFTDB" below if your database name is different + +5. Make sure you database is NOT actively recording data (disable ARM reporting in EFT temporarily) + +6. Execute the script (it may take several hours if your databases has hundreds of millions of records) \ No newline at end of file diff --git a/sql/7.4 purge with cascade deletes/RowCount.sql b/sql/7.4 purge with cascade deletes/RowCount.sql new file mode 100644 index 0000000..eb8d3ed --- /dev/null +++ b/sql/7.4 purge with cascade deletes/RowCount.sql @@ -0,0 +1,12 @@ + +declare @count int +print 'Row counts before purge' +select @count = count(*) from [dbo].[tbl_AdminActions] print 'tbl_AdminActions count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_ProtocolCommands print 'tbl_ProtocolCommands count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Actions print 'tbl_Actions count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_ClientOperations print 'tbl_ClientOperations count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_SocketConnections print 'tbl_SocketConnections count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Authentications print 'tbl_Authentications count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_CustomCommands print 'tbl_CustomCommands count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_EventRules print 'tbl_EventRules count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Transactions print 'tbl_Transactions count = ' +CAST(@count AS NVARCHAR) \ No newline at end of file diff --git a/sql/7.4 purge with cascade deletes/index_foreign_keys_and_time_stamps.sql b/sql/7.4 purge with cascade deletes/index_foreign_keys_and_time_stamps.sql new file mode 100644 index 0000000..44d7d94 --- /dev/null +++ b/sql/7.4 purge with cascade deletes/index_foreign_keys_and_time_stamps.sql @@ -0,0 +1,81 @@ + +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Actions_TransactionID' AND object_id = OBJECT_ID('tbl_Actions')) + CREATE NONCLUSTERED INDEX [IX_tbl_Actions_TransactionID] ON [tbl_Actions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AdminActions_TransactionID' AND object_id = OBJECT_ID('tbl_AdminActions')) + CREATE NONCLUSTERED INDEX [IX_tbl_AdminActions_TransactionID] ON [tbl_AdminActions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AS2Actions_FileID' AND object_id = OBJECT_ID('tbl_AS2Actions')) + CREATE NONCLUSTERED INDEX [IX_tbl_AS2Actions_FileID] ON [tbl_AS2Actions] ([FileID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AS2Actions_TransactionID' AND object_id = OBJECT_ID('tbl_AS2Actions')) + CREATE NONCLUSTERED INDEX [IX_tbl_AS2Actions_TransactionID] ON [tbl_AS2Actions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AS2Files_TransactionID' AND object_id = OBJECT_ID('tbl_AS2Files')) + CREATE NONCLUSTERED INDEX [IX_tbl_AS2Files_TransactionID] ON [tbl_AS2Files] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_CustomCommands_TransactionID' AND object_id = OBJECT_ID('tbl_CustomCommands')) + CREATE NONCLUSTERED INDEX [IX_tbl_CustomCommands_TransactionID] ON [tbl_CustomCommands] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Groups_AuthenticationID' AND object_id = OBJECT_ID('tbl_Groups')) + CREATE NONCLUSTERED INDEX [IX_tbl_Groups_AuthenticationID] ON [tbl_Groups] ([AuthenticationID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_TransactionID' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + CREATE NONCLUSTERED INDEX [IX_tbl_ProtocolCommands_TransactionID] ON [tbl_ProtocolCommands] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Emails_txid' AND object_id = OBJECT_ID('tbl_SAT_Emails')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Emails_txid] ON [tbl_SAT_Emails] ([txid] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Files_txid' AND object_id = OBJECT_ID('tbl_SAT_Files')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Files_txid] ON [tbl_SAT_Files] ([txid] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_TransactionID' AND object_id = OBJECT_ID('tbl_SocketConnections')) + CREATE NONCLUSTERED INDEX [IX_tbl_SocketConnections_TransactionID] ON [tbl_SocketConnections] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Transactions_ParentTransactionID' AND object_id = OBJECT_ID('tbl_Transactions')) + CREATE NONCLUSTERED INDEX [IX_tbl_Transactions_ParentTransactionID] ON [tbl_Transactions] ([ParentTransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_TransactionID' AND object_id = OBJECT_ID('tbl_WorkspaceActions')) + CREATE NONCLUSTERED INDEX [IX_tbl_WorkspaceActions_TransactionID] ON [tbl_WorkspaceActions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_TransactionID' AND object_id = OBJECT_ID('tbl_WorkspaceParticipants')) + CREATE NONCLUSTERED INDEX [IX_tbl_WorkspaceActions_TransactionID] ON [tbl_WorkspaceParticipants] ([WorkspaceActionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- Add indexes on time_stamps + +-- tbl_SAT_Transactions +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Transactions_Time_Stamp' AND object_id = OBJECT_ID('tbl_SAT_Transactions')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Transactions_Time_Stamp] ON [tbl_SAT_Transactions] ([time_stamp] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_ProtocolCommands (index existed, but adding INCLUDE TransactionID) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Time_stamp' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX [IX_tbl_ProtocolCommands_Time_stamp] ON [tbl_ProtocolCommands] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_ProtocolCommands_Time_stamp] ON [tbl_ProtocolCommands] ([time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_SocketConnections (index existed, but adding INCLUDE TransactionID) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_Time_stamp' AND object_id = OBJECT_ID('tbl_SocketConnections')) + DROP INDEX [IX_tbl_SocketConnections_Time_stamp] ON [tbl_SocketConnections] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_SocketConnections_Time_stamp] ON [tbl_SocketConnections] ([Time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_Authentications (index existed, but adding Time_stamp) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_User_Name' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX [IX_tbl_Authentications_User_Name] ON [tbl_Authentications] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_Authentications_User_Name] ON [tbl_Authentications] ([UserName],[Time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_ScanDataActions +/* +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ScanDataActions_Time_Stamp' AND object_id = OBJECT_ID('tbl_ScanDataActions')) + DROP INDEX [IX_tbl_ScanDataActions_Time_Stamp] ON [tbl_ScanDataActions] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_ScanDataActions_Time_Stamp] ON [tbl_ScanDataActions] ([Time_stamp]) INCLUDE ([ActionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +*/ + diff --git a/sql/7.4 purge with cascade deletes/recreate_foreign_keys.sql b/sql/7.4 purge with cascade deletes/recreate_foreign_keys.sql new file mode 100644 index 0000000..f770b5c --- /dev/null +++ b/sql/7.4 purge with cascade deletes/recreate_foreign_keys.sql @@ -0,0 +1,275 @@ +-- recreate_foreign_keys.sql +-- Delete orphan records for any cascade delete foreign key constraints +-- 1. Test to see if any orphan records in sub-tables +-- 2. If orphan records exist +-- a. Drop the constraint between the table and parent table +-- b. Delete the orphan records +-- c. Recreate the constraint with the cascade delete + +-- **************************** +-- tbl_Transactions constraints +-- **************************** + +-- tbl_AdminActions +-- IF EXISTS (SELECT * FROM tbl_AdminActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_AdminActions DROP CONSTRAINT FK_tbl_AdminActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_AdminActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_AdminActions ADD CONSTRAINT FK_tbl_AdminActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Authentications WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_Authentications DROP CONSTRAINT FK_tbl_Auth_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_Authentications WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Authentications ADD CONSTRAINT FK_tbl_Auth_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_ClientOperations +-- IF EXISTS (SELECT * FROM tbl_ClientOperations WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_ClientOperations DROP CONSTRAINT FK_tbl_ClientOperations_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ClientOperations WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ClientOperations ADD CONSTRAINT FK_tbl_ClientOperations_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_CustomCommands +-- IF EXISTS (SELECT * FROM tbl_CustomCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_CustomCommands DROP CONSTRAINT FK_tbl_CustomCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_CustomCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_CustomCommands ADD CONSTRAINT FK_tbl_CustomCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_EventRules WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_EventRules DROP CONSTRAINT FK_tbl_EventRules_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRules WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRules ADD CONSTRAINT FK_tbl_EventRules_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRuleTransfers +/* +-- IF EXISTS (SELECT * FROM tbl_EventRuleTransfers WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_EventRuleTransfers DROP CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRuleTransfers WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRuleTransfers ADD CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- tbl_ProtocolCommands +-- IF EXISTS (SELECT * FROM tbl_ProtocolCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_ProtocolCommands DROP CONSTRAINT FK_tbl_ProtocolCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ProtocolCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ProtocolCommands ADD CONSTRAINT FK_tbl_ProtocolCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_SocketConnections +-- IF EXISTS (SELECT * FROM tbl_SocketConnections WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_SocketConnections DROP CONSTRAINT FK_tbl_SocketConnections_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_SocketConnections WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SocketConnections ADD CONSTRAINT FK_tbl_SocketConnections_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceActions +/* +-- IF EXISTS (SELECT * FROM tbl_WorkspaceActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_WorkspaceActions DROP CONSTRAINT FK_tbl_WorkspaceActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceActions ADD CONSTRAINT FK_tbl_WorkspaceActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- ***************** +-- Other constraints +-- ***************** + +-- tbl_ScanDataActions -> tbl_Actions +/* +IF EXISTS (SELECT * FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_ScanDataActions DROP CONSTRAINT FK_tbl_ScanDataActions_ActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ScanDataActions ADD CONSTRAINT FK_tbl_ScanDataActions_ActionID + FOREIGN KEY (ActionID) + REFERENCES tbl_Actions (ActionID) + ON DELETE CASCADE; +END +*/ +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_Actions -> tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_Actions WHERE EventID NOT IN (SELECT EventID FROM tbl_EventRules)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_Actions DROP CONSTRAINT FK_tbl_Actions_EventId; + -- Make sure no orphans remaining + DELETE FROM tbl_Actions WHERE EventID NOT IN + (SELECT EventID FROM tbl_EventRules); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Actions ADD CONSTRAINT FK_tbl_Actions_EventId + FOREIGN KEY (EventID) + REFERENCES tbl_EventRules (EventID) + ON DELETE CASCADE; +END +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_SAT_Emails -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Emails WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_SAT_Emails DROP CONSTRAINT FK_tbl_SAT_Emails_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Emails WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Emails ADD CONSTRAINT FK_tbl_SAT_Emails_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_SAT_Emails -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Emails WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_SAT_Emails DROP CONSTRAINT FK_tbl_SAT_Emails_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Emails WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Emails ADD CONSTRAINT FK_tbl_SAT_Emails_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_SAT_Files -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Files WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + ALTER TABLE tbl_SAT_Files DROP CONSTRAINT FK_tbl_SAT_Files_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Files WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Files ADD CONSTRAINT FK_tbl_SAT_Files_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceParticipants -> tbl_WorkspaceActions +-- IF EXISTS (SELECT * FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN (SELECT ID FROM tbl_WorkspaceActions)) +/* +BEGIN + -- Drop constraint + ALTER TABLE tbl_WorkspaceParticipants DROP CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN + (SELECT ID FROM tbl_WorkspaceActions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceParticipants ADD CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID + FOREIGN KEY (WorkspaceActionID) + REFERENCES tbl_WorkspaceActions (ID) + ON DELETE CASCADE; +END +*/ + +-- Re-create FK constraint between ParentTransactionID and TransactionID +-- Drop constraint +ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; +-- Make sure no orphans remaining +DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); +-- Now, add it back without cascade delete enabled +ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID +FOREIGN KEY (ParentTransactionID) +REFERENCES tbl_Transactions (TransactionID) +ON DELETE NO ACTION; diff --git a/sql/7.4 purge with cascade deletes/recreate_foreign_keys_major.sql b/sql/7.4 purge with cascade deletes/recreate_foreign_keys_major.sql new file mode 100644 index 0000000..a4f686b --- /dev/null +++ b/sql/7.4 purge with cascade deletes/recreate_foreign_keys_major.sql @@ -0,0 +1,295 @@ +-- recreate_foreign_keys.sql +-- Delete orphan records for any cascade delete foreign key constraints +-- 1. Test to see if any orphan records in sub-tables +-- 2. If orphan records exist +-- a. Drop the constraint between the table and parent table +-- b. Delete the orphan records +-- c. Recreate the constraint with the cascade delete + +-- **************************** +-- tbl_Transactions constraints +-- **************************** + +-- tbl_AdminActions +-- IF EXISTS (SELECT * FROM tbl_AdminActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_AdminActions_TransID') AND parent_object_id = OBJECT_ID(N'tbl_AdminActions')) + ALTER TABLE tbl_AdminActions DROP CONSTRAINT FK_tbl_AdminActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_AdminActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_AdminActions ADD CONSTRAINT FK_tbl_AdminActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Authentications WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Auth_TransID') AND parent_object_id = OBJECT_ID(N'tbl_Authentications')) + ALTER TABLE tbl_Authentications DROP CONSTRAINT FK_tbl_Auth_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_Authentications WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Authentications ADD CONSTRAINT FK_tbl_Auth_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_ClientOperations +-- IF EXISTS (SELECT * FROM tbl_ClientOperations WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ClientOperations_TransID') AND parent_object_id = OBJECT_ID(N'tbl_ClientOperations')) + ALTER TABLE tbl_ClientOperations DROP CONSTRAINT FK_tbl_ClientOperations_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ClientOperations WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ClientOperations ADD CONSTRAINT FK_tbl_ClientOperations_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_CustomCommands +-- IF EXISTS (SELECT * FROM tbl_CustomCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_CustomCommands_TransID') AND parent_object_id = OBJECT_ID(N'tbl_CustomCommands')) + ALTER TABLE tbl_CustomCommands DROP CONSTRAINT FK_tbl_CustomCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_CustomCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_CustomCommands ADD CONSTRAINT FK_tbl_CustomCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_EventRules WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_EventRules_TransID') AND parent_object_id = OBJECT_ID(N'tbl_EventRules')) + ALTER TABLE tbl_EventRules DROP CONSTRAINT FK_tbl_EventRules_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRules WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRules ADD CONSTRAINT FK_tbl_EventRules_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRuleTransfers +/* +-- IF EXISTS (SELECT * FROM tbl_EventRuleTransfers WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_EventRuleTransfers_TransactionID') AND parent_object_id = OBJECT_ID(N'tbl_EventRuleTransfers')) + ALTER TABLE tbl_EventRuleTransfers DROP CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRuleTransfers WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRuleTransfers ADD CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- tbl_ProtocolCommands +-- IF EXISTS (SELECT * FROM tbl_ProtocolCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ProtocolCommands_TransID') AND parent_object_id = OBJECT_ID(N'tbl_ProtocolCommands')) + ALTER TABLE tbl_ProtocolCommands DROP CONSTRAINT FK_tbl_ProtocolCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ProtocolCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ProtocolCommands ADD CONSTRAINT FK_tbl_ProtocolCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_SocketConnections +-- IF EXISTS (SELECT * FROM tbl_SocketConnections WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SocketConnections_TransID') AND parent_object_id = OBJECT_ID(N'tbl_SocketConnections')) + ALTER TABLE tbl_SocketConnections DROP CONSTRAINT FK_tbl_SocketConnections_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_SocketConnections WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SocketConnections ADD CONSTRAINT FK_tbl_SocketConnections_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceActions +/* +-- IF EXISTS (SELECT * FROM tbl_WorkspaceActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_WorkspaceActions_TransID') AND parent_object_id = OBJECT_ID(N'tbl_WorkspaceActions')) + ALTER TABLE tbl_WorkspaceActions DROP CONSTRAINT FK_tbl_WorkspaceActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceActions ADD CONSTRAINT FK_tbl_WorkspaceActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- ***************** +-- Other constraints +-- ***************** + +-- tbl_ScanDataActions -> tbl_Actions +/* +IF EXISTS (SELECT * FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ScanDataActions_ActionID') AND parent_object_id = OBJECT_ID(N'tbl_ScanDataActions')) + ALTER TABLE tbl_ScanDataActions DROP CONSTRAINT FK_tbl_ScanDataActions_ActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ScanDataActions ADD CONSTRAINT FK_tbl_ScanDataActions_ActionID + FOREIGN KEY (ActionID) + REFERENCES tbl_Actions (ActionID) + ON DELETE CASCADE; +END +*/ +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Groups_AuthID') AND parent_object_id = OBJECT_ID(N'tbl_Groups')) + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_Actions -> tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_Actions WHERE EventID NOT IN (SELECT EventID FROM tbl_EventRules)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Actions_EventId') AND parent_object_id = OBJECT_ID(N'tbl_Actions')) + ALTER TABLE tbl_Actions DROP CONSTRAINT FK_tbl_Actions_EventId; + -- Make sure no orphans remaining + DELETE FROM tbl_Actions WHERE EventID NOT IN + (SELECT EventID FROM tbl_EventRules); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Actions ADD CONSTRAINT FK_tbl_Actions_EventId + FOREIGN KEY (EventID) + REFERENCES tbl_EventRules (EventID) + ON DELETE CASCADE; +END +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Groups_AuthID') AND parent_object_id = OBJECT_ID(N'tbl_Groups')) + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_SAT_Emails -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Emails WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SAT_Emails_TxID') AND parent_object_id = OBJECT_ID(N'tbl_SAT_Emails')) + ALTER TABLE tbl_SAT_Emails DROP CONSTRAINT FK_tbl_SAT_Emails_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Emails WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Emails ADD CONSTRAINT FK_tbl_SAT_Emails_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_SAT_Files -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Files WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SAT_Files_TxID') AND parent_object_id = OBJECT_ID(N'tbl_SAT_Files')) + ALTER TABLE tbl_SAT_Files DROP CONSTRAINT FK_tbl_SAT_Files_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Files WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Files ADD CONSTRAINT FK_tbl_SAT_Files_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceParticipants -> tbl_WorkspaceActions +-- IF EXISTS (SELECT * FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN (SELECT ID FROM tbl_WorkspaceActions)) +/* +BEGIN + -- Drop constraint +IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_WorkspaceParticipants_WorkspaceActionID') AND parent_object_id = OBJECT_ID(N'tbl_WorkspaceParticipants')) + ALTER TABLE tbl_WorkspaceParticipants DROP CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN + (SELECT ID FROM tbl_WorkspaceActions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceParticipants ADD CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID + FOREIGN KEY (WorkspaceActionID) + REFERENCES tbl_WorkspaceActions (ID) + ON DELETE CASCADE; +END +*/ + +-- Re-create FK constraint between ParentTransactionID and TransactionID +-- Drop constraint +IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Transactions_ParentTransID') AND parent_object_id = OBJECT_ID(N'tbl_Transactions')) + ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; +-- Make sure no orphans remaining +DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); +-- Now, add it back without cascade delete enabled +ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID +FOREIGN KEY (ParentTransactionID) +REFERENCES tbl_Transactions (TransactionID) +ON DELETE NO ACTION; diff --git a/sql/Helper scripts/PurgeEFT.sql b/sql/Helper scripts/PurgeEFT.sql new file mode 100644 index 0000000..000739b --- /dev/null +++ b/sql/Helper scripts/PurgeEFT.sql @@ -0,0 +1,277 @@ +-- EFT Purging Script +-- Goal: General script to purge data from EFT's ARM database by date + +--USAGE +/* +1. Run index_foreign_keys_and_time_stamps.sql first, as that will improve purge performance +2. Run repair_foreign_keys.sql next, as it will fix any problems if present (see notes in that script) +3. Modify the purge date if desired. -30 means purge all records older than 30 days + 3a. To change: search for "SET @stopTime = DATEADD(DAY, -30, GETDATE())" + 3b. A value of -0 means ALL records + 3c. Alternatively, you can pass in an exact date range: + 3ci. Search for EXEC sp_PurgeEFTTransactions NULL, NULL, 1000000, 1 + 3cii. Enter date and times in quotes as such: EXEC sp_PurgeEFTTransactions '2019-01-20 18:11:00', '2019-04-01 07:50:00', 1000000, 1 +4. Modify "USE EFTDB" below if your database name is different +5. Make sure you database isn't actively recording data (disable ARM reporting in EFT temporarily) +6. Execute the script (it can take several hours for databases with hundreds of millions of records) +*/ + +-- Change Log: +-- 0.1: Set batch size at 100,000 +-- Removed SELECT and extra PRINT statements. +-- 0.2: Changed to purge up to records greater than 30 days old +-- 0.3: Modified script to not assume cascading deletes and to +-- explicitly delete from all tables +-- Modified script to default 'purgesize' to 10,000 +-- instead of 1,000 +-- 0.4 Added AS2 and SAT purging +-- 0.5 Subset table wasn't being dropped. +-- 0.6 Changed to all static calls instead of dynamic. +-- 0.7 Changed purge size to 1,000,000 +-- 0.8 Brought back cascade deletes to speed up performance + +-- USE EFTDB + +PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Script started' + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFTTransactionsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFTTransactionsVersion +GO + +CREATE PROCEDURE sp_PurgeEFTTransactionsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Script Version 0.8' +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFTTransactions') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFTTransactions +END +GO + +-- By default, this procedure will purge data from 1970 to 60 days ago. +CREATE PROCEDURE sp_PurgeEFTTransactions @startTime datetime = NULL, + @stopTime datetime = NULL, + @purgeSize int = NULL, + @debug bit = 0 +AS +BEGIN + DECLARE @r INT; + DECLARE @ErrMsg nvarchar(4000); + DECLARE @ErrSeverity int; + DECLARE @deletedTransactions TABLE(ParentTransactionID numeric(18,0)); + + EXEC sp_PurgeEFTTransactionsVersion + + -- Delete tbl_Transactions records and sub-tables + SET NOCOUNT ON + + IF @startTime IS NULL BEGIN + set @startTime = '1970-01-01' + END + + IF @stopTime IS NULL BEGIN + SET @stopTime = DATEADD(DAY, -60, GETDATE()) + END + + IF @purgeSize IS NULL BEGIN + set @purgeSize = 1000000 + END + + -- Temporarily remove the ParentTransactionID -> TransactionID constraint + ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; + + -- First, delete from tbl_Actions separately since potential circular cascade delete with tbl_EventRules + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_Actions'; + BEGIN TRY + BEGIN TRANSACTION + + -- Clear the temp table + DELETE @deletedTransactions + + -- First delete the related transactions + DELETE FROM tbl_Transactions + OUTPUT deleted.ParentTransactionID INTO @deletedTransactions + WHERE transactionID IN + (SELECT transactionID FROM tbl_Actions WHERE Time_stamp BETWEEN @startTime AND @stopTime) + -- Now delete the Actions + DELETE FROM tbl_Actions WHERE Time_stamp BETWEEN @startTime AND @stopTime + + -- Make sure no orphans remaining + DELETE FROM tbl_Actions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + + -- Delete any parent transactions + DELETE FROM tbl_Transactions WHERE transactionID IN (SELECT ParentTransactionID FROM @deletedTransactions WHERE ParentTransactionID IS NOT NULL) + + COMMIT TRANSACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + BEGIN TRY + + -- First, drop constraint + IF (OBJECT_ID('FK_tbl_OutlookReport_ParentTransID', 'F') IS NOT NULL) + BEGIN + ALTER TABLE tbl_OutlookReport DROP CONSTRAINT FK_tbl_OutlookReport_ParentTransID; + END + + SET @r = 1; + WHILE @r > 0 + BEGIN + IF @debug=1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_Transactions'; + BEGIN TRANSACTION + + -- Clear the temp table + DELETE @deletedTransactions + + -- Delete from tbl_Transactions and cascade delete of multiple tables, + -- copy deleted transactions' ParentTransactionIDs so can delete any parents after + -- Tables cascade deleted are: + -- tbl_AdminActions, tbl_Authentications, tbl_ClientOperations, tbl_CustomCommands, tbl_EventRules, + -- tbl_EventRuleTransfers, tbl_ProtocolCommands, tbl_SocketConnections, tbl_WorkspaceActions + DELETE TOP (@purgeSize) FROM tbl_Transactions + OUTPUT deleted.ParentTransactionID INTO @deletedTransactions + WHERE Time_stamp BETWEEN @startTime AND @stopTime + + SET @r = @@ROWCOUNT + + -- Now delete the parents + DELETE FROM tbl_Transactions WHERE transactionID IN (SELECT ParentTransactionID FROM @deletedTransactions WHERE ParentTransactionID IS NOT NULL) + + COMMIT TRANSACTION; + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log after each iteration to its original creation size + END + + DELETE FROM dbo.tbl_OutlookReport WHERE TransactionID NOT IN (SELECT TransactionID FROM tbl_Transactions); + ALTER TABLE tbl_OutlookReport ADD CONSTRAINT FK_tbl_OutlookReport_ParentTransID + FOREIGN KEY(TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE NO ACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete SAT Transactions and sub-tables tbl_SAT_Files, tbl_SAT_Emails (Cascading Delete) + BEGIN TRY + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_SAT_Transactions'; + BEGIN TRANSACTION + DELETE FROM tbl_SAT_Transactions + WHERE time_stamp BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_AWESteps'; + BEGIN TRANSACTION + DELETE FROM tbl_AWESteps + WHERE time_stamp BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_PCIViolations'; + BEGIN TRANSACTION + DELETE FROM tbl_PCIViolations + WHERE time_stamp BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_ServerInternalEvents'; + BEGIN TRANSACTION + DELETE FROM tbl_ServerInternalEvents + WHERE time_stamp BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete AS2 Transactions and sub-table tbl_AS2Actions (non-Cascading Delete) + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_AS2Transactions'; + BEGIN TRY + BEGIN TRANSACTION + + -- First delete records in sub-tables + -- tbl_AS2Actions + DELETE FROM tbl_AS2Actions WHERE transactionID IN + (SELECT transactionID FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime) + -- tbl_AS2Transactions + DELETE FROM tbl_AS2Transactions + WHERE CompleteTime BETWEEN @startTime AND @stopTime + + COMMIT TRANSACTION; + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Delete from remaining tables (stand-alone) + /* + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_ScanDataActions, etc.'; + BEGIN TRY + BEGIN TRANSACTION + DELETE FROM tbl_ScanDataActions WHERE Time_stamp BETWEEN @startTime AND @stopTime + DELETE FROM tbl_PrivacyTermsEUStatus WHERE Setdate BETWEEN @startTime AND @stopTime + DELETE FROM tbl_PersonalDataActions WHERE Setdate BETWEEN @startTime AND @stopTime + COMMIT TRANSACTION; + END TRY + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + */ + + -- Re-establish the ParentTransactionID -> TransactionID constraint + -- Make sure no orphans remaining + DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back without cascade delete enabled + ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID + FOREIGN KEY (ParentTransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE NO ACTION; + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log to its original creation size +END +GO + +-- Using 10,000,000 batch for now. Creates larger log, but moves quicker. +SET STATISTICS TIME OFF +EXEC sp_PurgeEFTTransactions NULL, NULL, 10000000, 1 +--EXEC sp_PurgeEFTTransactions '2018-01-01', '2018-12-31', 10000000, 1 +SET STATISTICS TIME OFF + + +PRINT '' +PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Script completed' + + +GO diff --git a/sql/Helper scripts/PurgeEFT_Authentications.sql b/sql/Helper scripts/PurgeEFT_Authentications.sql new file mode 100644 index 0000000..f3ab82b --- /dev/null +++ b/sql/Helper scripts/PurgeEFT_Authentications.sql @@ -0,0 +1,107 @@ +-- EFT Purging script: tbl_Authentications +-- Goal: Purge tbl_Authentications table of garbage logon attempts using non-existing usernames. + +-- USAGE +-- Config: By default, the script will search for user account authentications attempts using 'root' or 'administrator' +-- You can edit those terms or add your own by modifying the appropriate areas of this script (search for root or administrator) +-- You can also specify a start and end range or use NULL, NULL which will dafault to deleting records back 60 days + +-- Change Log: +-- 0.1: Initial version + +-- [NOTE: Added to upgrade_17.0.0.0-18.0.0.0 script to modify tbl_Authentications index IX_tbl_Authentications_User_Name to include Time_stamp] + +PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Script started' +-- USE EFTDB + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFT_AuthenticationsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFT_AuthenticationsVersion +GO + +CREATE PROCEDURE sp_PurgeEFT_AuthenticationsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Authentication Script Version 0.1' +GO + +-- This procedure deletes Authentications based on username and date range +IF OBJECT_ID('dbo.sp_PurgeEFT_Authentications') IS NOT NULL + DROP PROC dbo.sp_PurgeEFT_Authentications +GO + +CREATE PROCEDURE sp_PurgeEFT_Authentications + @startTime datetime = NULL, + @stopTime datetime = NULL, + @UserName nvarchar(50) = NULL, + @debug bit = 0 +AS + + EXEC dbo.sp_PurgeEFT_AuthenticationsVersion + + SET NOCOUNT ON + + IF @startTime IS NULL BEGIN + set @startTime = '19700101 00:00:00' + END + + IF @stopTime IS NULL BEGIN + SET @stopTime = DATEADD(DAY, -60, GETDATE()) + END + + -- Temporarily remove the ParentTransactionID -> TransactionID constraint + ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; + + BEGIN TRY + BEGIN TRANSACTION + + IF @debug = 1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting transactions for authentications'; + -- Deleting the transactions should cascade delete to other tables if any associated transactions exist + IF @UserName IS NULL -- Use default usernames + DELETE FROM tbl_Transactions WHERE TransactionID IN + (SELECT transactionID FROM tbl_Authentications WHERE (UserName = 'Administrator' OR UserName = 'root') AND Time_stamp BETWEEN @startTime AND @stopTime) + ELSE + DELETE FROM tbl_Transactions WHERE TransactionID IN + (SELECT transactionID FROM tbl_Authentications WHERE UserName = @UserName AND Time_stamp BETWEEN @startTime AND @stopTime) + + -- Should be zero transactions to purge here, since cascade delete above should have handled them + IF @debug = 1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting rows from tbl_Authentications with UserNames: ' + ISNULL(@UserName, 'Adminitrator, root'); + IF @UserName IS NULL -- Use default usernames + DELETE FROM tbl_Authentications WHERE (UserName = 'Administrator' OR UserName = 'root') AND Time_stamp BETWEEN @startTime AND @stopTime + ELSE + DELETE FROM tbl_Authentications WHERE UserName = @UserName AND Time_stamp BETWEEN @startTime AND @stopTime + + COMMIT TRANSACTION + END TRY + + BEGIN CATCH + -- If error, roll back + IF @@TRANCOUNT > 0 + ROLLBACK + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Re-establish the ParentTransactionID -> TransactionID constraint + -- Make sure no orphans remaining + DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back without cascade delete enabled + ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID + FOREIGN KEY (ParentTransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE NO ACTION; +GO + + +EXEC sp_PurgeEFT_Authentications NULL, NULL, NULL, 1 +-- EXEC sp_PurgeEFT_Authentications '2018-01-01', '2018-12-31', NULL, 1 + + +PRINT '' +PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Script completed' \ No newline at end of file diff --git a/sql/Helper scripts/PurgeEFT_ProtocolCommands(IsInternal is True).sql b/sql/Helper scripts/PurgeEFT_ProtocolCommands(IsInternal is True).sql new file mode 100644 index 0000000..c00fce3 --- /dev/null +++ b/sql/Helper scripts/PurgeEFT_ProtocolCommands(IsInternal is True).sql @@ -0,0 +1,93 @@ +-- EFT Purging Script - tbl_ProtocolCommands +-- Goal: Special script to purge internal transaction data from tbl_ProtocolCommands + +-- USAGE + +-- 1. Configure (bottom of script) then run. +-- to purge all ProtocolCommands with IsInternal = 1: +-- EXEC sp_PurgeEFT_ProtocolCommands NULL, NULL +-- to purge date range ProtocolCommands with IsInternal = 1 - e.g.: +-- EXEC sp_PurgeEFT_ProtocolCommands '2019-01-01', '2019-05-18' +-- +-- leaving begin date as NULL will default to earliest date +-- leaving end date as NULL will default to current date + + +-- Change Log: +-- 0.1: Original version + +-- USE EFTDB + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFT_ProtocolCommandsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFT_ProtocolCommandsVersion +GO + +CREATE PROCEDURE sp_PurgeEFT_ProtocolCommandsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Protocol Commands Script Version 0.1' +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFT_ProtocolCommands') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFT_ProtocolCommands +END +GO + +-- By default, with no parameters, this procedure will purge all Protocol connections +CREATE PROCEDURE sp_PurgeEFT_ProtocolCommands +@startTime datetime = NULL, +@stopTime datetime = NULL, +@debug bit = 0 +AS +BEGIN + DECLARE @ErrMsg nvarchar(4000); + DECLARE @ErrSeverity int; + + EXEC dbo.sp_PurgeEFT_ProtocolCommandsVersion + + SET NOCOUNT ON + + IF @startTime IS NULL + BEGIN + SET @startTime = '1970-01-01 00:00:00' + END + + IF @stopTime IS NULL + BEGIN + SET @stopTime = DATEADD(DAY, 1, GETDATE()) + END + ELSE + BEGIN + SET @stopTime = DATEADD(DAY, 1, @stopTime) -- Add 1 to selected date to get all records before that + END + + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_ProtocolCommands'; + + BEGIN TRY + DELETE FROM tbl_ProtocolCommands WHERE IsInternal=1 AND Time_stamp >= @startTime AND Time_stamp < @stopTime + END TRY + BEGIN CATCH + -- There was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log to its original creation size + + IF @debug=1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Done deleting from tbl_ProtocolCommands'; + + PRINT 'Procedure Complete' +END +GO + +-- Default to purge entire table +-- SET STATISTICS TIME OFF +-- EXEC sp_PurgeEFT_ProtocolCommands NULL, NULL, 1 +EXEC sp_PurgeEFT_ProtocolCommands '2018-01-01', '2018-12-31', 1 +-- SET STATISTICS TIME OFF + + + diff --git a/sql/Helper scripts/PurgeEFT_ProtocolCommands(Unimportant Verbs).sql b/sql/Helper scripts/PurgeEFT_ProtocolCommands(Unimportant Verbs).sql new file mode 100644 index 0000000..8b6c613 --- /dev/null +++ b/sql/Helper scripts/PurgeEFT_ProtocolCommands(Unimportant Verbs).sql @@ -0,0 +1,95 @@ +-- EFT Purging Script - tbl_ProtocolCommands +-- Goal: Special script to purge data from tbl_ProtocolCommands with unimportant verbs + +-- USAGE + +-- 1. Run this script, then +-- to purge all ProtocolCommands which are not relevant to main operations (upload, download, rename, delete, mkd) +-- EXEC sp_PurgeEFT_ProtocolCommands NULL, NULL +-- to purge date range: +-- EXEC sp_PurgeEFT_ProtocolCommands '2019-01-01', '2019-05-18' +-- +-- leaving begin date as NULL will default to earliest date +-- leaving end date as NULL will default to current date + +-- Change Log: +-- 0.1: Original version +-- 0.2: Changed to remove based on certain commands. the is internal flag wasn't a sufficient qualifier. + +-- USE EFTDB + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFT_ProtocolCommands2Version') IS NOT NULL + DROP PROC dbo.sp_PurgeEFT_ProtocolCommands2Version +GO + +CREATE PROCEDURE sp_PurgeEFT_ProtocolCommands2Version +AS + PRINT 'GlobalSCAPE, Inc. Purge Protocol Commands Script 2 Version 0.2' +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFT_ProtocolCommands2') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFT_ProtocolCommands2 +END +GO + +-- By default, with no parameters, this procedure will purge all Protocol connections +CREATE PROCEDURE sp_PurgeEFT_ProtocolCommands2 +@startTime datetime = NULL, +@stopTime datetime = NULL, +@debug bit = 0 +AS +BEGIN + DECLARE @ErrMsg nvarchar(4000); + DECLARE @ErrSeverity int; + + EXEC dbo.sp_PurgeEFT_ProtocolCommands2Version + + SET NOCOUNT ON + + IF @startTime IS NULL + BEGIN + SET @startTime = '1970-01-01 00:00:00' + END + + IF @stopTime IS NULL + BEGIN + SET @stopTime = DATEADD(DAY, 1, GETDATE()) + END + ELSE + BEGIN + SET @stopTime = DATEADD(DAY, 1, @stopTime) -- Add 1 to selected date to get all records before that + END + + IF @debug=1 PRINT CONVERT(varchar(30), CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_ProtocolCommands'; + + BEGIN TRY + DELETE FROM tbl_ProtocolCommands + WHERE Time_stamp >= @startTime AND Time_stamp < @stopTime AND + Command NOT IN ('sent', 'created', 'mkd', 'rmd', 'dele', 'rnfr', 'rnto', 'DELETE', 'retr', 'POST', 'patch', 'copy') + END TRY + BEGIN CATCH + -- There was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log to its original creation size + + IF @debug=1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Done deleting from tbl_ProtocolCommands'; + + PRINT 'Procedure Complete' +END +GO + + +SET STATISTICS TIME OFF +/* EXEC sp_PurgeEFT_ProtocolCommands2 NULL, NULL -- Default to purge entire table */ +EXEC sp_PurgeEFT_ProtocolCommands2 '2018-01-01', '2018-12-31', 1 + + + + diff --git a/sql/Helper scripts/PurgeEFT_SocketConnections.sql b/sql/Helper scripts/PurgeEFT_SocketConnections.sql new file mode 100644 index 0000000..07ff261 --- /dev/null +++ b/sql/Helper scripts/PurgeEFT_SocketConnections.sql @@ -0,0 +1,119 @@ +-- EFT Purging Script - tbl_SocketConnections +-- Goal: Special script to purge data from tbl_SocketConnections by date + +-- USAGE + +-- 1. Configure the purge (bottom of script) +-- To perform a complete purge, just run the command at the bottom of the script: EXEC sp_PurgeEFT_SocketConnections NULL, NULL, NULL +-- If you want to purge a specific date range, then specify a start and end date: EXEC sp_PurgeEFT_SocketConnections '2019-01-01', '2019-05-18', NULL +-- If you want to purge a specific error code, for example error code 0: EXEC sp_PurgeEFT_SocketConnections '2019-01-01', '2019-05-18', 0 +-- Note: Leaving begin date as NULL will default to earliest date. +-- Leaving end date as NULL will default to current date. +-- Leaving errorCode as NULL will purge all error codes. + +-- Change Log: +-- 0.1: Original version +-- 0.2: Updated comments + +-- USE EFTDB + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFT_SocketConnectionsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFT_SocketConnectionsVersion +GO + +CREATE PROCEDURE sp_PurgeEFT_SocketConnectionsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Script Version 0.2' +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFT_SocketConnections') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFT_SocketConnections +END +GO + +-- By default, with no parameters, this procedure will purge all socket connections +CREATE PROCEDURE sp_PurgeEFT_SocketConnections +@startTime datetime = NULL, +@stopTime datetime = NULL, +@errorCode int = NULL, +@debug bit = 0 +AS +BEGIN + DECLARE @ErrMsg nvarchar(4000); + DECLARE @ErrSeverity int; + + EXEC dbo.sp_PurgeEFT_SocketConnectionsVersion + + SET NOCOUNT ON + + IF @startTime IS NULL AND @stopTime IS NULL AND @errorCode IS NULL + BEGIN + --This will remove everything, regardless of ResultID code + TRUNCATE TABLE tbl_SocketConnections + END + ELSE + BEGIN + IF @startTime IS NULL + BEGIN + SET @startTime = '1970-01-01 00:00:00' + END + + IF @stopTime IS NULL + BEGIN + SET @stopTime = DATEADD(DAY, 1, GETDATE()) + END + ELSE + BEGIN + SET @stopTime = DATEADD(DAY, 1, @stopTime) + END + + IF @debug=1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Deleting from tbl_SocketConnections'; + + BEGIN TRY + IF @errorCode IS NULL + BEGIN + DELETE FROM tbl_SocketConnections WHERE Time_stamp >= @startTime AND Time_stamp < @stopTime + END + ELSE + BEGIN + DELETE FROM tbl_SocketConnections WHERE Time_stamp >= @startTime AND Time_stamp < @stopTime AND ResultID = @errorCode + END + END TRY + BEGIN CATCH + -- There was an error + IF @@TRANCOUNT > 0 ROLLBACK + -- Raise an error with the details of the exception + SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + DBCC SHRINKFILE (2) WITH NO_INFOMSGS; -- Truncate the log to its original creation size + + IF @debug=1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP, 8) + ' Done deleting from tbl_SocketConnections'; + END + PRINT 'Procedure Complete' +END +GO + +-- sp_PurgeEFT_SocketConnections parameters +-- +-- startTime: set the time to purge from. If set to NULL it will default to January 1970. +-- stopTime : set the time to purge to. If set to NULL it will default to todays date. +-- errorCode: set the resultID to purge. If set to NULL it will purge all resultIDs. +-- The errorCodes are as follows: +-- - TOO_MANY_CONNECTIONS_PER_SITE = 8 +-- - TOO_MANY_CONNECTIONS_PER_IP = 9 +-- - RESTRICTED_IP = 10 +-- - BANNED_IP = 11 +-- - EFT_IN_DEV_MODE = 12 +-- - INTERNAL_SERVER_ERROR = 13 +-- - OK = 0 + +-- Default to purge entire table + +-- SET STATISTICS TIME OFF + EXEC sp_PurgeEFT_SocketConnections NULL, NULL, NULL, 1 +-- EXEC sp_PurgeEFT_SocketConnections '2018-01-01', '2018-12-31', NULL, 1 +-- SET STATISTICS TIME OFF diff --git a/sql/Helper scripts/Utility_Check_For_Unused_Indexes.sql b/sql/Helper scripts/Utility_Check_For_Unused_Indexes.sql new file mode 100644 index 0000000..63fb433 --- /dev/null +++ b/sql/Helper scripts/Utility_Check_For_Unused_Indexes.sql @@ -0,0 +1,34 @@ +/* + +WHAT: +Detects superfluous indexes + +WHY: +These can hurt performance, since the DB must update them during Inserts, Updates and Deletes. And if they’re never used, then that’s a waste of resources. + +WHEN: +Created in April of 2019 + +WHO: +Created by Globalscape, Inc. + +HOW: +It’s best run on one of the larger, well-used databases, since it then has more info to work with. Otherwise stats won't be available to determine whether indexes are unused or not. Indexes that are identified as seldom used should be deleted by your db admin. + +*/ + +SELECT TOP 10 o.name AS TableName, i.name AS IndexName, u.user_seeks As Seeks, u.user_scans As Scans, u.user_lookups As Lookups, + u.user_updates As UserUpdates, u.last_user_seek As LastUserSeek, u.last_user_scan As LastUserScan, + (SELECT SUM(s.[used_page_count]) * 8 FROM sys.dm_db_partition_stats s WHERE s.[object_id] = i.[object_id] AND s.[index_id] = i.[index_id]) As IndexSizeKB, + 'Drop index ' + i.name + ' on ' + o.name as DropIndexStatement +FROM sys.indexes i +JOIN sys.objects o ON i.object_id = o.object_id +LEFT JOIN sys.dm_db_index_usage_stats u ON i.object_id = u.object_id + AND i.index_id = u.index_id + AND u.database_id = DB_ID() +WHERE o.type <> 'S' +and isnull(u.user_updates,0) > 0 +and i.type_desc <> 'HEAP' +and i.type_desc <> 'CLUSTERED' +and u.user_seeks < 5 and u.user_scans < 5 and u.user_lookups < 5 +ORDER BY IndexSizeKB DESC, UserUpdates DESC \ No newline at end of file diff --git a/sql/Helper scripts/Utility_Row_Counts.sql b/sql/Helper scripts/Utility_Row_Counts.sql new file mode 100644 index 0000000..6d619f7 --- /dev/null +++ b/sql/Helper scripts/Utility_Row_Counts.sql @@ -0,0 +1,98 @@ +/* + +WHAT: +Records the number of rows in each table + +WHY: +Can be useful to count rows before and after a purge. + +WHEN: +Created in April of 2019 + +WHO: +Created by Globalscape, Inc. + +HOW: +Row count can take several minutes depending on the size of the database + +*/ + + +declare @count int +select @count = count(*) from tbl_Actions +print 'tbl_Actions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_AdminActions +print 'tbl_AdminActions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_AS2Actions +print 'tbl_AS2Actions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_AS2Transactions +print 'tbl_AS2Transactions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_Authentications +print 'tbl_Authentications count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_AuthenticationsExpired +print 'tbl_AuthenticationsExpired count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_AWESteps +print 'tbl_AWESteps count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_ClientOperations +print 'tbl_ClientOperations count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_CustomCommands +print 'tbl_CustomCommands count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_EventRules +print 'tbl_EventRules count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_EventRuleTransfers +print 'tbl_EventRuleTransfers count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_Groups +print 'tbl_Groups count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_NegotiatedCiphersSSH +print 'tbl_NegotiatedCiphersSSH count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_NegotiatedCiphersSSL +print 'tbl_NegotiatedCiphersSSL count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_OutlookReport +print 'tbl_OutlookReport count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_PCIViolations +print 'tbl_PCIViolations count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_PersonalDataActions +print 'tbl_PersonalDataActions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_PrivacyTermsEUStatus +print 'tbl_PrivacyTermsEUStatus count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_ProtocolCommands +print 'tbl_ProtocolCommands count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_PrivacyRightExercised +print 'tbl_PrivacyRightExercised count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_ScanDataActions +print 'tbl_ScanDataActions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_ServerInternalEvents +print 'tbl_ServerInternalEvents count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_SocketConnections +print 'tbl_SocketConnections count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_Transactions +print 'tbl_Transactions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_WorkspaceActions +print 'tbl_WorkspaceActions count = ' +CAST(@count AS NVARCHAR) + +select @count = count(*) from tbl_WorkspaceParticipants +print 'tbl_WorkspaceParticipants count = ' +CAST(@count AS NVARCHAR) \ No newline at end of file diff --git a/sql/Helper scripts/index_foreign_keys_and_time_stamps.sql b/sql/Helper scripts/index_foreign_keys_and_time_stamps.sql new file mode 100644 index 0000000..906361e --- /dev/null +++ b/sql/Helper scripts/index_foreign_keys_and_time_stamps.sql @@ -0,0 +1,75 @@ + +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Actions_TransactionID' AND object_id = OBJECT_ID('tbl_Actions')) + CREATE NONCLUSTERED INDEX [IX_tbl_Actions_TransactionID] ON [tbl_Actions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AdminActions_TransactionID' AND object_id = OBJECT_ID('tbl_AdminActions')) + CREATE NONCLUSTERED INDEX [IX_tbl_AdminActions_TransactionID] ON [tbl_AdminActions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AS2Actions_TransactionID' AND object_id = OBJECT_ID('tbl_AS2Actions')) + CREATE NONCLUSTERED INDEX [IX_tbl_AS2Actions_TransactionID] ON [tbl_AS2Actions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_CustomCommands_TransactionID' AND object_id = OBJECT_ID('tbl_CustomCommands')) + CREATE NONCLUSTERED INDEX [IX_tbl_CustomCommands_TransactionID] ON [tbl_CustomCommands] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Groups_AuthenticationID' AND object_id = OBJECT_ID('tbl_Groups')) + CREATE NONCLUSTERED INDEX [IX_tbl_Groups_AuthenticationID] ON [tbl_Groups] ([AuthenticationID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_TransactionID' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + CREATE NONCLUSTERED INDEX [IX_tbl_ProtocolCommands_TransactionID] ON [tbl_ProtocolCommands] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Emails_txid' AND object_id = OBJECT_ID('tbl_SAT_Emails')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Emails_txid] ON [tbl_SAT_Emails] ([txid] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Files_txid' AND object_id = OBJECT_ID('tbl_SAT_Files')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Files_txid] ON [tbl_SAT_Files] ([txid] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_TransactionID' AND object_id = OBJECT_ID('tbl_SocketConnections')) + CREATE NONCLUSTERED INDEX [IX_tbl_SocketConnections_TransactionID] ON [tbl_SocketConnections] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Transactions_ParentTransactionID' AND object_id = OBJECT_ID('tbl_Transactions')) + CREATE NONCLUSTERED INDEX [IX_tbl_Transactions_ParentTransactionID] ON [tbl_Transactions] ([ParentTransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_TransactionID' AND object_id = OBJECT_ID('tbl_WorkspaceActions')) + CREATE NONCLUSTERED INDEX [IX_tbl_WorkspaceActions_TransactionID] ON [tbl_WorkspaceActions] ([TransactionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_TransactionID' AND object_id = OBJECT_ID('tbl_WorkspaceParticipants')) + CREATE NONCLUSTERED INDEX [IX_tbl_WorkspaceActions_TransactionID] ON [tbl_WorkspaceParticipants] ([WorkspaceActionID] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- Add indexes on time_stamps + +-- tbl_SAT_Transactions +IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SAT_Transactions_Time_Stamp' AND object_id = OBJECT_ID('tbl_SAT_Transactions')) + CREATE NONCLUSTERED INDEX [IX_tbl_SAT_Transactions_Time_Stamp] ON [tbl_SAT_Transactions] ([time_stamp] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_ProtocolCommands (index existed, but adding INCLUDE TransactionID) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Time_stamp' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX [IX_tbl_ProtocolCommands_Time_stamp] ON [tbl_ProtocolCommands] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_ProtocolCommands_Time_stamp] ON [tbl_ProtocolCommands] ([time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_SocketConnections (index existed, but adding INCLUDE TransactionID) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_Time_stamp' AND object_id = OBJECT_ID('tbl_SocketConnections')) + DROP INDEX [IX_tbl_SocketConnections_Time_stamp] ON [tbl_SocketConnections] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_SocketConnections_Time_stamp] ON [tbl_SocketConnections] ([Time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_Authentications (index existed, but adding Time_stamp) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_User_Name' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX [IX_tbl_Authentications_User_Name] ON [tbl_Authentications] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_Authentications_User_Name] ON [tbl_Authentications] ([UserName],[Time_stamp]) INCLUDE ([TransactionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO + +-- tbl_ScanDataActions +/* +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ScanDataActions_Time_Stamp' AND object_id = OBJECT_ID('tbl_ScanDataActions')) + DROP INDEX [IX_tbl_ScanDataActions_Time_Stamp] ON [tbl_ScanDataActions] +GO + CREATE NONCLUSTERED INDEX [IX_tbl_ScanDataActions_Time_Stamp] ON [tbl_ScanDataActions] ([Time_stamp]) INCLUDE ([ActionID]) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] +GO +*/ + diff --git a/sql/Helper scripts/repair_foreign_keys.sql b/sql/Helper scripts/repair_foreign_keys.sql new file mode 100644 index 0000000..d2eb2a0 --- /dev/null +++ b/sql/Helper scripts/repair_foreign_keys.sql @@ -0,0 +1,295 @@ +-- repair_foreign_keys.sql +-- Delete orphan records for any cascade delete foreign key constraints +-- 1. Test to see if any orphan records in sub-tables +-- 2. If orphan records exist +-- a. Drop the constraint between the table and parent table +-- b. Delete the orphan records +-- c. Recreate the constraint with the cascade delete + +-- **************************** +-- tbl_Transactions constraints +-- **************************** + +-- tbl_AdminActions +-- IF EXISTS (SELECT * FROM tbl_AdminActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_AdminActions_TransID') AND parent_object_id = OBJECT_ID(N'tbl_AdminActions')) + ALTER TABLE tbl_AdminActions DROP CONSTRAINT FK_tbl_AdminActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_AdminActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_AdminActions ADD CONSTRAINT FK_tbl_AdminActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Authentications WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Auth_TransID') AND parent_object_id = OBJECT_ID(N'tbl_Authentications')) + ALTER TABLE tbl_Authentications DROP CONSTRAINT FK_tbl_Auth_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_Authentications WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Authentications ADD CONSTRAINT FK_tbl_Auth_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_ClientOperations +-- IF EXISTS (SELECT * FROM tbl_ClientOperations WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ClientOperations_TransID') AND parent_object_id = OBJECT_ID(N'tbl_ClientOperations')) + ALTER TABLE tbl_ClientOperations DROP CONSTRAINT FK_tbl_ClientOperations_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ClientOperations WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ClientOperations ADD CONSTRAINT FK_tbl_ClientOperations_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_CustomCommands +-- IF EXISTS (SELECT * FROM tbl_CustomCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_CustomCommands_TransID') AND parent_object_id = OBJECT_ID(N'tbl_CustomCommands')) + ALTER TABLE tbl_CustomCommands DROP CONSTRAINT FK_tbl_CustomCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_CustomCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_CustomCommands ADD CONSTRAINT FK_tbl_CustomCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_EventRules WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_EventRules_TransID') AND parent_object_id = OBJECT_ID(N'tbl_EventRules')) + ALTER TABLE tbl_EventRules DROP CONSTRAINT FK_tbl_EventRules_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRules WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRules ADD CONSTRAINT FK_tbl_EventRules_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_EventRuleTransfers +/* +-- IF EXISTS (SELECT * FROM tbl_EventRuleTransfers WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_EventRuleTransfers_TransactionID') AND parent_object_id = OBJECT_ID(N'tbl_EventRuleTransfers')) + ALTER TABLE tbl_EventRuleTransfers DROP CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID; + -- Make sure no orphans remaining + DELETE FROM tbl_EventRuleTransfers WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_EventRuleTransfers ADD CONSTRAINT FK_tbl_EventRuleTransfers_TransactionID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- tbl_ProtocolCommands +-- IF EXISTS (SELECT * FROM tbl_ProtocolCommands WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ProtocolCommands_TransID') AND parent_object_id = OBJECT_ID(N'tbl_ProtocolCommands')) + ALTER TABLE tbl_ProtocolCommands DROP CONSTRAINT FK_tbl_ProtocolCommands_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_ProtocolCommands WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ProtocolCommands ADD CONSTRAINT FK_tbl_ProtocolCommands_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_SocketConnections +-- IF EXISTS (SELECT * FROM tbl_SocketConnections WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SocketConnections_TransID') AND parent_object_id = OBJECT_ID(N'tbl_SocketConnections')) + ALTER TABLE tbl_SocketConnections DROP CONSTRAINT FK_tbl_SocketConnections_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_SocketConnections WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SocketConnections ADD CONSTRAINT FK_tbl_SocketConnections_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceActions +/* +-- IF EXISTS (SELECT * FROM tbl_WorkspaceActions WHERE transactionID NOT IN (SELECT transactionID FROM tbl_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_WorkspaceActions_TransID') AND parent_object_id = OBJECT_ID(N'tbl_WorkspaceActions')) + ALTER TABLE tbl_WorkspaceActions DROP CONSTRAINT FK_tbl_WorkspaceActions_TransID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceActions WHERE transactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceActions ADD CONSTRAINT FK_tbl_WorkspaceActions_TransID + FOREIGN KEY (TransactionID) + REFERENCES tbl_Transactions (TransactionID) + ON DELETE CASCADE; +END +*/ +-- ***************** +-- Other constraints +-- ***************** + +-- tbl_ScanDataActions -> tbl_Actions +/* +IF EXISTS (SELECT * FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_ScanDataActions_ActionID') AND parent_object_id = OBJECT_ID(N'tbl_ScanDataActions')) + ALTER TABLE tbl_ScanDataActions DROP CONSTRAINT FK_tbl_ScanDataActions_ActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_ScanDataActions WHERE ActionID NOT IN + (SELECT ActionID FROM tbl_Actions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_ScanDataActions ADD CONSTRAINT FK_tbl_ScanDataActions_ActionID + FOREIGN KEY (ActionID) + REFERENCES tbl_Actions (ActionID) + ON DELETE CASCADE; +END +*/ +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Groups_AuthID') AND parent_object_id = OBJECT_ID(N'tbl_Groups')) + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_Actions -> tbl_EventRules +-- IF EXISTS (SELECT * FROM tbl_Actions WHERE EventID NOT IN (SELECT EventID FROM tbl_EventRules)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Actions_EventId') AND parent_object_id = OBJECT_ID(N'tbl_Actions')) + ALTER TABLE tbl_Actions DROP CONSTRAINT FK_tbl_Actions_EventId; + -- Make sure no orphans remaining + DELETE FROM tbl_Actions WHERE EventID NOT IN + (SELECT EventID FROM tbl_EventRules); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Actions ADD CONSTRAINT FK_tbl_Actions_EventId + FOREIGN KEY (EventID) + REFERENCES tbl_EventRules (EventID) + ON DELETE CASCADE; +END +-- tbl_Groups -> tbl_Authentications +-- IF EXISTS (SELECT * FROM tbl_Groups WHERE AuthenticationID NOT IN (SELECT AuthenticationID FROM tbl_Authentications)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Groups_AuthID') AND parent_object_id = OBJECT_ID(N'tbl_Groups')) + ALTER TABLE tbl_Groups DROP CONSTRAINT FK_tbl_Groups_AuthID; + -- Make sure no orphans remaining + DELETE FROM tbl_Groups WHERE AuthenticationID NOT IN + (SELECT AuthenticationID FROM tbl_Authentications); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_Groups ADD CONSTRAINT FK_tbl_Groups_AuthID + FOREIGN KEY (AuthenticationID) + REFERENCES tbl_Authentications (AuthenticationID) + ON DELETE CASCADE; +END +-- tbl_SAT_Emails -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Emails WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SAT_Emails_TxID') AND parent_object_id = OBJECT_ID(N'tbl_SAT_Emails')) + ALTER TABLE tbl_SAT_Emails DROP CONSTRAINT FK_tbl_SAT_Emails_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Emails WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Emails ADD CONSTRAINT FK_tbl_SAT_Emails_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_SAT_Files -> tbl_SAT_Transactions +-- IF EXISTS (SELECT * FROM tbl_SAT_Files WHERE txid NOT IN (SELECT ID FROM tbl_SAT_Transactions)) +BEGIN + -- Drop constraint + IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_SAT_Files_TxID') AND parent_object_id = OBJECT_ID(N'tbl_SAT_Files')) + ALTER TABLE tbl_SAT_Files DROP CONSTRAINT FK_tbl_SAT_Files_TxID; + -- Make sure no orphans remaining + DELETE FROM tbl_SAT_Files WHERE txid NOT IN + (SELECT ID FROM tbl_SAT_Transactions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_SAT_Files ADD CONSTRAINT FK_tbl_SAT_Files_TxID + FOREIGN KEY (txid) + REFERENCES tbl_SAT_Transactions (ID) + ON DELETE CASCADE; +END +-- tbl_WorkspaceParticipants -> tbl_WorkspaceActions +-- IF EXISTS (SELECT * FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN (SELECT ID FROM tbl_WorkspaceActions)) +/* +BEGIN + -- Drop constraint +IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_WorkspaceParticipants_WorkspaceActionID') AND parent_object_id = OBJECT_ID(N'tbl_WorkspaceParticipants')) + ALTER TABLE tbl_WorkspaceParticipants DROP CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID; + -- Make sure no orphans remaining + DELETE FROM tbl_WorkspaceParticipants WHERE WorkspaceActionID NOT IN + (SELECT ID FROM tbl_WorkspaceActions); + -- Now, add it back with cascade delete enabled + ALTER TABLE tbl_WorkspaceParticipants ADD CONSTRAINT FK_tbl_WorkspaceParticipants_WorkspaceActionID + FOREIGN KEY (WorkspaceActionID) + REFERENCES tbl_WorkspaceActions (ID) + ON DELETE CASCADE; +END +*/ + +-- Re-create FK constraint between ParentTransactionID and TransactionID +-- Drop constraint +IF EXISTS (SELECT * FROM sys.foreign_keys + WHERE object_id = OBJECT_ID(N'FK_tbl_Transactions_ParentTransID') AND parent_object_id = OBJECT_ID(N'tbl_Transactions')) + ALTER TABLE tbl_Transactions DROP CONSTRAINT FK_tbl_Transactions_ParentTransID; +-- Make sure no orphans remaining +DELETE FROM tbl_Transactions WHERE ParentTransactionID IS NOT NULL AND ParentTransactionID NOT IN + (SELECT transactionID FROM tbl_Transactions); +-- Now, add it back without cascade delete enabled +ALTER TABLE tbl_Transactions ADD CONSTRAINT FK_tbl_Transactions_ParentTransID +FOREIGN KEY (ParentTransactionID) +REFERENCES tbl_Transactions (TransactionID) +ON DELETE NO ACTION; diff --git a/sql/Helper scripts/report_indexes.sql b/sql/Helper scripts/report_indexes.sql new file mode 100644 index 0000000..8f1765e --- /dev/null +++ b/sql/Helper scripts/report_indexes.sql @@ -0,0 +1,156 @@ +-- For reports Activity-AS2 Transfers (Detailed) and Activity-AS2 Transfers (Summary) +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AS2Transactions_StartTime' AND object_id = OBJECT_ID('tbl_AS2Transactions')) + DROP INDEX IX_tbl_AS2Transactions_StartTime ON tbl_AS2Transactions +GO +CREATE INDEX IX_tbl_AS2Transactions_StartTime ON tbl_AS2Transactions (StartTime) +GO +UPDATE STATISTICS tbl_AS2Transactions; +GO + +-- For reports Activity-by Permissions Group, Activity-by Users (Detailed), +-- Activity-by Users (Summary), Exec Summary, Traffic-Average Transfer Rates by User, +-- WebServiceInvokeEventRules-Activity(Detailed) +-- Remove IX_tbl_ProtocolCommands_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Time_stamp' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_Time_stamp ON tbl_ProtocolCommands +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Time_stamp_Command_FileName' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_Time_stamp_Command_FileName ON tbl_ProtocolCommands +GO +CREATE INDEX IX_tbl_ProtocolCommands_Time_stamp_Command_FileName ON tbl_ProtocolCommands (Time_stamp, Command, FileName) +GO +UPDATE STATISTICS tbl_ProtocolCommands; +GO + +-- For reports Traffic - Connections Summary, Traffic-Datewise-hourly Bytes Transferred, +-- Traffic-Datewise-IPwiseBytesTransferred, Traffic-Monthwise-IPWise Bytes Transferred, +-- Traffic-Protocolwise Connections +-- Remove IX_tbl_ProtocolCommands_Site_Name since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Site_Name' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_Site_Name ON tbl_ProtocolCommands +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_Site_Name_Time_stamp' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_Site_Name_Time_stamp ON tbl_ProtocolCommands +GO +CREATE INDEX IX_tbl_ProtocolCommands_Site_Name_Time_stamp ON tbl_ProtocolCommands (SiteName, Time_stamp) +GO +UPDATE STATISTICS tbl_ProtocolCommands; +GO + +-- For reports Traffic-Most Active IP Connections, Traffic-Most Active IP - Data Transferred +-- Remove IX_tbl_ProtocolCommands_TransactionID since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_TransactionID' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_TransactionID ON tbl_ProtocolCommands +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_ProtocolCommands_TransactionID_Time_Stamp_ResultID' AND object_id = OBJECT_ID('tbl_ProtocolCommands')) + DROP INDEX IX_tbl_ProtocolCommands_TransactionID_Time_Stamp_ResultID ON tbl_ProtocolCommands +GO +CREATE INDEX IX_tbl_ProtocolCommands_TransactionID_Time_Stamp_ResultID ON tbl_ProtocolCommands (TransactionID, Time_stamp, ResultID) +GO +UPDATE STATISTICS tbl_ProtocolCommands; +GO + +-- For Admin-Audit Log +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_AdminActions_Time_stamp' AND object_id = OBJECT_ID('tbl_AdminActions')) + DROP INDEX IX_tbl_AdminActions_Time_stamp ON tbl_AdminActions +GO +CREATE INDEX IX_tbl_AdminActions_Time_stamp ON tbl_AdminActions (Timestamp) +GO +UPDATE STATISTICS tbl_AdminActions; +GO + +-- For Admin-Authentications +-- Remove IX_tbl_Authentications_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_Time_stamp' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX IX_tbl_Authentications_Time_stamp ON tbl_Authentications +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_Time_stamp_Protocol' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX IX_tbl_Authentications_Time_stamp_Protocol ON tbl_Authentications +GO +CREATE INDEX IX_tbl_Authentications_Time_stamp_Protocol ON tbl_Authentications (Time_stamp, Protocol) +GO +UPDATE STATISTICS tbl_Authentications; +GO + +-- For Troubleshooting-Failed Logins +-- Remove IX_tbl_Authentications_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_Time_stamp' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX IX_tbl_Authentications_Time_stamp ON tbl_Authentications +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Authentications_Time_stamp_SiteName_ResultID' AND object_id = OBJECT_ID('tbl_Authentications')) + DROP INDEX IX_tbl_Authentications_Time_stamp_SiteName_ResultID ON tbl_Authentications +GO +CREATE INDEX IX_tbl_Authentications_Time_stamp_SiteName_ResultID ON tbl_Authentications (Time_stamp, SiteName, ResultID) +GO +UPDATE STATISTICS tbl_Authentications; +GO + +-- Content Integrity Control +-- [Nothing] + +-- Reports: Event Rules (all), Troubleshooting-Event Rules Failuer +-- Remove IX_tbl_Actions_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Actions_Time_stamp' AND object_id = OBJECT_ID('tbl_Actions')) + DROP INDEX IX_tbl_Actions_Time_stamp ON tbl_Actions +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_Actions_Time_stamp_EventID_TransactionID' AND object_id = OBJECT_ID('tbl_Actions')) + DROP INDEX IX_tbl_Actions_Time_stamp_EventID_TransactionID ON tbl_Actions +GO +CREATE INDEX IX_tbl_Actions_Time_stamp_EventID_TransactionID ON tbl_Actions (Time_stamp, EventID, TransactionID) +GO +UPDATE STATISTICS tbl_Actions; +GO + +-- Event Rules - Just Transfers +-- Remove IX_tbl_EventRules_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_EventRules_Time_stamp' AND object_id = OBJECT_ID('tbl_EventRules')) + DROP INDEX IX_tbl_EventRules_Time_stamp ON tbl_EventRules +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_EventRules_Time_stamp_TransactionID' AND object_id = OBJECT_ID('tbl_EventRules')) + DROP INDEX IX_tbl_EventRules_Time_stamp_TransactionID ON tbl_EventRules +GO +CREATE INDEX IX_tbl_EventRules_Time_stamp_TransactionID ON tbl_EventRules (Time_stamp, TransactionID) +GO +UPDATE STATISTICS tbl_EventRules; +GO + +-- For Troubleshooting-Socket Connection Errors +-- Remove IX_tbl_SocketConnections_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_Time_stamp' AND object_id = OBJECT_ID('tbl_SocketConnections')) + DROP INDEX IX_tbl_SocketConnections_Time_stamp ON tbl_SocketConnections +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_SocketConnections_Time_stamp_ResultID' AND object_id = OBJECT_ID('tbl_SocketConnections')) + DROP INDEX IX_tbl_SocketConnections_Time_stamp_ResultID ON tbl_SocketConnections +GO +CREATE INDEX IX_tbl_SocketConnections_Time_stamp_ResultID ON tbl_SocketConnections (Time_stamp, ResultID) +GO +UPDATE STATISTICS tbl_SocketConnections; +GO + +-- For Workspaces-Files Picked Up +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_OutlookReport_Type_TransactionDate' AND object_id = OBJECT_ID('tbl_OutlookReport')) + DROP INDEX IX_tbl_OutlookReport_Type_TransactionDate ON tbl_OutlookReport +GO +CREATE INDEX IX_tbl_OutlookReport_Type_TransactionDate ON tbl_OutlookReport (Type, TransactionDate) +GO +-- For Workspaces-Folders Shared, Unshared reports +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_OutlookReport_WorkspaceID' AND object_id = OBJECT_ID('tbl_OutlookReport')) + DROP INDEX IX_tbl_OutlookReport_WorkspaceID ON tbl_OutlookReport +GO +CREATE INDEX IX_tbl_OutlookReport_WorkspaceID ON tbl_OutlookReport (WorkspaceID) +GO +UPDATE STATISTICS tbl_OutlookReport; +GO + +-- For Workspaces-Folders Shared, Unshared reports +-- Remove IX_tbl_WorkspaceActions_Time_stamp since won't be necessary +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_Time_stamp' AND object_id = OBJECT_ID('tbl_WorkspaceActions')) + DROP INDEX IX_tbl_WorkspaceActions_Time_stamp ON tbl_WorkspaceActions +GO +IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_tbl_WorkspaceActions_Time_stamp_Action' AND object_id = OBJECT_ID('tbl_WorkspaceActions')) + DROP INDEX IX_tbl_WorkspaceActions_Time_stamp_Action ON tbl_WorkspaceActions +GO +CREATE INDEX IX_tbl_WorkspaceActions_Time_stamp_Action ON tbl_WorkspaceActions (Time_stamp, Action) +GO +UPDATE STATISTICS tbl_WorkspaceActions; +GO \ No newline at end of file diff --git a/sql/Purge Fact Tables.sql b/sql/Purge Fact Tables.sql new file mode 100644 index 0000000..ce14fcf --- /dev/null +++ b/sql/Purge Fact Tables.sql @@ -0,0 +1,67 @@ +/* +Script by: Jonathan Branan, 8-10-2020 + +Purpose: To trim uneeded data from fact tables in EFT's database. A simple function that allows a specification of 'daysSaved'. + +DISCLAIMER: Use at your own risk. Globalscape does not accept ANY responsiblity for any unexpected outcomes as a result of use of this script. + +Version 1.0 - Added before and after row counts, status updates and set default retention period to match EFT's Purge Script. +*/ + +DECLARE @count INT +DECLARE @daysSaved DATETIME2 +--Set the integer "60" to the amount of days you would like to retain in the fact tables. +SET @daysSaved = DATEADD(DAY, -60, GETDATE()) + + +PRINT 'Fact Table Purge Version 1.0' +PRINT '' +PRINT 'Row count of Fact Tables before the purge:' +PRINT '' + +--Initial Row Count +select @count = count(*) from [dbo].[tbl_Report_Exec_Summ] PRINT ' tbl_Report_Exec_Summ count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic1] PRINT ' tbl_Report_Traffic1 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic2] PRINT ' tbl_Report_Traffic2 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic3] PRINT ' tbl_Report_Traffic3 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic4] PRINT ' tbl_Report_Traffic4 count = ' +CAST(@count AS NVARCHAR) + +PRINT '' +PRINT 'Purging Fact Tables...' +PRINT '' + +--Purge Fact Tables +PRINT 'Purging from tbl_Report_Exec_Summ...' +DELETE FROM tbl_Report_Exec_Summ WHERE DayOfRecord < @daysSaved + +PRINT '' +PRINT 'Purging from tbl_Report_Traffic1...' +DELETE FROM tbl_Report_Traffic1 WHERE DayOfRecord < @daysSaved + +PRINT '' +PRINT 'Purging from tbl_Report_Traffic2...' +DELETE FROM tbl_Report_Traffic2 WHERE DayOfRecord < @daysSaved + +PRINT '' +PRINT 'Purging from tbl_Report_Traffic3...' +DELETE FROM tbl_Report_Traffic3 WHERE DayOfRecord < @daysSaved + +PRINT '' +PRINT 'Purging from tbl_Report_Traffic4...' +DELETE FROM tbl_Report_Traffic4 WHERE DayOfRecord < @daysSaved + +PRINT '' +PRINT 'Purging Complete' +PRINT '' +PRINT 'Row counts of Fact Tables after the purge:' +PRINT '' + +--Final Row Count +select @count = count(*) from [dbo].[tbl_Report_Exec_Summ] PRINT ' tbl_Report_Exec_Summ count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic1] PRINT ' tbl_Report_Traffic1 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic2] PRINT ' tbl_Report_Traffic2 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic3] PRINT ' tbl_Report_Traffic3 count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from [dbo].[tbl_Report_Traffic4] PRINT ' tbl_Report_Traffic4 count = ' +CAST(@count AS NVARCHAR) + +PRINT '' +PRINT 'Done' \ No newline at end of file diff --git a/sql/PurgeSQLEFTData.sql b/sql/PurgeSQLEFTData.sql new file mode 100644 index 0000000..253a986 --- /dev/null +++ b/sql/PurgeSQLEFTData.sql @@ -0,0 +1,749 @@ +-- EFT Purging Script +-- Goal: Allow customers to purge data from EFT +-- Change Log: +-- 0.1: Set batch size at 100,000 +-- Removed SELECT and extra PRINTT statements. +-- 0.2: Changed to purge up to 60 days per customer request +-- 0.3: Modified script to not assume cascading deletes and to +-- explicitly delete from all tables +-- Modified script to default 'purgesize' to 10,000 +-- instead of 1,000 +-- 0.4 Added AS2 and SAT purging +-- 0.5 Subset table wasn't being dropped. +PRINT 'Script started at: ' + CAST(CURRENT_TIMESTAMP AS NVARCHAR) +USE EFTDB + +-- This procedure will print the version of this script +IF OBJECT_ID('dbo.sp_PurgeEFTTransactionsVersion') IS NOT NULL + DROP PROC dbo.sp_PurgeEFTTransactionsVersion +GO + +CREATE PROCEDURE sp_PurgeEFTTransactionsVersion +AS + PRINT 'GlobalSCAPE, Inc. Purge Script Version 0.5' +GO + +-- This procedure delete EFT transactions from a given table. +IF OBJECT_ID('dbo.sp_RemoveTxnsFromTable') IS NOT NULL + DROP PROC dbo.sp_RemoveTxnsFromTable +GO + +CREATE PROCEDURE sp_RemoveTxnsFromTable @txns_id_table_name nvarchar(200), + @tblname nvarchar(200), + @debug bit = 0 +AS + DECLARE @sql nvarchar(4000), + @activeTableName nvarchar(220) + + BEGIN TRY + BEGIN TRANSACTION + SET @activeTableName = quotename(N'tbl_' + @tblname) + + IF @debug = 1 BEGIN + PRINT 'Deleting Transactions from Table: ' + @activeTableName + END + + -- Delete the data from the active table + SET @sql = + 'DELETE FROM ' + @activeTableName + ' ' + + 'WHERE TransactionID IN ' + + '(' + + 'SELECT TransactionID ' + + 'FROM ' + @txns_id_table_name + + ')' + + IF @debug = 1 PRINT @sql + EXEC sp_executesql @sql + + COMMIT TRANSACTION + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 + ROLLBACK + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH +GO + +-- This procedure delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_RemoveTxns') IS NOT NULL + DROP PROC dbo.sp_RemoveTxns +GO + +CREATE PROCEDURE sp_RemoveTxns @txns_id_table_name nvarchar(200), + @debug bit = 0 +AS + + -- We want to wrap these deletes in a transactions so that we don't end + -- up with orphaned rows. + BEGIN TRY + BEGIN TRANSACTION + + -- To verify that all children were truly deleted, also explicitly + -- delete from their tables. + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'AdminActions', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'ProtocolCommands', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'Actions', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'EventRules', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'ClientOperations', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'SocketConnections', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'Authentications', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'CustomCommands', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'OutlookReport', @debug + + -- Remove from the transactions table + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'Transactions', @debug + + COMMIT TRANSACTION + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 + ROLLBACK + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH +GO + + +-- This procedure will delete AS2 transactions. +IF OBJECT_ID('dbo.sp_RemoveAS2Txns') IS NOT NULL + DROP PROC dbo.sp_RemoveAS2Txns +GO + +CREATE PROCEDURE sp_RemoveAS2Txns @txns_id_table_name nvarchar(200), + @debug bit = 0 +AS + + -- We want to wrap these deletes in a transactions so that we don't end + -- up with orphaned rows. + BEGIN TRY + BEGIN TRANSACTION + + -- To verify that all children were truly deleted, also explicitly + -- delete from their tables. + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'AS2Actions', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'AS2Files', @debug + EXEC sp_RemoveTxnsFromTable @txns_id_table_name, N'AS2Transactions', @debug + + COMMIT TRANSACTION + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 + ROLLBACK + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH +GO + +-- This procedure will delete EFT transactions from a all tables. +IF OBJECT_ID('dbo.sp_PurgeEFTTransactions') IS NOT NULL BEGIN + DROP PROC dbo.sp_PurgeEFTTransactions +END +GO + +-- By default, this procedure will purge data from 1990 to 60 days ago. +CREATE PROCEDURE sp_PurgeEFTTransactions @startTime datetime = NULL, + @stopTime datetime = NULL, + @purgeSize numeric = NULL, + @debug bit = 0 +AS + + EXEC sp_PurgeEFTTransactionsVersion + + DECLARE @iteration numeric + SET @iteration = 0 + + DECLARE @deleteHappened numeric + SET @deleteHappened = 1 + + WHILE @deleteHappened = 1 + BEGIN + SET @deleteHappened = 0 + SET @iteration = @iteration + 1 + + PRINT '' + PRINT 'Script iteration: ' + CAST(@iteration as NVARCHAR) + + BEGIN TRY + SET NOCOUNT ON + + IF @startTime IS NULL BEGIN + set @startTime = '19700101 00:00:00' + END + + IF @stopTime IS NULL BEGIN + SET @stopTime = DATEADD(DAY, -60, GETDATE()) + END + + IF @purgeSize IS NULL BEGIN + set @purgeSize = 10000 + END + + PRINT 'Purging Transactions from ' + CAST(@startTime as NVARCHAR) + ' to ' + + CAST(@stopTime AS NVARCHAR) + ' in batches of ' + CAST(@purgeSize AS NVARCHAR) + + DECLARE @tbl_TablesToPurge TABLE + ( + [TableName] NVARCHAR(400) NOT NULL + ) + + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_AdminActions') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_ProtocolCommands') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_Actions') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_EventRules') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_ClientOperations') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_SocketConnections') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_Authentications') + INSERT @tbl_TablesToPurge ([TableName]) VALUES (N'tbl_CustomCommands') + + -- Create a cursor to walk through each table name + DECLARE @tableName NVARCHAR(400) + + DECLARE tablename_cursor CURSOR FOR + SELECT [TableName] + FROM @tbl_TablesToPurge + + OPEN tablename_cursor; + + -- Perform the first fetch and store the values in variables. + -- Note: The variables are in the same order as the columns + -- in the SELECT statement. + FETCH NEXT FROM tablename_cursor INTO @tableName + + CREATE TABLE #tbl_TxnsToBePurged + ( + TransactionID numeric, + CONSTRAINT [PK_tbl_TxnsToBePurged] PRIMARY KEY CLUSTERED + ( + TransactionID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + CREATE TABLE #tbl_SubsetTxnsToBePurged + ( + TransactionID numeric, + CONSTRAINT [PK_tbl_SubsetTxnsToBePurged] PRIMARY KEY CLUSTERED + ( + TransactionID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + -- Check @@FETCH_STATUS to see if there are any more rows to fetch. + WHILE @@FETCH_STATUS = 0 + BEGIN + -- Now we'll remove the rows from the active tables. + IF @debug = 1 BEGIN + PRINT 'Now purging transactions from table ' + @tableName + END + + -- Unfortunately, the name of the TimeStamp column is not the same + -- for every table. So, I've built this logic to generate the correct + -- name for the corresponding table + DECLARE @tsColumnName NVARCHAR(400) + SET @tsColumnName = 'Time_stamp' + + IF @tableName = 'tbl_AdminActions' BEGIN + SET @tsColumnName = 'Timestamp' + END + + DECLARE @sql nvarchar(4000) + + SET @sql = + 'INSERT INTO #tbl_TxnsToBePurged ' + + 'SELECT DISTINCT(TransactionID) TransactionID ' + + 'FROM ' + @tableName + ' ' + + 'WHERE ' + @tsColumnName + ' BETWEEN @lstartTime AND @lstopTime ' + + 'GROUP BY TransactionID' + + EXEC sp_executesql @sql, N'@lstartTime datetime, @lstopTime datetime', @startTime, @stopTime + + DECLARE @resultCount numeric + DECLARE @lastResultCount numeric + SET @lastResultCount = -1 + + SELECT @resultCount = count(*) FROM #tbl_TxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + + WHILE ((@resultCount > 0) AND (@resultCount != @lastResultCount)) BEGIN + + SET @lastResultCount = @resultCount + SET @sql = + 'INSERT INTO #tbl_SubsetTxnsToBePurged ' + + 'SELECT a.TransactionID TransactionID ' + + 'FROM (SELECT TOP ' + CAST(@purgeSize AS NVARCHAR) + ' #tbl_TxnsToBePurged.TransactionID FROM #tbl_TxnsToBePurged) a ' + + 'LEFT JOIN tbl_Transactions tempTable ON a.TransactionID = tempTable.ParentTransactionID ' + + 'WHERE tempTable.ParentTransactionID IS NULL ' + + 'ORDER BY a.TransactionID' + + IF @debug = 1 BEGIN + PRINT 'SQL to determine PurgeSet: ' + @sql + END + + EXEC sp_executesql @sql + + SELECT @resultCount = count(*) FROM #tbl_SubsetTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number Txns To Be Purged This Round: ' + CAST(@resultCount AS NVARCHAR) + END + + EXEC sp_RemoveTxns N'#tbl_SubsetTxnsToBePurged', @debug + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted transactions from tbl_Transactions and associated tables' + END + + DELETE FROM #tbl_TxnsToBePurged + WHERE TransactionID IN + ( + SELECT #tbl_SubsetTxnsToBePurged.TransactionID TransactionID + FROM #tbl_SubsetTxnsToBePurged + ) + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted transactions from #tbl_TxnsToBePurged' + END + + DELETE FROM #tbl_SubsetTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Determing number of rows remaining to be Purged.' + END + + IF (@resultCount > 0) BEGIN + SET @deleteHappened = 1 + END + + SELECT @resultCount = count(*) FROM #tbl_TxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'BOT of Loop: Total Number Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + END + + -- We want to delete all transactions from the temporary table + DELETE FROM #tbl_TxnsToBePurged + + -- This is executed as long as the previous fetch succeeds. + FETCH NEXT FROM tablename_cursor INTO @tableName + END + + CLOSE tablename_cursor; + + -- + -- Purge AS2 transactions + -- + + SET @sql = + 'INSERT INTO #tbl_TxnsToBePurged ' + + 'SELECT DISTINCT(TransactionID) TransactionID ' + + 'FROM tbl_AS2Transactions ' + + 'WHERE CompleteTime BETWEEN @lstartTime AND @lstopTime ' + + 'GROUP BY TransactionID' + + EXEC sp_executesql @sql, N'@lstartTime datetime, @lstopTime datetime', @startTime, @stopTime + + SET @lastResultCount = -1 + SELECT @resultCount = count(*) FROM #tbl_TxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number AS2 Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + + WHILE ((@resultCount > 0) AND (@resultCount != @lastResultCount)) BEGIN + + SET @lastResultCount = @resultCount + + SET @sql = + 'INSERT INTO #tbl_SubsetTxnsToBePurged ' + + 'SELECT TOP ' + CAST(@purgeSize AS NVARCHAR) + ' #tbl_TxnsToBePurged.TransactionID ' + + 'FROM #tbl_TxnsToBePurged ' + + 'ORDER BY TransactionID' + + IF @debug = 1 BEGIN + PRINT 'SQL to determine AS2 PurgeSet: ' + @sql + END + + EXEC sp_executesql @sql + + SELECT @resultCount = count(*) FROM #tbl_SubsetTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number AS2 Txns To Be Purged This Round: ' + CAST(@resultCount AS NVARCHAR) + END + + EXEC sp_RemoveAS2Txns N'#tbl_SubsetTxnsToBePurged', @debug + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted AS2 transactions' + END + + DELETE FROM #tbl_TxnsToBePurged + WHERE TransactionID IN + ( + SELECT #tbl_SubsetTxnsToBePurged.TransactionID TransactionID + FROM #tbl_SubsetTxnsToBePurged + ) + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted transactions from #tbl_TxnsToBePurged' + END + + DELETE FROM #tbl_SubsetTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Determing number of rows remaining to be Purged.' + END + + IF (@resultCount > 0) BEGIN + SET @deleteHappened = 1 + END + + SELECT @resultCount = count(*) FROM #tbl_TxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'BOT of AS2 Loop: Total Number Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + END + + DELETE FROM #tbl_TxnsToBePurged + + + -- + -- Purge SAT transactions + -- + + CREATE TABLE #tbl_SATTxnsToBePurged + ( + ID numeric, + CONSTRAINT [PK_tbl_SATTxnsToBePurged] PRIMARY KEY CLUSTERED + ( + ID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + CREATE TABLE #tbl_SubsetSATTxnsToBePurged + ( + ID numeric, + CONSTRAINT [PK_tbl_SubsetSATTxnsToBePurged] PRIMARY KEY CLUSTERED + ( + ID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + SET @sql = + 'INSERT INTO #tbl_SATTxnsToBePurged ' + + 'SELECT DISTINCT(ID) ID ' + + 'FROM tbl_SAT_Transactions ' + + 'WHERE time_stamp BETWEEN @lstartTime AND @lstopTime ' + + 'GROUP BY ID' + + EXEC sp_executesql @sql, N'@lstartTime datetime, @lstopTime datetime', @startTime, @stopTime + + SET @lastResultCount = -1 + SELECT @resultCount = count(*) FROM #tbl_SATTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number SAT Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + + WHILE ((@resultCount > 0) AND (@resultCount != @lastResultCount)) BEGIN + + SET @lastResultCount = @resultCount + + SET @sql = + 'INSERT INTO #tbl_SubsetSATTxnsToBePurged ' + + 'SELECT TOP ' + CAST(@purgeSize AS NVARCHAR) + ' #tbl_SATTxnsToBePurged.ID ' + + 'FROM #tbl_SATTxnsToBePurged ' + + 'ORDER BY ID' + + IF @debug = 1 BEGIN + PRINT 'SQL to determine SAT PurgeSet: ' + @sql + END + + EXEC sp_executesql @sql + + SELECT @resultCount = count(*) FROM #tbl_SubsetSATTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number SAT Txns To Be Purged This Round: ' + CAST(@resultCount AS NVARCHAR) + END + + BEGIN TRANSACTION + + DELETE FROM tbl_SAT_Emails + WHERE ID IN + ( + SELECT ID + FROM #tbl_SubsetSATTxnsToBePurged + ) + + DELETE FROM tbl_SAT_Files + WHERE ID IN + ( + SELECT ID + FROM #tbl_SubsetSATTxnsToBePurged + ) + + DELETE FROM tbl_SAT_Transactions + WHERE ID IN + ( + SELECT ID + FROM #tbl_SubsetSATTxnsToBePurged + ) + + COMMIT TRANSACTION + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted SAT transactions' + END + + DELETE FROM #tbl_SATTxnsToBePurged + WHERE ID IN + ( + SELECT #tbl_SubsetSATTxnsToBePurged.ID ID + FROM #tbl_SubsetSATTxnsToBePurged + ) + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted transactions from #tbl_TxnsToBePurged' + END + + DELETE FROM #tbl_SubsetTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Determing number of rows remaining to be Purged.' + END + + IF (@resultCount > 0) BEGIN + SET @deleteHappened = 1 + END + + SELECT @resultCount = count(*) FROM #tbl_SATTxnsToBePurged + + IF @debug = 1 BEGIN + PRINT 'BOT of SAT Loop: Total Number Txns To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + END + + DELETE FROM #tbl_SATTxnsToBePurged + + + -- + -- Purge AWESteps transactions + -- + + CREATE TABLE #tbl_AWEStepsToBePurged + ( + ID numeric, + CONSTRAINT [PK_tbl_AWEStepsToBePurged] PRIMARY KEY CLUSTERED + ( + ID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + CREATE TABLE #tbl_SubsetAWEStepsToBePurged + ( + ID numeric, + CONSTRAINT [PK_tbl_SubsetAWEStepsToBePurged] PRIMARY KEY CLUSTERED + ( + ID ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY] + + SET @sql = + 'INSERT INTO #tbl_AWEStepsToBePurged ' + + 'SELECT DISTINCT(ID) ID ' + + 'FROM tbl_AWESteps ' + + 'WHERE time_stamp BETWEEN @lstartTime AND @lstopTime ' + + 'GROUP BY ID' + + EXEC sp_executesql @sql, N'@lstartTime datetime, @lstopTime datetime', @startTime, @stopTime + + SET @lastResultCount = -1 + SELECT @resultCount = count(*) FROM #tbl_AWEStepsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number AWESteps To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + + WHILE ((@resultCount > 0) AND (@resultCount != @lastResultCount)) BEGIN + + SET @lastResultCount = @resultCount + + SET @sql = + 'INSERT INTO #tbl_SubsetAWEStepsToBePurged ' + + 'SELECT TOP ' + CAST(@purgeSize AS NVARCHAR) + ' #tbl_AWEStepsToBePurged.ID ' + + 'FROM #tbl_AWEStepsToBePurged ' + + 'ORDER BY ID' + + IF @debug = 1 BEGIN + PRINT 'SQL to determine AWESteps PurgeSet: ' + @sql + END + + EXEC sp_executesql @sql + + SELECT @resultCount = count(*) FROM #tbl_SubsetAWEStepsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Total Number AWESteps To Be Purged This Round: ' + CAST(@resultCount AS NVARCHAR) + END + + BEGIN TRANSACTION + + DELETE FROM tbl_AWESteps + WHERE ID IN + ( + SELECT ID + FROM #tbl_SubsetAWEStepsToBePurged + ) + + COMMIT TRANSACTION + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted AWESteps' + END + + DELETE FROM #tbl_AWEStepsToBePurged + WHERE ID IN + ( + SELECT #tbl_AWEStepsToBePurged.ID ID + FROM #tbl_SubsetAWEStepsToBePurged + ) + + IF @debug = 1 BEGIN + PRINT 'Successfully deleted rows from #tbl_AWEStepsToBePurged' + END + + DELETE FROM #tbl_SubsetAWEStepsToBePurged + + IF @debug = 1 BEGIN + PRINT 'Determing number of rows remaining to be Purged.' + END + + IF (@resultCount > 0) BEGIN + SET @deleteHappened = 1 + END + + SELECT @resultCount = count(*) FROM #tbl_AWEStepsToBePurged + + IF @debug = 1 BEGIN + PRINT 'BOT of AWESteps Loop: Total Number Rows To Be Purged: ' + CAST(@resultCount AS NVARCHAR) + END + END + + DELETE FROM #tbl_AWEStepsToBePurged + + + END TRY + + BEGIN CATCH + -- Whoops, there was an error + IF @@TRANCOUNT > 0 BEGIN + ROLLBACK + END + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + + -- Regardless of whether there was an error, we need to + -- remove the temporary table and dealloate the cursor + -- we created. + BEGIN TRY + DROP TABLE #tbl_TxnsToBePurged + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DROP TABLE #tbl_SubsetTxnsToBePurged + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DEALLOCATE id_cursor; + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DEALLOCATE tablename_cursor; + END TRY + BEGIN CATCH + END CATCH + + -- + -- drop sat and AWESteps temp tables + -- + + BEGIN TRY + DROP TABLE #tbl_SATTxnsToBePurged + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DROP TABLE #tbl_SubsetSATTxnsToBePurged + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DROP TABLE #tbl_AWEStepsToBePurged + END TRY + BEGIN CATCH + END CATCH + + BEGIN TRY + DROP TABLE #tbl_SubsetAWEStepsToBePurged + END TRY + BEGIN CATCH + END CATCH + + END +GO + + +SET STATISTICS TIME OFF +EXEC sp_PurgeEFTTransactions NULL, NULL, 100000, 1 +SET STATISTICS TIME OFF + + +PRINT '' +PRINT 'Script completed at: ' + CAST(CURRENT_TIMESTAMP AS NVARCHAR) + +GO diff --git a/sql/SQL_File_Import.ps1 b/sql/SQL_File_Import.ps1 new file mode 100644 index 0000000..5af2622 --- /dev/null +++ b/sql/SQL_File_Import.ps1 @@ -0,0 +1,34 @@ +<# +Sql Import Script + +Keith Lowery, Erich Leenheer, Jonathan Branan + +This script is provided without warranty. Globalscape does not accept +responsibility for any unexpected outcomes that result from use of this script. + +Version 1.0 Added variables and checking for open sql connections +Version 1.1 Added comments +#> + +# SQL Instance +$DBServer = "192.168.102.18\Globalscape" + +#Database Name +$DBName = "eft1" + +#Folder where the .sql files are stored +$databasefolder = "C:\Temp\sql" + + +#Connect to SQL Server +$sqlConnection = New-Object System.Data.SqlClient.SqlConnection +$sqlConnection.ConnectionString= "Server=$DBServer;Database=$DBName;Integrated Security=True;" +$sqlConnection.Open() +if ($sqlConnection.State -ne [Data.ConnectionState]::Open) { + "Connection to DB is not open." + Exit +} +Get-ChildItem $databaseFolder -Filter *.sql -Recurse | ForEach-Object { sqlcmd -S $DBServer -d $DBName -E -i $_.FullName } +if ($sqlConnection.State -eq [Data.ConnectionState]::Open) { + $sqlConnection.Close() +} \ No newline at end of file diff --git a/sql/client operations query.sql b/sql/client operations query.sql new file mode 100644 index 0000000..e374b6d --- /dev/null +++ b/sql/client operations query.sql @@ -0,0 +1,3 @@ +SELECT * +FROM tbl_ClientOperations +WHERE Protocol = 'AS2' AND Operation = 'UPLOAD_MOVE' AND LocalPath LIKE '%%' AND BytesTransferred LIKE '0' --AND Time_stamp > '2020-04-1' AND Time_stamp < '2020-04-2' \ No newline at end of file diff --git a/sql/eftArmGetSettings.ps1 b/sql/eftArmGetSettings.ps1 new file mode 100644 index 0000000..cd02aac --- /dev/null +++ b/sql/eftArmGetSettings.ps1 @@ -0,0 +1,63 @@ +<# +.SYNOPSIS + Use EFT's COM interface to configure ARM settings for auditing and reporting. + +.DESCRIPTION + Use EFT's COM interface to retrieve ARM settings + +.PARAMETER serverName + +.PARAMETER eftAdminPort + +.PARAMETER authMethod + +.PARAMETER eftAdminName + +.PARAMETER eftAdminPassword + +#> + +param( + [Parameter(Mandatory=$False)][string]$serverName = "localhost", + [Parameter(Mandatory=$False)][int]$eftAdminPort = 1100, + [Parameter(Mandatory=$False)][int]$authMethod = 1, + [Parameter(Mandatory=$False)][string]$eftAdminName = "", + [Parameter(Mandatory=$False)][string]$eftAdminPassword = "" +) + + +#------------------------------------------------------------ +# login as admin +#------------------------------------------------------------ + +try { + $oServer = New-Object -ComObject 'SFTPComInterface.CIServer' + $oServer.ConnectEx( $serverName, $eftAdminPort, $authMethod, $eftAdminName, $eftAdminPassword ); + Write-Host "connected" +} +catch { + $errorMessage = $_.Exception.Message; + Write-Host "failed to connect to server ${serverName}: ${errorMessage}" + Exit; +} + + +#------------------------------------------------------------ +# get ARM settings +#------------------------------------------------------------ + +Write-Output ("ARMServerName: {0}" -f $oServer.ARMServerName) +Write-Output ("ARMDatabaseName: {0}" -f $oServer.ARMDatabaseName) +Write-Output ("ARMUserName: {0}" -f $oServer.ARMUserName) +Write-Output ("ARMPassword: {0}" -f $oServer.ARMPassword) +Write-Output ("ARMDatabaseType: {0}" -f $oServer.ARMDatabaseType) +Write-Output ("ARMAuthenticationType: {0}" -f $oServer.ARMAuthenticationType) + +#------------------------------------------------------------ +# close resources +#------------------------------------------------------------ + +$oServer.Close() +[System.Runtime.Interopservices.Marshal]::ReleaseComObject($oServer) | out-null +Remove-Variable oServer + diff --git a/sql/fastpurge modified.sql b/sql/fastpurge modified.sql new file mode 100644 index 0000000..1270f49 --- /dev/null +++ b/sql/fastpurge modified.sql @@ -0,0 +1,43 @@ +-- [Optional] Set Database Recovery Mode to Simple +-- [Optional] Comment out lines 20-27 from sp_RemoveTxns (these seem unnecessary since the auxiliary tables are cleaned up by their cascade delete rule) + +USE jonathan27 +GO + +-- CREATE INDEXES TO SPEED UP TRANSACTION PURGE +-- Note that these commands took appromimately 2 minutes 30 seconds to complete in total. +-- This IX_tbl_Transactions_ParentTransactionID index provides the most significant performance improvement +-- because otherwise for each record being deleted it would have to perform a full table scan to find any records +-- that have it as a parent. The table scan is likely to be very slow when tbl_Transactions is large. With this +-- index the query can do an index seek which is a much faster operation. +CREATE NONCLUSTERED INDEX IX_tbl_Transactions_ParentTransactionID + ON [dbo].[tbl_Transactions] ([ParentTransactionID]) +GO + +CREATE NONCLUSTERED INDEX IX_tbl_ProtocolCommands_TransactionID + ON [dbo].[tbl_ProtocolCommands] ([TransactionID]) + INCLUDE ([ProtocolCommandID]) +GO + +CREATE NONCLUSTERED INDEX IX_tbl_SocketConnections_TransactionID + ON [dbo].[tbl_SocketConnections] ([TransactionID]) + INCLUDE ([SocketID]) +GO + +-- PERFORM PURGE +DECLARE @return_value int +DECLARE @stopTimetemp DATETIME2 +SET @stopTimetemp = DATEADD(DAY, -60, GETDATE()) +EXEC @return_value = [dbo].[sp_PurgeEFTTransactions] + @startTime = N'19700101', -- Set to desired start time + @stopTime = @stopTimetemp, -- Set to desired stop time + @purgeSize = NULL, + @debug = 0 + +SELECT 'Return Value' = @return_value + +-- DELETE INDEXES CREATED TO SPEED UP PURGE +DROP INDEX IX_tbl_Transactions_ParentTransactionID ON [dbo].[tbl_Transactions] +DROP INDEX IX_tbl_ProtocolCommands_TransactionID ON [dbo].[tbl_ProtocolCommands] +DROP INDEX IX_tbl_SocketConnections_TransactionID ON [dbo].[tbl_SocketConnections] +GO \ No newline at end of file diff --git a/sql/insight/SQL cleanup.sql b/sql/insight/SQL cleanup.sql new file mode 100644 index 0000000..0281e84 --- /dev/null +++ b/sql/insight/SQL cleanup.sql @@ -0,0 +1,188 @@ +-- ******************** WARNING ******************** +-- EFT is about to upgrade your database! If necessary please check with your database administrator before proceeding. +-- +-- This script will add 3 stored procedures, you will have to call the procedures manually +-- Samples of how to run the stored procedures is located at the end of this script + +-- USE EFTInsight + +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- sp_countEFTInsightRows +-- This stored procedure will count the number of rows. +-- +-- Parameters +-- @DaystoKeep - default is 0, if set to a value greater than 0 the procedure will also show how many rows will be deleted +CREATE PROCEDURE sp_countEFTInsightRows @DaystoKeep int = 0 +AS + +DECLARE @DateToPurgeTo DATETIME +-- If @DaystoKeep = 0, then keep everything +IF @DaystoKeep = 0 OR @DaystoKeep IS NULL +BEGIN + SELECT 'Action' as tableName, count(1) AS rows, MIN([timestamp]) as oldestRow FROM Action + UNION ALL + SELECT 'Authentication', count(1), MIN([timestamp]) FROM Authentication + UNION ALL + SELECT 'AweTask', count(1), MIN([started]) FROM AweTask + UNION ALL + SELECT 'EventRule', count(1), MIN([timestamp]) FROM EventRule + UNION ALL + SELECT 'Evaluation', count(1), MIN([EvaluateeStartDate]) FROM Evaluation + UNION ALL + SELECT 'LogEntry', count(1), MIN([entrytime]) FROM LogEntry + UNION ALL + SELECT 'Message', count(1), MIN([created]) FROM Message + UNION ALL + SELECT 'Transfer', count(1), MIN([timestamp]) FROM Transfer + ORDER BY rows DESC +END +ELSE +BEGIN + SET @DaystoKeep = @DaystoKeep * -1; -- e.g. 60 becomes -60 + + SET @DateToPurgeTo = DATEADD(day,@DaystoKeep,GetDate()) + + SELECT 'Action' as tableName, count(1) AS rows, MIN([timestamp]) as oldestRow, sum(CASE WHEN [timestamp] < @DateToPurgeTo THEN 1 ELSE 0 END ) as rowsOlderThanCutOff FROM Action + UNION ALL + SELECT 'Authentication', count(1), MIN([timestamp]), sum(CASE WHEN [timestamp] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM Authentication + UNION ALL + SELECT 'AweTask', count(1), MIN([started]), sum(CASE WHEN [started] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM AweTask + UNION ALL + SELECT 'EventRule', count(1), MIN([timestamp]), sum(CASE WHEN [timestamp] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM EventRule + UNION ALL + SELECT 'Evaluation', count(1), MIN([EvaluateeStartDate]), sum(CASE WHEN [EvaluateeStartDate] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM Evaluation + UNION ALL + SELECT 'LogEntry', count(1), MIN([entrytime]), sum(CASE WHEN [entrytime] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM LogEntry + UNION ALL + SELECT 'Message', count(1), MIN([created]), sum(CASE WHEN [created] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM Message + UNION ALL + SELECT 'Transfer', count(1), MIN([timestamp]), sum(CASE WHEN [timestamp] < @DateToPurgeTo THEN 1 ELSE 0 END ) FROM Transfer + ORDER BY rows DESC +END + +GO + +-- sp_purgeMarkedForDeletion +-- This stored procedure will purge all rows that have the column MarkedForDeletion set to 1 +create Procedure [dbo].[sp_purgeMarkedForDeletion] +AS +BEGIN + + DELETE FROM [dbo].[Action] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Authentication] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[AweTask] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Configuration] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Evaluation] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Expectation] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[ExpectationDashboard] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[License] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[LogEntry] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Message] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Queue] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[SecurityPrincipal] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Server] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Session] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Site] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[TableSyncStatus] WHERE [MarkedForDeletion] = 1 + DELETE FROM [dbo].[Transfer] WHERE [MarkedForDeletion] = 1 + +END; +GO + +-- sp_purgeEFTInsight +-- This stored procedure will delete rows older than number of days specified by @DaystoKeep +-- +-- Parameters +-- @DaystoKeep - default is 180, the procedure will purge all rows older than @DaystoKeep old +-- @debug - default is 0, if set to 1 the procedure will show some debug functions while running +CREATE PROCEDURE sp_purgeEFTInsight @DaystoKeep int = 180, + @debug bit = 0 +AS + + DECLARE @DateToPurgeTo DATETIME + + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' sp_PurgeEFTInsight started'; + + -- If @DaystoKeep = 0, then purge only older than 40 years + IF @DaystoKeep = 0 OR @DaystoKeep IS NULL + SET @DaystoKeep = -15000; -- Go back 40 years + ELSE + SET @DaystoKeep = @DaystoKeep * -1; -- e.g. 60 becomes -60 + + SET @DateToPurgeTo = DATEADD(day,@DaystoKeep,GetDate()) + + BEGIN TRY + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for Action about to be purged'; + DELETE FROM [Action] WHERE [Timestamp] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for Authentication about to be purged'; + DELETE FROM [Authentication] WHERE [Timestamp] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for AweTask about to be purged'; + DELETE FROM [AweTask] WHERE [started] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for EventRule about to be purged'; + DELETE FROM [EventRule] WHERE [Timestamp] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for Evaluation about to be purged'; + DELETE FROM [Evaluation] WHERE [EvaluateeStartDate] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for LogEntry about to be purged'; + DELETE FROM [LogEntry] WHERE [entrytime] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for Message about to be purged'; + DELETE FROM [Message] WHERE [created] <= @DateToPurgeTo + COMMIT TRANSACTION + + BEGIN TRANSACTION + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' transactions for Transfer about to be purged'; + DELETE FROM [Transfer] WHERE [timestamp] <= @DateToPurgeTo + COMMIT TRANSACTION + + END TRY + + BEGIN CATCH + -- If error, roll back + IF @@TRANCOUNT > 0 + ROLLBACK + + -- Raise an error with the details of the exception + DECLARE @ErrMsg nvarchar(4000), + @ErrSeverity int + SELECT @ErrMsg = ERROR_MESSAGE(), + @ErrSeverity = ERROR_SEVERITY() + + RAISERROR(@ErrMsg, @ErrSeverity, 1) + END CATCH + IF @debug = 1 PRINT CONVERT(varchar(30),CURRENT_TIMESTAMP,8) + ' sp_PurgeEFTInsight ended'; +GO + +--EXEC sp_countEFTInsightRows NULL +--GO +--EXEC sp_purgeMarkedForDeletion +--GO +--EXEC sp_countEFTInsightRows 180 +--GO +--EXEC sp_purgeEFTInsight 180, 1 +--GO +--EXEC sp_countEFTInsightRows +--GO \ No newline at end of file diff --git a/sql/invokeSQL.ps1 b/sql/invokeSQL.ps1 new file mode 100644 index 0000000..5b28811 --- /dev/null +++ b/sql/invokeSQL.ps1 @@ -0,0 +1,25 @@ +#James McGregor uwu and Jonathan Branan + +$ConnectionString = "server=localhost\SQLEXPRESS,1433;database=EFTDB;UID=eft;Pwd=password1;" +$queryFile = "C:\Users\jbranan\Desktop\PurgeEFT.sql" + +Function LogWrite +{ + Param ([string]$logstring) + $curDate = getdate + $toWrite = $curDate + $logstring + Write-Host $toWrite + Add-content $Logfile -value $toWrite +} + +Function getdate +{ + Get-Date -Format "MM/dd/yyyy " +} +#$currenttime = getdate + +$Logfile = "c:\Users\jbranan\Desktop\purge.log" + +Write-Host "Running query for Jonny Boi" +$logstring = Invoke-Sqlcmd -ConnectionString $ConnectionString -InputFile $queryFile -Verbose 4>&1 +Logwrite $logstring \ No newline at end of file diff --git a/sql/needyusers.sql b/sql/needyusers.sql new file mode 100644 index 0000000..336ca07 --- /dev/null +++ b/sql/needyusers.sql @@ -0,0 +1,11 @@ +SELECT TOP 3 UserName, Count(*) As SuccessConnections +FROM tbl_Authentications +WHERE resultID = 0 AND protocol <> 'Administration' AND Time_stamp >= DATEADD(minute,-1440,GetDate()) +GROUP BY UserName +ORDER BY SuccessConnections DESC + +SELECT TOP 3 UserName, Count(*) As FailedConnections +FROM tbl_Authentications +WHERE resultID = 1 AND protocol <> 'Administration' AND Time_stamp >= DATEADD(minute,-1440,GetDate()) +GROUP BY UserName +ORDER BY FailedConnections DESC \ No newline at end of file diff --git a/sql/protocol commands query.sql b/sql/protocol commands query.sql new file mode 100644 index 0000000..47bde15 --- /dev/null +++ b/sql/protocol commands query.sql @@ -0,0 +1,3 @@ +SELECT * +FROM tbl_ProtocolCommands +WHERE Protocol = 'HTTPS' AND Command = 'copy' AND CommandParameters LIKE '%filename.txt%' AND Time_stamp > '2020-04-1' AND Time_stamp < '2020-04-2' diff --git a/sql/rowcount.sql b/sql/rowcount.sql new file mode 100644 index 0000000..eb8d3ed --- /dev/null +++ b/sql/rowcount.sql @@ -0,0 +1,12 @@ + +declare @count int +print 'Row counts before purge' +select @count = count(*) from [dbo].[tbl_AdminActions] print 'tbl_AdminActions count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_ProtocolCommands print 'tbl_ProtocolCommands count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Actions print 'tbl_Actions count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_ClientOperations print 'tbl_ClientOperations count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_SocketConnections print 'tbl_SocketConnections count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Authentications print 'tbl_Authentications count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_CustomCommands print 'tbl_CustomCommands count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_EventRules print 'tbl_EventRules count = ' +CAST(@count AS NVARCHAR) +select @count = count(*) from tbl_Transactions print 'tbl_Transactions count = ' +CAST(@count AS NVARCHAR) \ No newline at end of file diff --git a/sqllite/export last connected time and home folders.txt b/sqllite/export last connected time and home folders.txt new file mode 100644 index 0000000..b7e32ad --- /dev/null +++ b/sqllite/export last connected time and home folders.txt @@ -0,0 +1 @@ +SELECT name, NameLowered, json_extract(GeneralTab, '$.HomeFolder'), datetime(json_extract(Stats, '$.LastConnectedTime'), 'unixepoch', 'localtime')FROM Client; \ No newline at end of file diff --git a/sqllite/inject local admin.txt b/sqllite/inject local admin.txt new file mode 100644 index 0000000..5d43003 --- /dev/null +++ b/sqllite/inject local admin.txt @@ -0,0 +1,10 @@ +INSERT INTO "main"."Admin" ("id", "Name", "NameLowered", "Type", "LastActiveTime", "PasswordHash", "PasswordIsTemporary", "PasswordChangedTime", "PasswordHistory", "UnlockTime", "InvalidLoginAttempts", "Permissions") VALUES (X'b76a1d7bc3ad5ac4863606ce71ba3af3', 'Local computer\Administrators', 'local computer\administrators', '2', '1608331504', '', '1', '1608331504', '[]', '0', '[]', '{ + "ACLs": [], + "Level": "Server", + "ManageCom": true, + "ManagePersonalData": true, + "ManageReporting": true, + "RestAccess": true, + "RestAdminRole": "server_full_access", + "SettingsTemplates": [] +}'); \ No newline at end of file diff --git a/sqllite/updateawelogpaths.txt b/sqllite/updateawelogpaths.txt new file mode 100644 index 0000000..9267968 --- /dev/null +++ b/sqllite/updateawelogpaths.txt @@ -0,0 +1 @@ +UPDATE AdvancedWorkflow set settings = json_set(AdvancedWorkflow.Settings, '$.LogDir', '\\file.core.windows.net\gsbslogs\AWE\') \ No newline at end of file diff --git a/vbs/1ExportPermissions.vbs b/vbs/1ExportPermissions.vbs new file mode 100644 index 0000000..8330639 --- /dev/null +++ b/vbs/1ExportPermissions.vbs @@ -0,0 +1,402 @@ +'FILENAME: ExportVirtualPermissions.vbs +'DATE: 1 JUL 2011 +'PROGRAMMER: A. ACUNA +'USE: Use this to export all the permissions in a site. +'**** run cmd "cscript (script location) > (location of output txt document)**** + + +'Create GlobalSCAPE object +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +Dim strHost, strLogin, strPassword, strTextFile, strSite, strPort +Dim oSFTPServer, oSites, oSite +CRLF = (Chr(13)& Chr(10)) + +'Comment this next line if you want to use arguments passed to the script +If (ProcessArgs=-1) then wscript.quit + +'Un-comment if you want to hardcode the variable info + REM strHost = "192.168.102.143" + REM strPort = "1100" + REM strLogin = "test" + REM strPassword = "test" + REM strTextFile = "output.txt" + REM strSite = "MySite" + + + WScript.Echo "Runtime Parameters:" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + +'Get File Object +Set objFSO = CreateObject("Scripting.FileSystemObject") + +'Create/overwrite log file +Set objLogFile = objFSO.CreateTextFile(strTextFile, True) + +Call ConnectAndLogin() + +Sub ConnectAndLogIn() + Dim WshShell + ' Let's check to be sure we can connect to the specified EFT Server: + WScript.Echo "" + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + ' NOTE we assume default ADMIN port of 1100 -- please chang this if you have + ' manually configured your EFT to be different. + On Error Resume Next + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Echo Chr(9) & "Attempting to restart service..." + err.Clear + Set WshShell = WScript.CreateObject("WScript.Shell") + call WshShell.Run("net start ""eft server""", 1, true) + Set WshShell = nothing + WScript.Echo Chr(9) & "Waiting for 5 seconds for the service to initiate..." + WScript.Sleep 5000 + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quit 253 + Else + WScript.Echo Chr(9) & "Connected to " & strHost + end if + End If + On Error GoTo 0 ' resume error trapping + set oSites=oSFTPServer.Sites + Dim iCount + For iCount=0 to oSites.count - 1 + Set oSite = oSites.Item(iCount) + if LCase(Trim(oSite.Name)) = LCase(Trim(strSite)) then + exit for + End if + Next + WScript.Echo Chr(9) & "Connected to site '" & oSite.Name & "'" & vbCrLf + +End Sub + +'============================================================================== +' +' ProcessArgs +' +' Parse the command-line arguments. Results are set in global variables +' (strHost, strLogin, strPassword, strTextFile, strSite, strPort ). +' +'============================================================================== +public function ProcessArgs + Dim iCount + Dim oArgs + on error resume next + ' Default our arguments. Some are required. + strHost = "" + strLogin = "" + strPassword = "" + strPort = "1100" + strSite = "" + strTextFile="" + ' Get the command-line arguments + ' + Set oArgs = WScript.Arguments + if oArgs.Count > 0 then + ' We have command-line arguments. Loop through them. + iCount = 0 + ProcessArgs = 0 + + do while iCount < oArgs.Count + + select case oArgs.Item(iCount) + ' + ' Server name argument + ' + case "-s" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strHost = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' What port to connect to for EFT server. Default to 1100 + ' + case "-port" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPort = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin login name argument + ' + case "-u" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strLogin = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin password argument + ' + case "-p" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPassword = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' Which site to look into. Defaults into 1. + ' + case "-site" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strSite = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' CSVFile name argument + ' + case "-f" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strTextFile = oArgs.Item(iCount+1) + iCount = iCount + 2 + ' + ' Help option + ' + case "-?" + Syntax + ProcessArgs = -1 + exit function + ' + ' Invalid argument + ' + case else + ' Display the syntax and return an error + wscript.echo "Unknown argument: " & oArgs.Item(iCount) & vbCrLf + Syntax + ProcessArgs = -1 + Exit function + end select + loop + Else + ' + ' There were no command-line arguments, display the syntax + ' and return an error. + ' + Syntax + ProcessArgs = -1 + End if + + Set oArgs = Nothing + + If ( strHost = "" OR strLogin = "" or strSite = "" or strPassword = "" or strTextFile = "" ) Then + Syntax + ProcessArgs = -1 + End If + +End function ' ProcessArgs + +REM Start code here +g_strVFSBuffer= "" + +'Retrieve all the paths that have permissions in the config and decorate the orphans with a * +arVFolders = oSite.GetPermPathsList("-do") + +'Uncomment this next line to show the folder list for debug only +'objLogFile.WriteLine(arVFolders) + +'Break down the return string by its delimiter CRLF +arVFolders = Split(arVFolders, CRLF) +For Each fl in arVFolders + sPath = fl + If Not IsOrphan(spath) Then + WScript.Echo "Getting permissions for path: " & fl + On Error Resume Next + 'WScript.Echo "Calling GetFolderPerms " + pFolder = oSite.GetFolderPermissions(sPath) + 'Check to see if there was an error getting the permissions. If so, we don't want to write this to path to file. + If Not Err.Number <> 0 Then + 'WScript.Echo "Calling StorePermissions " + Call StorePermissions(pFolder,sPath) + Err.Number = 0 + Else + WScript.Echo "Error when checking folder: " & fl + WScript.Echo "Error Description: " & Err.Number & ": " & Err.Description + End If + End If +Next + +SFTPServer.Close +Set SFTPServer = nothing + + +'Function used to determine if the returned path is an orphan in the VFS. +Function IsOrphan(chkpath) + IsOrphan = False + If Right(chkpath,1) = "*" then + IsOrphan = True + End If +End Function + +'User-defined IIf function to perform ternary operation i.e. expression? true_value : false_value +Function IIf(bCondition, sTrueValue, sFalseValue) + if bCondition Then + If IsObject(sTrueValue) Then + Set IIf = sTrueValue + Else + IIf = sTrueValue + End If + Else + If IsObject(sFalseValue) Then + Set IIf = sFalseValue + Else + IIf = sFalseValue + End If + End If +End Function + +Function StripVirtualPortion(ByVal sPath) + + Dim iPos , sVirtualFolderPath,bIsVirtual + + iPos = InStr(1, sPath, " - Virtual", 1 ) + If ( iPos > 0 ) Then + WScript.Echo "-->Stripping VIRTUAL portion of folder name" + sVirtualFolderPath = sPath + sPath = Left( sPath, iPos -1 ) & "/" + End If + + StripVirtualPortion = sPath +End Function + +function StorePermissions(arPerms, strFullFolderPath) + Dim iCount, oPermission + sPath = StripVirtualPortion(strFullFolderPath) + If sPath = "" Or Right(sPath, 1) <> "/" Then + sPath = sPath & "/" + End If + + 'WScript.Echo "Begin StorePerimssions: Exporting data for folder " & strFullFolderPath + 'WScript.Echo "Looping through permissions..." + For iCount = LBound(arPerms) To UBound(arPerms) + Set oPermission = arPerms (iCount) + 'WScript.Echo "DEBUG: Checking path... " & sPath + 'WScript.Echo "DEBUG: Value of oPermission.InheritedFrom = " & oPermission.InheritedFrom + 'If the current folder is the root folder Or + 'If the folder path length matches that of the "inherited from" path + '(means that personal permissions are set on the folder for this group and inherit status is not set) + If (sPath = "/" Or (Len(sPath) = Len(oPermission.InheritedFrom))) then + 'WScript.Echo "DEBUG: First If has been matched " + 'Append permissions group name + g_sOutPut = g_sOutPut & strFullFolderPath & "," + g_sOutPut = g_sOutPut & oPermission.Client & "," + + 'Append folder permissions + g_sOutPut = g_sOutPut & IIf(oPermission.FileUpload, "U", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.FileDownload, "D", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.FileAppend, "A", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.FileDelete, "D", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.FileRename, "R", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirShowinList, "S", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirCreate, "C", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirDelete, "D", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirList, "L", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirShowHidden, "H", "-") + g_sOutPut = g_sOutPut & IIf(oPermission.DirShowReadOnly,"O", "-") + g_sOutPut = g_sOutPut & "," + + 'Append "Inherited from" foldername + g_sOutPut = g_sOutPut & IIf(oPermission.Folder = "", "/", oPermission.Folder) + + WScript.Echo g_sOutPut + g_strVFSBuffer = g_strVFSBuffer & g_sOutPut + objLogFile.WriteLine(g_strVFSBuffer) + g_strVFSBuffer = "" + g_sOutPut = "" + + + Else + 'In case of virtual folder with inheritance set to true, then + 'the above logic fails to make an entry into the back up permissions file + 'so handle the virtual folder case here + 'WScript.Echo "Else has been matched " + 'If the folder is a virtual folder and if the folder entry is not found in the global buffer + If InStr(1,strFullFolderPath, "- Virtual", 1 ) > 0 And InStr (1, g_strVFSBuffer, strFullFolderPath, 1) = 0 Then + WScript.Echo "Found a virtual folder " + strFullFolderPath + " with inherited group permission. Adding a blank entry" + g_strVFSBuffer = g_strVFSBuffer & strFullFolderPath &",,," + objLogFile.WriteLine(g_strVFSBuffer) + g_strVFSBuffer = "" + End If + + End If + Next +end function + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function + + + +'============================================================================== +' Syntax +' Show the command-line syntax +'============================================================================== +public function Syntax + wscript.echo vbCrLf & _ + "Purpose: Export VFS tree permissions to a text file " & vbCrLf & _ + "Usage: " & wscript.scriptname & " " & vbCrLf & _ + "Required Arguments:" & vbCrLf & _ + " -s EFT Server" & vbCrLf & _ + " -u Admin username for EFT Server" & vbCrLf & _ + " -p Admin password" & vbCrLf & _ + " -site Site name on the server we are manipulating. Defaults to first site" & vbCrLf & _ + " -f Path of text file to retrieve data " & vbCrLf & _ + vbCrLf & _ + "Optional Arguments: " & vbCrLf & _ + " -? This help" & vbCrLf & _ + " -port Admin port on EFT server. Defaults to 1100" & vbCrLf & _ + "Example: " & wscript.scriptname & " -s localhost -port 1100 -u admin -p secret -site SiteName -f c:\migrate.txt" + +end function ' Syntax \ No newline at end of file diff --git a/vbs/2ExportVirtualFolders.vbs b/vbs/2ExportVirtualFolders.vbs new file mode 100644 index 0000000..9827a87 --- /dev/null +++ b/vbs/2ExportVirtualFolders.vbs @@ -0,0 +1,282 @@ +'FILENAME: Export Virtual Folders.vbs +'DATE: 19 April 2011 +'PROGRAMMER: A. ACUNA +'USE: Use this to export all the virtual folders in a site. +'**** run cmd "cscript (script location) > (location of output txt document)**** + +'Get File Object +Set objFSO = CreateObject("Scripting.FileSystemObject") + +Dim strHost, strLogin, strPassword, strTextFile, strSite, strPort +Dim oSFTPServer, oSites, oSite + +'Create GlobalSCAPE object +Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +'Comment this next line if you want to use arguments passed to the script +If (ProcessArgs=-1) then wscript.quit + +'Un-comment if you want to hardcode the variable info + REM strHost = "192.168.102.143" + REM strPort = "1100" + REM strLogin = "test" + REM strPassword = "test" + REM strTextFile = "output.txt" + REM strSite = "MySite" + + + WScript.Echo "Runtime Parameters:" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + +'Get File Object +Set objFSO = CreateObject("Scripting.FileSystemObject") + +'Create/overwrite log file +Set objLogFile = objFSO.CreateTextFile(strTextFile, True) + +Call ConnectAndLogin() +Call ExportFolders() + +oSFTPServer.Close +Set oSFTPServer = nothing + +Public function ExportFolders + g_strVFSBuffer= "" + + arVFolders = oSite.GetVirtualFolderList("/") + 'objLogFile.WriteLine(arVFolders) + arVFolders = Split(arVFolders, CRLF) + For Each fl in arVFolders + if Not fl = "" then + WScript.Echo "INFO: Exporting info for folder: " & fl + physPath = oSite.GetPhysicalPath(fl) + objLogFile.WriteLine(fl & "," & physPath) + End if + Next +End function + +'============================================================================== +' +' ProcessArgs +' +' Parse the command-line arguments. Results are set in global variables +' (strHost, strLogin, strPassword, strTextFile, strSite, strPort ). +' +'============================================================================== +public function ProcessArgs + Dim iCount + Dim oArgs + on error resume next + ' Default our arguments. Some are required. + strHost = "" + strLogin = "" + strPassword = "" + strPort = "1100" + strSite = "" + strTextFile="" + ' Get the command-line arguments + ' + Set oArgs = WScript.Arguments + if oArgs.Count > 0 then + ' We have command-line arguments. Loop through them. + iCount = 0 + ProcessArgs = 0 + + do while iCount < oArgs.Count + + select case oArgs.Item(iCount) + ' + ' Server name argument + ' + case "-s" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strHost = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' What port to connect to for EFT server. Default to 1100 + ' + case "-port" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPort = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin login name argument + ' + case "-u" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strLogin = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin password argument + ' + case "-p" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPassword = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' Which site to look into. Defaults into 1. + ' + case "-site" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strSite = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' CSVFile name argument + ' + case "-f" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strTextFile = oArgs.Item(iCount+1) + iCount = iCount + 2 + ' + ' Help option + ' + case "-?" + Syntax + ProcessArgs = -1 + exit function + ' + ' Invalid argument + ' + case else + ' Display the syntax and return an error + wscript.echo "### ERROR: UNKNOWN ARGUMENT " & oArgs.Item(iCount) & vbCrLf + Syntax + ProcessArgs = -1 + Exit function + end select + loop + Else + ' + ' There were no command-line arguments, display the syntax + ' and return an error. + ' + Syntax + ProcessArgs = -1 + End if + + Set oArgs = Nothing + + If ( strHost = "" OR strLogin = "" or strSite = "" or strPassword = "" or strTextFile = "" ) Then + WScript.Echo "### ERROR : MISSING PARAMETERS" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + + Syntax + ProcessArgs = -1 + End If + +End function ' ProcessArgs + +'============================================================================== +' Syntax +' Show the command-line syntax +'============================================================================== +public function Syntax + wscript.echo "Purpose: Export Virtual Folders to a text file " & vbCrLf & _ + "Usage: " & wscript.scriptname & " " & vbCrLf & _ + "Required Arguments:" & vbCrLf & _ + " -s EFT Server" & vbCrLf & _ + " -u Admin username for EFT Server" & vbCrLf & _ + " -p Admin password" & vbCrLf & _ + " -site Site name on the server we are manipulating. Defaults to first site" & vbCrLf & _ + " -f Path of text file to retrieve data " & vbCrLf & _ + vbCrLf & _ + "Optional Arguments: " & vbCrLf & _ + " -? This help" & vbCrLf & _ + " -port Admin port on EFT server. Defaults to 1100" & vbCrLf & _ + "Example: " & wscript.scriptname & " -s localhost -port 1100 -u admin -p secret -site SiteName -f c:\migrate.txt" + +end function ' Syntax + +'============================================================================== +' This method connectst to the specified EFT server and attempts to +' log in using the supplied information. +'============================================================================== +Sub ConnectAndLogIn() + Dim WshShell + ' Let's check to be sure we can connect to the specified EFT Server: + WScript.Echo "" + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + ' NOTE we assume default ADMIN port of 1100 -- please chang this if you have + ' manually configured your EFT to be different. + On Error Resume Next + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Echo Chr(9) & "Attempting to restart service..." + err.Clear + Set WshShell = WScript.CreateObject("WScript.Shell") + call WshShell.Run("net start ""eft server""", 1, true) + Set WshShell = nothing + WScript.Echo Chr(9) & "Waiting for 5 seconds for the service to initiate..." + WScript.Sleep 5000 + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quit 253 + Else + WScript.Echo Chr(9) & "Connected to " & strHost + end if + End If + On Error GoTo 0 ' resume error trapping + set oSites=oSFTPServer.Sites + Dim iCount + For iCount=0 to oSites.count - 1 + Set oSite = oSites.Item(iCount) + if LCase(Trim(oSite.Name)) = LCase(Trim(strSite)) then + exit for + End if + Next + WScript.Echo Chr(9) & "Connected to site '" & oSite.Name & "'" & vbCrLf + +End Sub 'End ConnectAndLogin + diff --git a/vbs/3ImportVirtualFolders.vbs b/vbs/3ImportVirtualFolders.vbs new file mode 100644 index 0000000..dcd9354 --- /dev/null +++ b/vbs/3ImportVirtualFolders.vbs @@ -0,0 +1,318 @@ +'FILENAME: Import Virtual Folders.vbs +'DATE: 19 April 2011 +'PROGRAMMER: A. ACUNA +'USE: Use this to export all the virtual folders in a site. +'**** run cmd "cscript (script location) > (location of output txt document)**** + + +Dim g_arrFileLines() + +Dim strHost, strLogin, strPassword, strTextFile, strSite, strPort +Dim oSFTPServer, oSites, oSite + +'Create GlobalSCAPE object +Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +'Comment this next line if you want to use arguments passed to the script +If (ProcessArgs=-1) then wscript.quit + +'Un-comment if you want to hardcode the variable info + REM strHost = "192.168.102.143" + REM strPort = "1100" + REM strLogin = "test" + REM strPassword = "test" + REM strTextFile = "output.txt" + REM strSite = "MySite" + + WScript.Echo "Runtime Parameters:" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + +'Get File Object +Set objFSO = CreateObject("Scripting.FileSystemObject") + +Call ConnectAndLogin() +Call ReadVFSData() +Call ImportVFSData() + +oSFTPServer.Close +Set oSFTPServer = nothing + +Sub ImportVFSData() + Dim i,j,iPos,arLine + 'WScript.Echo "DEBUG: ImportVFSData i = " & i + 'WScript.Echo "DEBUG: notes on i = " & UBound(g_arrFileLines) + For i = Lbound(g_arrFileLines) to UBound(g_arrFileLines) + 'WScript.Echo "DEBUG: ImportVFSData i = " & i + 'WScript.Echo "DEBUG: g_arrFileLines i = " & g_arrFileLines(i) + arLine = Split(g_arrFileLines(i),",") + strVirtualP = arLine(0) + strPhysicalP = arLine(1) + WScript.Echo "Creating Virtual Folder: " & strVirtualP + WScript.Echo "Using Path: " & strPhysicalP + On Error Resume Next + Err.Clear + Call oSite.CreateVirtualFolder(strVirtualP, strPhysicalP) + If Err.Number<>0 then + If InStr(1,Err.Description,"MX Error: 27",1) > 0 Then + oSite.RemoveFolder(strVirtualP) + Call oSite.CreateVirtualFolder(strVirtualP, strPhysicalP) + Else + WScript.Echo "-*-ERROR: " & Err.Description + WScript.Echo "-*-ERROR: Failed to create Virtual folder: " & strVirtualP + WScript.Echo "Check virtual and physical folder." & Err.Description + End if + End if + Next + '.Echo "DEBUG: ImportVFSData Final i = " & i +End Sub + + + +'============================================================================== +' +' ReadVFSData +' +' Read the data from the text file and create an +' +'============================================================================== +Sub ReadVFSData() + Dim i: i = 0 + 'WScript.Echo "DEBUG: readVFSData i =" & i + Dim oFSO, oFile + Set oFSO = CreateObject("Scripting.FileSystemObject") + Set oFile = oFSO.OpenTextFile( strTextFile, 1 ) + Do Until oFile.AtEndOfStream + Redim Preserve g_arrFileLines(i) + 'WScript.Echo "DEBUG: readVFSData i =" & i + g_arrFileLines(i) = oFile.ReadLine + 'WScript.Echo "DEBUG: g_arrFileLines i =" & g_arrFileLines(i) + i = i + 1 + Loop + 'WScript.Echo "DEBUG: readVFSData i =" & i + oFile.Close +End Sub + +'============================================================================== +' +' ProcessArgs +' +' Parse the command-line arguments. Results are set in global variables +' (strHost, strLogin, strPassword, strTextFile, strSite, strPort ). +' +'============================================================================== +public function ProcessArgs + Dim iCount + Dim oArgs + on error resume next + ' Default our arguments. Some are required. + strHost = "" + strLogin = "" + strPassword = "" + strPort = "1100" + strSite = "" + strTextFile="" + ' Get the command-line arguments + ' + Set oArgs = WScript.Arguments + if oArgs.Count > 0 then + ' We have command-line arguments. Loop through them. + iCount = 0 + ProcessArgs = 0 + + do while iCount < oArgs.Count + + select case oArgs.Item(iCount) + ' + ' Server name argument + ' + case "-s" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strHost = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' What port to connect to for EFT server. Default to 1100 + ' + case "-port" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPort = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin login name argument + ' + case "-u" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strLogin = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin password argument + ' + case "-p" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPassword = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' Which site to look into. Defaults into 1. + ' + case "-site" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strSite = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' CSVFile name argument + ' + case "-f" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strTextFile = oArgs.Item(iCount+1) + iCount = iCount + 2 + ' + ' Help option + ' + case "-?" + Syntax + ProcessArgs = -1 + exit function + ' + ' Invalid argument + ' + case else + ' Display the syntax and return an error + wscript.echo "### ERROR: UNKNOWN ARGUMENT " & oArgs.Item(iCount) & vbCrLf + Syntax + ProcessArgs = -1 + Exit function + end select + loop + Else + ' + ' There were no command-line arguments, display the syntax + ' and return an error. + ' + Syntax + ProcessArgs = -1 + End if + + Set oArgs = Nothing + + If ( strHost = "" OR strLogin = "" or strSite = "" or strPassword = "" or strTextFile = "" ) Then + WScript.Echo "### ERROR : MISSING PARAMETERS" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + + Syntax + ProcessArgs = -1 + End If + +End function ' ProcessArgs + +'============================================================================== +' Syntax +' Show the command-line syntax +'============================================================================== +public function Syntax + wscript.echo "Purpose: Import Virtual Folders from a text file." & vbCrLf & _ + "Usage: " & wscript.scriptname & " " & vbCrLf & _ + "Required Arguments:" & vbCrLf & _ + " -s EFT Server" & vbCrLf & _ + " -u Admin username for EFT Server" & vbCrLf & _ + " -p Admin password" & vbCrLf & _ + " -site Site name on the server we are manipulating. Defaults to first site" & vbCrLf & _ + " -f Path of text file to retrieve data " & vbCrLf & _ + vbCrLf & _ + "Optional Arguments: " & vbCrLf & _ + " -? This help" & vbCrLf & _ + " -port Admin port on EFT server. Defaults to 1100" & vbCrLf & _ + "Example: " & wscript.scriptname & " -s localhost -port 1100 -u admin -p secret -site SiteName -f c:\migrate.txt" + +end function ' Syntax + +'============================================================================== +' This method connectst to the specified EFT server and attempts to +' log in using the supplied information. +'============================================================================== +Sub ConnectAndLogIn() + Dim WshShell + ' Let's check to be sure we can connect to the specified EFT Server: + WScript.Echo "" + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + ' NOTE we assume default ADMIN port of 1100 -- please chang this if you have + ' manually configured your EFT to be different. + On Error Resume Next + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Echo Chr(9) & "Attempting to restart service..." + err.Clear + Set WshShell = WScript.CreateObject("WScript.Shell") + call WshShell.Run("net start ""eft server""", 1, true) + Set WshShell = nothing + WScript.Echo Chr(9) & "Waiting for 5 seconds for the service to initiate..." + WScript.Sleep 5000 + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quit 253 + Else + WScript.Echo Chr(9) & "Connected to " & strHost + end if + End If + On Error GoTo 0 ' resume error trapping + set oSites=oSFTPServer.Sites + Dim iCount + For iCount=0 to oSites.count - 1 + Set oSite = oSites.Item(iCount) + if LCase(Trim(oSite.Name)) = LCase(Trim(strSite)) then + exit for + End if + Next + WScript.Echo Chr(9) & "Connected to site '" & oSite.Name & "'" & vbCrLf + +End Sub 'End ConnectAndLogin \ No newline at end of file diff --git a/vbs/4ImportPermissions.vbs b/vbs/4ImportPermissions.vbs new file mode 100644 index 0000000..bcc6cf5 --- /dev/null +++ b/vbs/4ImportPermissions.vbs @@ -0,0 +1,543 @@ +' +' FILE: EFTImport.vbs +' CREATED: 10 JAN 2008 GTH/ PPK +' MODIFIED: 7 JUL 2011 ALA +' PURPOSE: To import EFT VFS permissions from text file + +Option Explicit +Dim oArgs +Dim strHost, strLogin, strPassword, strTextFile, strSite, strPort +Dim oSFTPServer, oSites, oSite, oPerm +Dim aSiteGroups, aSiteUsers, strGroupList, strUserList, strUsersAndGroups +Dim g_arrFileLines() + +Class CPermission + Private m_sPermissionGroup + Private m_sPermissionString + Private m_sInheritedFrom + + 'File permissions + Private m_sFileUpload + Private m_sFileDownload + Private m_sFileAppend + Private m_sFileDelete + Private m_sFileRename + Private m_sDirList + 'Folder permissions + Private m_sDirShowInList + Private m_sDirCreate + Private m_sDirDelete + 'Contents + Private m_sDirShowReadOnly + Private m_sDirShowHidden + + Public Property Get PermissionGroup() + PermissionGroup = m_sPermissionGroup + End Property + Public Property Let PermissionGroup(value) + m_sPermissionGroup = value + End Property + + Public Property Get PermissionString() + PermissionString = m_sPermissionString + End Property + Public Property Let PermissionString(value) + m_sPermissionString = value + End Property + + Public Property Get InheritedFrom() + InheritedFrom = m_sInheritedFrom + End Property + Public Property Let InheritedFrom(value) + m_sInheritedFrom = value + End Property + + 'File permissions + Public Property Get FileUpload() + FileUpload = m_sFileUpload + End Property + Public Property Let FileUpload(value) + m_sFileUpload = value + End Property + + Public Property Get FileDownload() + FileDownload = m_sFileDownload + End Property + Public Property Let FileDownload(value) + m_sFileDownload=value + End Property + + Public Property Get FileAppend() + FileAppend = m_sFileAppend + End Property + Public Property Let FileAppend(value) + m_sFileAppend=value + End Property + + Public Property Get FileRename() + FileRename = m_sFileRename + End Property + Public Property Let FileRename(value) + m_sFileRename=value + End Property + + Public Property Get DirList() + DirList = m_sDirList + End Property + Public Property Let DirList(value) + m_sDirList=value + End Property + + Public Property Get FileDelete() + FileDelete = m_sFileDelete + End Property + Public Property Let FileDelete(value) + m_sFileDelete=value + End Property + + 'Folder permissions + Public Property Get DirShowinList() + DirShowinList = m_sDirShowinList + End Property + Public Property Let DirShowinList(value) + m_sDirShowinList=value + End Property + + Public Property Get DirCreate() + DirCreate = m_sDirCreate + End Property + Public Property Let DirCreate(value) + m_sDirCreate=value + End Property + + Public Property Get DirDelete() + DirDelete = m_sDirDelete + End Property + Public Property Let DirDelete(value) + m_sDirDelete=value + End Property + + 'Content permissions + Public Property Get DirShowHidden() + DirShowHidden = m_sDirShowHidden + End Property + Public Property Let DirShowHidden(value) + m_sDirShowHidden=value + End Property + + Public Property Get DirShowReadonly() + DirShowReadonly = m_sDirShowReadonly + End Property + Public Property Let DirShowReadonly(value) + m_sDirShowReadonly=value + End Property +End Class + + '============================================================================== + ' + ' Main + ' + '============================================================================== + 'Comment this next line if you want to use arguments passed to the script + If (ProcessArgs=-1) then wscript.quit + + 'Un-comment if you want to hardcode the variable info + REM strHost = "localhost" + REM strLogin = "test" + REM strPassword= "test" + REM strTextFile = "output.txt" + REM strSite= "MySite" + REM strPort="1100" + +WScript.Echo "Runtime Parameters:" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + + +Call ConnectAndLogin() +Call ReadVFSData() +Call RetrieveUsersAndGroups() +Call ImportVFSData() +'============================================================================== +' This method connectst to the specified EFT server and attempts to +' log in using the supplied information. +'============================================================================== +Sub ConnectAndLogIn() + Dim WshShell + ' Let's check to be sure we can connect to the specified EFT Server: + WScript.Echo "" + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + Set oSFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + ' NOTE we assume default ADMIN port of 1100 -- please chang this if you have + ' manually configured your EFT to be different. + On Error Resume Next + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Echo Chr(9) & "Attempting to restart service..." + err.Clear + Set WshShell = WScript.CreateObject("WScript.Shell") + call WshShell.Run("net start ""globalscape eft server""", 1, true) + Set WshShell = nothing + WScript.Echo Chr(9) & "Waiting for 5 seconds for the service to initiate..." + WScript.Sleep 5000 + WScript.Echo Chr(9) & "Connecting to " & strLogin & "@" & strHost & ":1100 [Site " & strSite & "]" + oSFTPServer.Connect strHost, CLng(strPort), strLogin, strPassword + If Err.Number <> 0 Then + WScript.Echo Chr(9) & "Error connecting to '" & strHost & ":" & 1100 & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quit 253 + Else + WScript.Echo Chr(9) & "Connected to " & strHost + end if + End If + On Error GoTo 0 ' resume error trapping + set oSites=oSFTPServer.Sites + Dim iCount + For iCount=0 to oSites.count - 1 + Set oSite = oSites.Item(iCount) + if LCase(Trim(oSite.Name)) = LCase(Trim(strSite)) then + exit for + End if + Next + WScript.Echo Chr(9) & "Connected to site '" & oSite.Name & "'" & vbCrLf + +End Sub + +'============================================================================== +' +' ProcessArgs +' +' Parse the command-line arguments. Results are set in global variables +' (strHost, strLogin, strPassword, strTextFile, strSite, strPort ). +' +'============================================================================== +public function ProcessArgs + Dim iCount + Dim oArgs + on error resume next + ' Default our arguments. Some are required. + strHost = "" + strLogin = "" + strPassword = "" + strPort = "1100" + strSite = "" + strTextFile="" + ' Get the command-line arguments + ' + Set oArgs = WScript.Arguments + if oArgs.Count > 0 then + ' We have command-line arguments. Loop through them. + iCount = 0 + ProcessArgs = 0 + + do while iCount < oArgs.Count + + select case oArgs.Item(iCount) + ' + ' Server name argument + ' + case "-s" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strHost = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' What port to connect to for EFT server. Default to 1100 + ' + case "-port" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPort = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin login name argument + ' + case "-u" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strLogin = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' admin password argument + ' + case "-p" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strPassword = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' Which site to look into. Defaults into 1. + ' + case "-site" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strSite = oArgs.Item(iCount+1) + iCount = iCount + 2 + + ' + ' CSVFile name argument + ' + case "-f" + if( iCount + 1 >= oArgs.Count ) then + Syntax + ProcessArgs = -1 + exit do + end if + + strTextFile = oArgs.Item(iCount+1) + iCount = iCount + 2 + ' + ' Help option + ' + case "-?" + Syntax + ProcessArgs = -1 + exit function + ' + ' Invalid argument + ' + case else + ' Display the syntax and return an error + wscript.echo "### ERROR: UNKNOWN ARGUMENT " & oArgs.Item(iCount) & vbCrLf + Syntax + ProcessArgs = -1 + Exit function + end select + loop + Else + ' + ' There were no command-line arguments, display the syntax + ' and return an error. + ' + Syntax + ProcessArgs = -1 + End if + + Set oArgs = Nothing + + If ( strHost = "" OR strLogin = "" or strSite = "" or strPassword = "" or strTextFile = "" ) Then + WScript.Echo "### ERROR : MISSING PARAMETERS" & vbCrLf & "-------------------" & vbCrLf & _ + "strHost = " & strHost & vbCrLf & _ + "strPort = " & strPort & vbCrLf & _ + "Login = " & strLogin & vbCrLf & _ + "Password= " & strPassword & vbCrLf & _ + "strSite = " & strSite & vbCrLf & _ + "strTextFile = " & strTextFile & vbCrLf + + Syntax + ProcessArgs = -1 + End If + +End function ' ProcessArgs + +'Parse the permission string, e.g. UDADRSCDLHO etc., and create an object of CPermission class. +'This is to make the easier handling of permissions. +Public Function ParsePermissionString(sPermissionGroup, sPermissionString, sInheritedFrom) + Set oPerm = New CPermission + oPerm.PermissionGroup = sPermissionGroup + oPerm.InheritedFrom = sInheritedFrom + oPerm.PermissionString = UCase(Trim(sPermissionString)) + sPermissionString = UCase(Trim(sPermissionString)) + + 'File Permissions + oPerm.FileUpload = IIf( Mid(sPermissionString,1,1) = "U", True, False) 'File Upload + oPerm.FileDownload = IIf( Mid(sPermissionString,2,1) = "D", True, False) 'File Download + oPerm.FileAppend = IIf( Mid(sPermissionString,3,1) = "A", True, False) 'File Append + oPerm.FileDelete = IIf( Mid(sPermissionString,4,1) = "D", True, False) 'File Delete + oPerm.FileRename = IIf( Mid(sPermissionString,5,1) = "R", True, False) 'File Rename + oPerm.DirShowinList = IIf( Mid(sPermissionString,6,1) = "S", True, False) 'Dir Show in list + oPerm.DirCreate = IIf( Mid(sPermissionString,7,1) = "C", True, False) 'Dir Create + oPerm.DirDelete = IIf( Mid(sPermissionString,8,1) = "D", True, False) 'Dir Delete + + oPerm.DirList = IIf( Mid(sPermissionString,9,1) = "L", True, False) 'File List + oPerm.DirShowHidden = IIf( Mid(sPermissionString,10,1)= "H", True, False) 'content Show hidden + oPerm.DirShowReadOnly = IIf( Mid(sPermissionString,11,1)= "O", True, False) 'Cotent Show Readonly + + 'Return the CPermission object + Set ParsePermissionString=oPerm +End Function + +'Updates the folder permission using SFTPCOMInterface's "SetPermissions" method +Function UpdateFolderPermissions(oPerm, sFolderName) + On Error resume next + Dim oFolderPerm + 'Getting permissions for the folder and also verifying that it can get the Group object + Set oFolderPerm = oSite.GetBlankPermission(sFolderName, oPerm.PermissionGroup) + if oFolderPerm then + oFolderPerm.FileUpload = oPerm.FileUpload + oFolderPerm.FileDownload = oPerm.FileDownload + oFolderPerm.FileDelete = oPerm.FileDelete + oFolderPerm.FileRename = oPerm.FileRename + oFolderPerm.FileAppend = oPerm.FileAppend + oFolderPerm.DirCreate = oPerm.DirCreate + oFolderPerm.DirDelete = oPerm.DirDelete + oFolderPerm.DirList = oPerm.DirList + oFolderPerm.DirShowInList = oPerm.DirShowInList + oFolderPerm.DirShowHidden = oPerm.DirShowHidden + oFolderPerm.DirShowReadOnly = oPerm.DirShowReadOnly + + Call oSite.SetPermission(oFolderPerm, false) + oSFTPServer.ApplyChanges + + UpdateFolderPermissions = true + else + Wscript.Echo "ERROR: Permissions import failed for folder: " & sFolderName & "." + Wscript.Echo "ERROR: Verify that folder and group '" & oPerm.PermissionGroup & "' exists in new site." + end if + Set oPerm = Nothing +End Function + +'Obtain list of permission groups and create single string for validating later (ala: 7/7/2011) +Sub RetrieveUsersAndGroups() + Dim SiteGrp + Dim SiteUser + aSiteGroups = oSite.GetPermissionGroups + aSiteUsers = oSite.GetUsers() + strGroupList = "" + strUserList = "" + For Each SiteGrp in aSiteGroups + strGroupList = strGroupList & SiteGrp & vbCrLf + Next + For Each SiteUser in aSiteUsers + strUserList = strUserList & SiteUser & vbCrLf + Next + strUsersAndGroups = strGroupList & strUserList + 'WScript.Echo "DEBUG: strUsersAndGroups = " & strUsersAndGroups +End Sub + +Sub ImportVFSData() + Dim i,j,iPos,arLine,iPosg + Dim strFolder,strGroupName,strPermissions,strInheritFromFolder, strVirtulPath, strRealPath + WScript.Echo "INFO: Importing VFS data started ...."& VBcrlf + For i = Lbound(g_arrFileLines) to UBound(g_arrFileLines)-1 + arLine = Split(g_arrFileLines(i),",") + strFolder = arLine(0) + 'WScript.Echo "DEBUG: strFolder = " & strFolder + strGroupName = arLine(1) + 'WScript.Echo "DEBUG: strGroupName = " & strGroupName + strPermissions = arLine(2) + 'WScript.Echo "DEBUG: strPermissions = " & strPermissions + strInheritFromFolder = arLine(3) + 'WScript.Echo "DEBUG: strInheritFromFolder = " & strInheritFromFolder + 'Verify that the group is valid (ala: 7/7/2011) + iPosg = InStr(1, strUsersAndGroups, strGroupName, 1) + 'WScript.Echo "DEBUG: iPosg = " & iPosg + If ( iPosg > 0) Then + iPosg = 0 + 'fixed echo string. folder and group are now enumerated. + WScript.Echo "INFO: Importing VFS data for folder '" & strFolder & "' for Group '" & strGroupName & "'" + iPos = InStr(1, strFolder, " - Virtual", 1 ) + If ( iPos > 0 ) Then + WScript.Echo "INFO: -->Stripping VIRTUAL portion of folder name" & strFolder + strVirtulPath = Left( strFolder, iPos -1 ) & "/" + iPos = InStr(1, strFolder, "(", 1 ) + if( iPos > 0 ) Then + strRealPath = Mid(strFolder,iPos+1, len(strFolder)- (iPos + 2)) + 'Now we have virtual name and real path ..Try to create virtual folder on site + 'If it fails, just move on to the next step which is setting permissions. We're assuming it's failing because the virtual folder already exists. + On Error Resume Next + call oSite.CreateVirtualFolder(strVirtulPath, strRealPath) + end if + strFolder = strVirtulPath 'assign correct folder name to update permissions + End If + if(strGroupName <> "") Then ' if no permission, means we are working with virtual folder which has inherited permissions, so we only need to create the folder. + Call ParsePermissionString(strGroupName,strPermissions,strInheritFromFolder) + Call UpdateFolderPermissions(oPerm,strFolder) + End if + End if + WScript.Sleep(30) + Next + WScript.Echo "INFO: VFS Data import complete."& VBcrlf +End Sub + +Sub ReadVFSData() + Dim i: i = 0 + Dim oFSO, oFile + Set oFSO = CreateObject("Scripting.FileSystemObject") + Set oFile = oFSO.OpenTextFile(strTextFile, 1 ) + Do Until oFile.AtEndOfStream + Redim Preserve g_arrFileLines(i) + g_arrFileLines(i) = oFile.ReadLine + i = i + 1 + Loop + oFile.Close +End Sub + +'Checks whether the folder has subfolder or not. +'If the folder has "" appended to it then it contains the sub folder + +function hasSubFolders(ByVal sFolderName) + if sFolderName <> "" then + if Right(sFolderName, 1) = """" then + hasSubFolders = true + end if + end if +End function + +'User-defined IIf function to perform ternary operation i.e. expression? true_value : false_value +Function IIf(bCondition, sTrueValue, sFalseValue) + if bCondition Then + If IsObject(sTrueValue) Then + Set IIf = sTrueValue + Else + IIf = sTrueValue + End If + Else + If IsObject(sFalseValue) Then + Set IIf = sFalseValue + Else + IIf = sFalseValue + End If + End If +End Function + +'============================================================================== +' Syntax +' Show the command-line syntax +'============================================================================== +public function Syntax + wscript.echo "Purpose: Import VFS tree permissions from a text file " & vbCrLf & _ + "Usage: " & wscript.scriptname & " " & vbCrLf & _ + "Required Arguments:" & vbCrLf & _ + " -s EFT Server" & vbCrLf & _ + " -u Admin username for EFT Server" & vbCrLf & _ + " -p Admin password" & vbCrLf & _ + " -site Site name on the server we are manipulating. Defaults to first site" & vbCrLf & _ + " -f Path of text file to retrieve data " & vbCrLf & _ + vbCrLf & _ + "Optional Arguments: " & vbCrLf & _ + " -? This help" & vbCrLf & _ + " -port Admin port on EFT server. Defaults to 1100" & vbCrLf & _ + "Example: " & wscript.scriptname & " -s localhost -port 1100 -u admin -p secret -site SiteName -f c:\migrate.txt" + +end function ' Syntax + diff --git a/vbs/64.vbs b/vbs/64.vbs new file mode 100644 index 0000000..9a4d243 Binary files /dev/null and b/vbs/64.vbs differ diff --git a/vbs/72.vbs b/vbs/72.vbs new file mode 100644 index 0000000..6f45fdf Binary files /dev/null and b/vbs/72.vbs differ diff --git a/vbs/AddIPAccessRules.vbs b/vbs/AddIPAccessRules.vbs new file mode 100644 index 0000000..93b2aa6 --- /dev/null +++ b/vbs/AddIPAccessRules.vbs @@ -0,0 +1,68 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "GS2" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +'To create an entry use the line below +Dim isAllowEntry : isAllowEntry = True +For index = 1 To 4 + For index2 = 1 To 255 + selectedSite.AddIPAccessRule "192.168." & index & "." & index2, isAllowEntry, 0 + Next +Next + +'Remove IPAccessRule at position +'For index = 1 To 9408 + 'selectedSite.RemoveIPAccessRule(1) + 'Wscript.echo "Removing IP Access Rule: " & index +'Next + +'Old functions: +'allowedIPs = SFTPServer.GetAllowedMasks +'For each ip in allowedIPs +' WScript.Echo "Allowed: " + ip +'Next + +'deniedIPs = SFTPServer.GetDeniedMasks +'For each ip in deniedIPs +' WScript.Echo "Denied: " + ip +'Next + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/Add_emails_to_address_book.vbs b/vbs/Add_emails_to_address_book.vbs new file mode 100644 index 0000000..7974738 --- /dev/null +++ b/vbs/Add_emails_to_address_book.vbs @@ -0,0 +1,40 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +strEmailList = SFTPServer.SMTPAddressBook + For j = 0 to 1000 + If strEmailList <> "" Then +strEmailList = strEmailList + "; " +End If +strEmailList = strEmailList + Cstr(j) +"<" + Cstr(j) + "@SomeServer.com>" + Next + +SFTPServer.SMTPAddressBook = strEmailList + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/Create20Users.vbs b/vbs/Create20Users.vbs new file mode 100644 index 0000000..4f8815c --- /dev/null +++ b/vbs/Create20Users.vbs @@ -0,0 +1,53 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "gs" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +SFTPServer.RefreshSettings +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + For j = 0 To 19 + Wscript.echo j + selectedSite.CreateUserEx Cstr(j),Cstr(j),0,Cstr(j),Cstr(j),True,False,"Default settings" + Next + + SFTPServer.AutoSave = TRUE + SFTPServer.ApplyChanges + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/CreateNewAdmin.vbs b/vbs/CreateNewAdmin.vbs new file mode 100644 index 0000000..131ad29 --- /dev/null +++ b/vbs/CreateNewAdmin.vbs @@ -0,0 +1,87 @@ +' +' FILE: CreateNewAdmin.vbs +' AUTHOR: Brian Arriaga +' CREATED: 2 June 2016 +' MODIFIED: 2 June 2016 +' ORIGINALLY CREATED FOR: EFT Server 6.5-7.3 +' PURPOSE: This script can create a new admin user or group within EFT Server by using the CreateAdmin method. +' This script was created as a workaround to add Universal Groups and Domain Local Groups as admins into EFT Server. +' In EFT Server 7.2.x and prior, these groups are outside of visible scope for the admin portion of AD viewer. +' To use this script, modify the connection details and the AdminAccountType, isGroup, NewAdminPassword, +' +' NOTE: The creation and modification of COM API scripts is not within the standard scope of Support. +' All COM API scripts are supplied as a courtesy "AS IS" with no implied or explicit guarantee of function. +' GlobalSCAPE is not responsible for any damage to system or data as a result of using supplied COM API scripts. +' Further information and usage instruction on COM API methods can be found online within the help file: http://help.globalscape.com/help/ +' + + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +'Modify the below connection details to reflect your own environment. +txtServer = "localhost" +txtPort = "1110" +txtAdminUserName = "a" +txtAdminPassword = "a" + +'Modify the below 4 entries to configure the admin account/settings you desire. +'AdminAccountType: +' EFTAccount = 0, +' LocalComputerAccount = 1, +' ADAccount = 2, + +AdminAccountType = 2 + +'group: +' True = Admin being added is a group +' False = Admin being added is not a group + +isGroup = True + +'NewAdminPassword +' Enter the desired Name for the new adminUser +' If AD group is being used (AdminAccountType=2) make sure to specify the domain in Domain\Group format. +NewAdmin = "" + +'NewAdminPassword +' Enter the desired password for the new adminUser +' If group is being used, can be set to anything + +NewAdminPassword= "P@ssWord!" + + +Call ConnectToServer() +Call CreateNewAdmin() + + +SFTPServer.Close +Set SFTPServer = nothing + + +'========================================== +'This sub connects to the server +'========================================= +Sub ConnectToServer() + SFTPServer.Connect txtServer, txtPort, txtAdminUserName, txtAdminPassword + + If Err.Number = 0 Then + WScript.Echo "Connected to EFT Server: " & txtServer + End If + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + End If + +End Sub + +'========================================== +'This sub create a new Admin User or Group into EFT Server using the "CreateAdmin" method in format CreateAdmin(Admin Name, Admin Pass, Admin Type, Admin is Group) +'========================================= +Sub CreateNewAdmin() + + Set adminUser = SFTPServer.CreateAdmin(NewAdmin, NewAdminPassword, AdminAccountType, isGroup) + WScript.Echo "Admin login " + adminUser.Login + " created." + +End Sub \ No newline at end of file diff --git a/vbs/CreateSSHKey.vbs b/vbs/CreateSSHKey.vbs new file mode 100644 index 0000000..061e3c6 --- /dev/null +++ b/vbs/CreateSSHKey.vbs @@ -0,0 +1,34 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "Administrator" +txtPassword = "Tester!1" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +SFTPServer.CreateSSHKey 1024, "passphrase", "C:\Private", "C:\Public.pub", False, 0, "" + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/CreateUsers.vbs b/vbs/CreateUsers.vbs new file mode 100644 index 0000000..e710419 --- /dev/null +++ b/vbs/CreateUsers.vbs @@ -0,0 +1,23 @@ +ServerAddress = "192.168.102.28" +ServerUsername = "eftadmin" +ServerPassword = "a" +ExcelFile = "R:\jhulme\COM Scripts\usersGlobalscape.xlsx" +Set SFTPServer = CreateObject("SFTPCOMInterface.CIServer") + +SFTPServer.Connect ServerAddress,1100,ServerUsername,ServerPassword + +Set sites=SFTPServer.Sites +Set site = sites.Item(0) +SFTPServer.RefreshSettings + +Set objExcel = CreateObject("Excel.Application") +Set objWorkbook = objExcel.Workbooks.Open(ExcelFile) +objExcel.Visible = True +i = 1 +Do Until objExcel.Cells(i, 1).Value = "" + site.CreateUserEx objExcel.Cells(i, 1).Value, objExcel.Cells(i, 2).Value, 0, objExcel.Cells(i, 4).Value, objExcel.Cells(i, 5).Value,True,True,objExcel.Cells(i, 6).Value + i = i + 1 +Loop +objExcel.Quit +SFTPServer.AutoSave=True +SFTPServer.ApplyChanges diff --git a/vbs/Create_user_ex.vbs b/vbs/Create_user_ex.vbs new file mode 100644 index 0000000..8a21ba4 --- /dev/null +++ b/vbs/Create_user_ex.vbs @@ -0,0 +1,124 @@ +' +' FILE: CreateUserEX2.vbs +' AUTHOR: Brian Arriaga +' CREATED: 17 MAR 2015 +' MODIFIED: 17 MAR 2015 +' ORIGINALLY CREATED FOR: EFT Server 6.5-7.0.3 +' PURPOSE: This script creates a specified user using the CreateUserEX2 method. +' +' NOTE: The creation and modification of COM API scripts is not within the standard scope of Support. +' All COM API scripts are supplied as a courtesy "AS IS" with no implied or explicit guarantee of function. +' GlobalSCAPE is not responsible for any damage to system or data as a result of using supplied COM API scripts. +' Further information and usage instruction on COM API methods can be found online within the help file: http://help.globalscape.com/help/ +' + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +'Modify the below connection details to reflect your own environment. + txtServer = "192.168.102.28" + txtPort = "1100" + txtAdminUserName = "eftadmin" + txtAdminPassword = "a" + txtSiteName = "GS" + + ' This is the username that will be created + txtLogin = "TestUser15" + + ' This specifies the password of the user. + txtPassword = "Password_321!" + + ' This specifies the full name of the user (account details). + txtFullName = "Test User" + + ' This specifies the email of the user (account details). + txtEmail = "abaciu@iiroc.ca" + + ' This specifies whether or not a folder will be created for the user. If "true", a user home folder will be created with the Login name, example: /Usr/UserA. + 'If false, it will not create a folder for the user and it will instead inherit the folder from the template + txtCreateHomeFolder = "false" + + 'This specifies whether or not the user will have full permissions to the home folder. + txtFullPermissionsForHomeFolder = "true" + + +Dim theSite + +Call ConnectToServerEx() +Call FindSite() +Call RunCreateUserEX2() + +SFTPServer.Close +Set SFTPServer = nothing + +'========================================== +'This sub connects to the server with AD authentication +'========================================= +Sub ConnectToServerEx() + SFTPServer.ConnectEx txtServer, txtPort, 1, "", "" + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + +'========================================== +'This sub connects to the server +'========================================= +Sub ConnectToServer() + SFTPServer.Connect txtServer, txtPort, txtAdminUserName, txtAdminPassword + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + + +'========================================== +'This sub finds the specified site +'========================================= +Sub FindSite() + set Sites=SFTPServer.Sites + + For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + exit for + End if + Next + WScript.Echo "Connected to site: " & theSite.Name +End Sub + +'========================================== +'This sub Initializes the CINewUserData property, sets the variables and then creates a user account using the CreateUserEX2() method. +'========================================= +Sub RunCreateUserEX2() + + Set NewUserData = WScript.CreateObject("SFTPCOMInterface.CINewUserData") + + NewUserData.Login = txtLogin + NewUserData.FullName = txtfullName + NewUserData.Email = txtemail + NewUserData.Password = txtpassword + NewUserData.CreateHomeFolder = txtCreateHomeFolder + NewUserData.FullPermissionsForHomeFolder= txtFullPermissionsForHomeFolder + + WScript.Echo "" + WScript.Echo "Creating user with Login: " & NewUserData.Login + WScript.Echo "Creating user with Password: " & NewUserData.Password + WScript.Echo "Creating user with Full Name (account detail): " & NewUserData.FullName + WScript.Echo "Creating user with Email (account detail): " & NewUserData.Email + + ' The below lines will output whether or not a home folder will be created for the user + if (NewUserData.CreateHomeFolder = false) Then + WScript.Echo "The user will inherit the Default Settings Template Home folder" + else + WScript.Echo "A folder /" & NewUserData.Login & " will be created in the Settings Template Root Folder" + end if + + ' The below line will output whether or not the user will receive full permission to their home folder. + if (NewUserData.FullPermissionsForHomeFolder = false) Then + WScript.Echo "The user will not receive full permission to their home folder" + else + WScript.Echo "The user will receive full permission to their home folder" + end if + + theSite.CreateUserEX2(NewUserData) + +End Sub + diff --git a/vbs/Create_user_ex_IIROC.vbs b/vbs/Create_user_ex_IIROC.vbs new file mode 100644 index 0000000..8a21ba4 --- /dev/null +++ b/vbs/Create_user_ex_IIROC.vbs @@ -0,0 +1,124 @@ +' +' FILE: CreateUserEX2.vbs +' AUTHOR: Brian Arriaga +' CREATED: 17 MAR 2015 +' MODIFIED: 17 MAR 2015 +' ORIGINALLY CREATED FOR: EFT Server 6.5-7.0.3 +' PURPOSE: This script creates a specified user using the CreateUserEX2 method. +' +' NOTE: The creation and modification of COM API scripts is not within the standard scope of Support. +' All COM API scripts are supplied as a courtesy "AS IS" with no implied or explicit guarantee of function. +' GlobalSCAPE is not responsible for any damage to system or data as a result of using supplied COM API scripts. +' Further information and usage instruction on COM API methods can be found online within the help file: http://help.globalscape.com/help/ +' + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +'Modify the below connection details to reflect your own environment. + txtServer = "192.168.102.28" + txtPort = "1100" + txtAdminUserName = "eftadmin" + txtAdminPassword = "a" + txtSiteName = "GS" + + ' This is the username that will be created + txtLogin = "TestUser15" + + ' This specifies the password of the user. + txtPassword = "Password_321!" + + ' This specifies the full name of the user (account details). + txtFullName = "Test User" + + ' This specifies the email of the user (account details). + txtEmail = "abaciu@iiroc.ca" + + ' This specifies whether or not a folder will be created for the user. If "true", a user home folder will be created with the Login name, example: /Usr/UserA. + 'If false, it will not create a folder for the user and it will instead inherit the folder from the template + txtCreateHomeFolder = "false" + + 'This specifies whether or not the user will have full permissions to the home folder. + txtFullPermissionsForHomeFolder = "true" + + +Dim theSite + +Call ConnectToServerEx() +Call FindSite() +Call RunCreateUserEX2() + +SFTPServer.Close +Set SFTPServer = nothing + +'========================================== +'This sub connects to the server with AD authentication +'========================================= +Sub ConnectToServerEx() + SFTPServer.ConnectEx txtServer, txtPort, 1, "", "" + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + +'========================================== +'This sub connects to the server +'========================================= +Sub ConnectToServer() + SFTPServer.Connect txtServer, txtPort, txtAdminUserName, txtAdminPassword + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + + +'========================================== +'This sub finds the specified site +'========================================= +Sub FindSite() + set Sites=SFTPServer.Sites + + For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + exit for + End if + Next + WScript.Echo "Connected to site: " & theSite.Name +End Sub + +'========================================== +'This sub Initializes the CINewUserData property, sets the variables and then creates a user account using the CreateUserEX2() method. +'========================================= +Sub RunCreateUserEX2() + + Set NewUserData = WScript.CreateObject("SFTPCOMInterface.CINewUserData") + + NewUserData.Login = txtLogin + NewUserData.FullName = txtfullName + NewUserData.Email = txtemail + NewUserData.Password = txtpassword + NewUserData.CreateHomeFolder = txtCreateHomeFolder + NewUserData.FullPermissionsForHomeFolder= txtFullPermissionsForHomeFolder + + WScript.Echo "" + WScript.Echo "Creating user with Login: " & NewUserData.Login + WScript.Echo "Creating user with Password: " & NewUserData.Password + WScript.Echo "Creating user with Full Name (account detail): " & NewUserData.FullName + WScript.Echo "Creating user with Email (account detail): " & NewUserData.Email + + ' The below lines will output whether or not a home folder will be created for the user + if (NewUserData.CreateHomeFolder = false) Then + WScript.Echo "The user will inherit the Default Settings Template Home folder" + else + WScript.Echo "A folder /" & NewUserData.Login & " will be created in the Settings Template Root Folder" + end if + + ' The below line will output whether or not the user will receive full permission to their home folder. + if (NewUserData.FullPermissionsForHomeFolder = false) Then + WScript.Echo "The user will not receive full permission to their home folder" + else + WScript.Echo "The user will receive full permission to their home folder" + end if + + theSite.CreateUserEX2(NewUserData) + +End Sub + diff --git a/vbs/FoldermonitorWIfStatement.vbs b/vbs/FoldermonitorWIfStatement.vbs new file mode 100644 index 0000000..7573f43 --- /dev/null +++ b/vbs/FoldermonitorWIfStatement.vbs @@ -0,0 +1,119 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +siteName = "GS" +set siteToRemove = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set siteToRemove = site + Exit For + End If +Next + +'EventType: +'OnTimer = 4097, +'OnLogRotate = 4098, +'OnServiceStopped = 4099, +'OnServiceStarted = 4100, +'MonitorFolder = 4101, +'OnMonitorFolderFailed = 4102, +'OnSiteStarted = 8193, +'OnSiteStopped = 8194, +'OnIPAddedToBanList = 8195, +'OnClientConnected = 12289, +'OnClientConnectionFailed = 12290, +'OnClientDisconnected = 12291, +'OnClientDisabled = 16385, +'OnClientQuotaExceeded = 16386, +'OnClientLoggedOut = 16387, +'OnClientLoggedIn = 16388, +'OnClientLoginFailed = 16389, +'OnClientPasswordChanged = 16390, +'OnClientCreated = 16391, +'OnClientLocked = 16392, +'OnFileDeleted = 20481, +'OnFileUpload = 20482, +'BeforeFileDownload = 20483, +'OnFileDownload = 20484, +'OnFileRenamed = 20485, +'OnFolderCreated = 20486, +'OnFolderDeleted = 20487, +'OnUploadFailed = 20489, +'OnDownloadFailed = 20490, +'OnChangeFolder = 20491, +'OnFileMoved = 20492, +'OnVerifiedUploadSuccess = 20493, +'OnVerifiedUploadFailure = 20494, +'OnVerifiedDownloadSuccess = 20495, +'OnVerifiedDownloadFailure = 20496, +'AS2InboundTransactionSucceeded = 24577, +'AS2InboundTransactionFailed = 24578, +'AS2OutboundTransactionSucceeded = 24579, +'AS2OutboundTransactionFailed = 24580, + +If Not siteToRemove Is Nothing Then + + Set rules = site.EventRules(4101) + + Set objParams = WScript.CreateObject("SFTPCOMInterface.CIFolderMonitorEventRuleParams") + + objParams.Name = "TestFolderMon13" + objParams.Enabled = true + objParams.Description = "This is a test event rule" + objParams.Path = "C:\wd\monitor" + +'Recurrence: +' Recurrence_Continually = 0, +' Recurrence_Daily = 1, +' Recurrence_Weekly = 2, +' Recurrence_Monthly = 3, +' Recurrence_Yearly = 4, +' Recurrence_Once = 5, +' Recurrence_Calendar = 6, + + + Set eventRule = rules.Add(rules.Count(), objParams) + + 'Add "If File name matches "*.txt" or "*.exe"" condition: + dim cond + set cond = eventRule.AddIfStatement(0, 5005, 16, Array("*.txt", "*.exe"), -1) + + Set mail = WScript.CreateObject("SFTPCOMInterface.CIMailActionParams") + mail.Body = "Test email" + mail.Subject = "Test" + mail.TOAddresses = "youremail@youdomain.com" + cond.ifSection.Add 0, mail + +End If + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/Generate_Complex.vbs b/vbs/Generate_Complex.vbs new file mode 100644 index 0000000..dc4b182 --- /dev/null +++ b/vbs/Generate_Complex.vbs @@ -0,0 +1,50 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = "test" +siteName = "GS" +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + +password = selectedSite.CreateComplexPassword() + +wscript.echo(password) + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/IPAccessExport.vbs b/vbs/IPAccessExport.vbs new file mode 100644 index 0000000..75f40ff --- /dev/null +++ b/vbs/IPAccessExport.vbs @@ -0,0 +1,60 @@ +Const ForAppending = 8, AutobanIPRule = 0, ManualIPRule = 1 +Const txtMyOutputFileName = "TESTOut.csv" 'Output file CSV File can be opened with MS Excel +Dim SFTPServer, CRLF, txtServer, txtPort, txtAdminUserName, txtPassword, SiteName, myFSO, WriteStuff, selectedSite, i, Key, Key2 + +Set SFTPServer = CreateObject("SFTPCOMInterface.CIServer") + +CRLF = Chr(13) & Chr(10) 'Use the built-in vbCrLf constant instead! + +'*************************************************** +'***Modify the following to match your EFT Server*** +'*************************************************** +txtServer = "192.168.102.28" 'input server ip or localhost +txtPort = "1100" 'input port used +txtAdminUserName = "insight" 'input server admin credentials - username +txtPassword = "a" 'input server admin credentials - password +SiteName = LCase("MySite") 'input sitename in the "" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then WScript.Quit 0 + +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, ForAppending, True) + +Set selectedSite = Nothing + +'Move through sites to find the one you're looking for +For i = 0 To SFTPServer.Sites.Count - 1 +With SFTPServer.Sites.Item(i) +If LCase(.Name) = SiteName Then +count = 1 +For Each Key In .GetIPAccessRules +Select Case Key.Type +Case ManualIPRule +WriteStuff.WriteLine Join(Array(Key.Address, Key.Allow, count) +End Select +Next +Else 'LCase(SFTPServer.Sites(i).Name) <> SiteName +'WriteStuff.WriteLine "Manual Added," & key1.Address & "," & key1.added & ",,,," +End If 'Why write "Manual Added, ..." to the .csv file here? +End With 'The Else branch is executed when the current site isn't +Next 'the one you're looking for, so why have an Else branch? + +WriteStuff.Close +Set WriteStuff = Nothing +Set myFSO = Nothing + +SFTPServer.Close +Set SFTPServer = Nothing + +MsgBox "Banned IPs can be found in the file """ & txtMyOutputFileName & """", vbInformation + +Function Connect(serverOrIpAddress, port, username, password) +On Error Resume Next +SFTPServer.Connect serverOrIpAddress, port, username, password +Connect = (Err.Number = 0) + +If Not Connect Then +MsgBox "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & _ +Err.Description & " [" & CStr(Err.Number) & "]", vbInformation, "Error" +End If +End Function diff --git a/vbs/IPAccess_Import.vbs b/vbs/IPAccess_Import.vbs new file mode 100644 index 0000000..80b3b32 --- /dev/null +++ b/vbs/IPAccess_Import.vbs @@ -0,0 +1,7850 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.39" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +'To create an entry use the line below +'Dim isAllowEntry : isAllowEntry = True + +siteName = "GS" +set selectedSite = Nothing +set Sites = SFTPServer.Sites +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next +'selectedSite.AddIPAccessRule "192.168.100.2", isAllowEntry, -1 +selectedSite.AddIPAccessRule "192.168.35.163", False, 1 +selectedSite.AddIPAccessRule "192.168.35.162", False, 2 +selectedSite.AddIPAccessRule "192.168.35.161", False, 3 +selectedSite.AddIPAccessRule "192.168.35.160", False, 4 +selectedSite.AddIPAccessRule "192.168.35.159", False, 5 +selectedSite.AddIPAccessRule "192.168.35.157", False, 6 +selectedSite.AddIPAccessRule "192.168.35.156", False, 7 +selectedSite.AddIPAccessRule "192.168.35.155", False, 8 +selectedSite.AddIPAccessRule "192.168.35.154", False, 9 +selectedSite.AddIPAccessRule "192.168.35.153", False, 10 +selectedSite.AddIPAccessRule "192.168.35.152", False, 11 +selectedSite.AddIPAccessRule "192.168.35.151", False, 12 +selectedSite.AddIPAccessRule "192.168.35.150", False, 13 +selectedSite.AddIPAccessRule "192.168.35.149", False, 14 +selectedSite.AddIPAccessRule "192.168.35.148", False, 15 +selectedSite.AddIPAccessRule "192.168.35.147", False, 16 +selectedSite.AddIPAccessRule "192.168.35.146", False, 17 +selectedSite.AddIPAccessRule "192.168.102.39", True, 18 +selectedSite.AddIPAccessRule "192.168.35.145", False, 19 +selectedSite.AddIPAccessRule "192.168.35.144", False, 20 +selectedSite.AddIPAccessRule "192.168.35.143", False, 21 +selectedSite.AddIPAccessRule "192.168.35.142", False, 22 +selectedSite.AddIPAccessRule "192.168.35.141", False, 23 +selectedSite.AddIPAccessRule "192.168.35.140", False, 24 +selectedSite.AddIPAccessRule "192.168.35.139", False, 25 +selectedSite.AddIPAccessRule "192.168.35.138", False, 26 +selectedSite.AddIPAccessRule "192.168.35.137", False, 27 +selectedSite.AddIPAccessRule "192.168.35.136", False, 28 +selectedSite.AddIPAccessRule "192.168.35.135", False, 29 +selectedSite.AddIPAccessRule "192.168.35.134", False, 30 +selectedSite.AddIPAccessRule "192.168.35.133", False, 31 +selectedSite.AddIPAccessRule "192.168.35.132", False, 32 +selectedSite.AddIPAccessRule "192.168.35.131", False, 33 +selectedSite.AddIPAccessRule "192.168.35.130", False, 34 +selectedSite.AddIPAccessRule "192.168.35.129", False, 35 +selectedSite.AddIPAccessRule "192.168.35.128", False, 36 +selectedSite.AddIPAccessRule "192.168.35.127", False, 37 +selectedSite.AddIPAccessRule "192.168.35.126", False, 38 +selectedSite.AddIPAccessRule "192.168.35.125", False, 39 +selectedSite.AddIPAccessRule "192.168.35.124", False, 40 +selectedSite.AddIPAccessRule "192.168.35.123", False, 41 +selectedSite.AddIPAccessRule "192.168.35.122", False, 42 +selectedSite.AddIPAccessRule "192.168.35.121", False, 43 +selectedSite.AddIPAccessRule "192.168.35.120", False, 44 +selectedSite.AddIPAccessRule "192.168.35.119", False, 45 +selectedSite.AddIPAccessRule "192.168.35.118", False, 46 +selectedSite.AddIPAccessRule "192.168.35.117", False, 47 +selectedSite.AddIPAccessRule "192.168.35.116", False, 48 +selectedSite.AddIPAccessRule "192.168.35.115", False, 49 +selectedSite.AddIPAccessRule "192.168.35.114", False, 50 +selectedSite.AddIPAccessRule "192.168.35.113", False, 51 +selectedSite.AddIPAccessRule "192.168.35.112", False, 52 +selectedSite.AddIPAccessRule "192.168.35.111", False, 53 +selectedSite.AddIPAccessRule "192.168.35.110", False, 54 +selectedSite.AddIPAccessRule "192.168.35.109", False, 55 +selectedSite.AddIPAccessRule "192.168.35.108", False, 56 +selectedSite.AddIPAccessRule "192.168.35.107", False, 57 +selectedSite.AddIPAccessRule "192.168.35.106", False, 58 +selectedSite.AddIPAccessRule "192.168.35.105", False, 59 +selectedSite.AddIPAccessRule "192.168.35.104", False, 60 +selectedSite.AddIPAccessRule "192.168.35.103", False, 61 +selectedSite.AddIPAccessRule "192.168.35.102", False, 62 +selectedSite.AddIPAccessRule "192.168.35.101", False, 63 +selectedSite.AddIPAccessRule "192.168.35.100", False, 64 +selectedSite.AddIPAccessRule "192.168.35.99", False, 65 +selectedSite.AddIPAccessRule "192.168.35.98", False, 66 +selectedSite.AddIPAccessRule "192.168.35.97", False, 67 +selectedSite.AddIPAccessRule "192.168.35.96", False, 68 +selectedSite.AddIPAccessRule "192.168.35.95", False, 69 +selectedSite.AddIPAccessRule "192.168.35.94", False, 70 +selectedSite.AddIPAccessRule "192.168.35.93", False, 71 +selectedSite.AddIPAccessRule "192.168.35.92", False, 72 +selectedSite.AddIPAccessRule "192.168.35.91", False, 73 +selectedSite.AddIPAccessRule "192.168.35.90", False, 74 +selectedSite.AddIPAccessRule "192.168.35.89", False, 75 +selectedSite.AddIPAccessRule "192.168.35.88", False, 76 +selectedSite.AddIPAccessRule "192.168.35.87", False, 77 +selectedSite.AddIPAccessRule "192.168.35.86", False, 78 +selectedSite.AddIPAccessRule "192.168.35.85", False, 79 +selectedSite.AddIPAccessRule "192.168.35.84", False, 80 +selectedSite.AddIPAccessRule "192.168.35.83", False, 81 +selectedSite.AddIPAccessRule "192.168.35.82", False, 82 +selectedSite.AddIPAccessRule "192.168.35.81", False, 83 +selectedSite.AddIPAccessRule "192.168.35.80", False, 84 +selectedSite.AddIPAccessRule "192.168.35.79", False, 85 +selectedSite.AddIPAccessRule "192.168.35.78", False, 86 +selectedSite.AddIPAccessRule "192.168.35.77", False, 87 +selectedSite.AddIPAccessRule "192.168.35.76", False, 88 +selectedSite.AddIPAccessRule "192.168.35.75", False, 89 +selectedSite.AddIPAccessRule "192.168.35.74", False, 90 +selectedSite.AddIPAccessRule "192.168.35.73", False, 91 +selectedSite.AddIPAccessRule "192.168.35.72", False, 92 +selectedSite.AddIPAccessRule "192.168.35.71", False, 93 +selectedSite.AddIPAccessRule "192.168.35.70", False, 94 +selectedSite.AddIPAccessRule "192.168.35.69", False, 95 +selectedSite.AddIPAccessRule "192.168.35.68", False, 96 +selectedSite.AddIPAccessRule "192.168.35.67", False, 97 +selectedSite.AddIPAccessRule "192.168.35.66", False, 98 +selectedSite.AddIPAccessRule "192.168.35.65", False, 99 +selectedSite.AddIPAccessRule "192.168.35.64", False, 100 +selectedSite.AddIPAccessRule "192.168.35.63", False, 101 +selectedSite.AddIPAccessRule "192.168.35.62", False, 102 +selectedSite.AddIPAccessRule "192.168.35.61", False, 103 +selectedSite.AddIPAccessRule "192.168.35.60", False, 104 +selectedSite.AddIPAccessRule "192.168.35.59", False, 105 +selectedSite.AddIPAccessRule "192.168.35.58", False, 106 +selectedSite.AddIPAccessRule "192.168.35.57", False, 107 +selectedSite.AddIPAccessRule "192.168.35.56", False, 108 +selectedSite.AddIPAccessRule "192.168.35.55", False, 109 +selectedSite.AddIPAccessRule "192.168.35.54", False, 110 +selectedSite.AddIPAccessRule "192.168.35.53", False, 111 +selectedSite.AddIPAccessRule "192.168.35.52", False, 112 +selectedSite.AddIPAccessRule "192.168.35.51", False, 113 +selectedSite.AddIPAccessRule "192.168.35.50", False, 114 +selectedSite.AddIPAccessRule "192.168.35.49", False, 115 +selectedSite.AddIPAccessRule "192.168.35.48", False, 116 +selectedSite.AddIPAccessRule "192.168.35.47", False, 117 +selectedSite.AddIPAccessRule "192.168.35.46", False, 118 +selectedSite.AddIPAccessRule "192.168.35.45", False, 119 +selectedSite.AddIPAccessRule "192.168.35.44", False, 120 +selectedSite.AddIPAccessRule "192.168.35.43", False, 121 +selectedSite.AddIPAccessRule "192.168.35.42", False, 122 +selectedSite.AddIPAccessRule "192.168.35.41", False, 123 +selectedSite.AddIPAccessRule "192.168.35.40", False, 124 +selectedSite.AddIPAccessRule "192.168.35.39", False, 125 +selectedSite.AddIPAccessRule "192.168.35.38", False, 126 +selectedSite.AddIPAccessRule "192.168.35.37", False, 127 +selectedSite.AddIPAccessRule "192.168.35.36", False, 128 +selectedSite.AddIPAccessRule "192.168.35.35", False, 129 +selectedSite.AddIPAccessRule "192.168.35.34", False, 130 +selectedSite.AddIPAccessRule "192.168.35.33", False, 131 +selectedSite.AddIPAccessRule "192.168.35.32", False, 132 +selectedSite.AddIPAccessRule "192.168.35.31", False, 133 +selectedSite.AddIPAccessRule "192.168.35.30", False, 134 +selectedSite.AddIPAccessRule "192.168.35.29", False, 135 +selectedSite.AddIPAccessRule "192.168.35.28", False, 136 +selectedSite.AddIPAccessRule "192.168.35.27", False, 137 +selectedSite.AddIPAccessRule "192.168.35.26", False, 138 +selectedSite.AddIPAccessRule "192.168.35.25", False, 139 +selectedSite.AddIPAccessRule "192.168.35.24", False, 140 +selectedSite.AddIPAccessRule "192.168.35.23", False, 141 +selectedSite.AddIPAccessRule "192.168.35.22", False, 142 +selectedSite.AddIPAccessRule "192.168.35.21", False, 143 +selectedSite.AddIPAccessRule "192.168.35.20", False, 144 +selectedSite.AddIPAccessRule "192.168.35.19", False, 145 +selectedSite.AddIPAccessRule "192.168.35.18", False, 146 +selectedSite.AddIPAccessRule "192.168.35.17", False, 147 +selectedSite.AddIPAccessRule "192.168.35.16", False, 148 +selectedSite.AddIPAccessRule "192.168.35.15", False, 149 +selectedSite.AddIPAccessRule "192.168.35.14", False, 150 +selectedSite.AddIPAccessRule "192.168.35.13", False, 151 +selectedSite.AddIPAccessRule "192.168.35.12", False, 152 +selectedSite.AddIPAccessRule "192.168.35.11", False, 153 +selectedSite.AddIPAccessRule "192.168.35.10", False, 154 +selectedSite.AddIPAccessRule "192.168.35.9", False, 155 +selectedSite.AddIPAccessRule "192.168.35.8", False, 156 +selectedSite.AddIPAccessRule "192.168.35.7", False, 157 +selectedSite.AddIPAccessRule "192.168.35.6", False, 158 +selectedSite.AddIPAccessRule "192.168.35.5", False, 159 +selectedSite.AddIPAccessRule "192.168.35.4", False, 160 +selectedSite.AddIPAccessRule "192.168.35.3", False, 161 +selectedSite.AddIPAccessRule "192.168.35.2", False, 162 +selectedSite.AddIPAccessRule "192.168.35.1", False, 163 +selectedSite.AddIPAccessRule "192.168.34.255", False, 164 +selectedSite.AddIPAccessRule "192.168.34.254", False, 165 +selectedSite.AddIPAccessRule "192.168.34.253", False, 166 +selectedSite.AddIPAccessRule "192.168.34.252", False, 167 +selectedSite.AddIPAccessRule "192.168.34.251", False, 168 +selectedSite.AddIPAccessRule "192.168.34.250", False, 169 +selectedSite.AddIPAccessRule "192.168.34.249", False, 170 +selectedSite.AddIPAccessRule "192.168.34.248", False, 171 +selectedSite.AddIPAccessRule "192.168.34.247", False, 172 +selectedSite.AddIPAccessRule "192.168.34.246", False, 173 +selectedSite.AddIPAccessRule "192.168.34.245", False, 174 +selectedSite.AddIPAccessRule "192.168.34.244", False, 175 +selectedSite.AddIPAccessRule "192.168.34.243", False, 176 +selectedSite.AddIPAccessRule "192.168.34.242", False, 177 +selectedSite.AddIPAccessRule "192.168.34.241", False, 178 +selectedSite.AddIPAccessRule "192.168.34.240", False, 179 +selectedSite.AddIPAccessRule "192.168.34.239", False, 180 +selectedSite.AddIPAccessRule "192.168.34.238", False, 181 +selectedSite.AddIPAccessRule "192.168.34.237", False, 182 +selectedSite.AddIPAccessRule "192.168.34.236", False, 183 +selectedSite.AddIPAccessRule "192.168.34.235", False, 184 +selectedSite.AddIPAccessRule "192.168.34.234", False, 185 +selectedSite.AddIPAccessRule "192.168.34.233", False, 186 +selectedSite.AddIPAccessRule "192.168.34.232", False, 187 +selectedSite.AddIPAccessRule "192.168.34.231", False, 188 +selectedSite.AddIPAccessRule "192.168.34.230", False, 189 +selectedSite.AddIPAccessRule "192.168.34.229", False, 190 +selectedSite.AddIPAccessRule "192.168.34.228", False, 191 +selectedSite.AddIPAccessRule "192.168.34.227", False, 192 +selectedSite.AddIPAccessRule "192.168.34.226", False, 193 +selectedSite.AddIPAccessRule "192.168.34.225", False, 194 +selectedSite.AddIPAccessRule "192.168.34.224", False, 195 +selectedSite.AddIPAccessRule "192.168.34.223", False, 196 +selectedSite.AddIPAccessRule "192.168.34.222", False, 197 +selectedSite.AddIPAccessRule "192.168.34.221", False, 198 +selectedSite.AddIPAccessRule "192.168.34.220", False, 199 +selectedSite.AddIPAccessRule "192.168.34.219", False, 200 +selectedSite.AddIPAccessRule "192.168.34.218", False, 201 +selectedSite.AddIPAccessRule "192.168.34.217", False, 202 +selectedSite.AddIPAccessRule "192.168.34.216", False, 203 +selectedSite.AddIPAccessRule "192.168.34.215", False, 204 +selectedSite.AddIPAccessRule "192.168.34.214", False, 205 +selectedSite.AddIPAccessRule "192.168.34.213", False, 206 +selectedSite.AddIPAccessRule "192.168.34.212", False, 207 +selectedSite.AddIPAccessRule "192.168.34.211", False, 208 +selectedSite.AddIPAccessRule "192.168.34.210", False, 209 +selectedSite.AddIPAccessRule "192.168.34.209", False, 210 +selectedSite.AddIPAccessRule "192.168.34.208", False, 211 +selectedSite.AddIPAccessRule "192.168.34.207", False, 212 +selectedSite.AddIPAccessRule "192.168.34.206", False, 213 +selectedSite.AddIPAccessRule "192.168.34.205", False, 214 +selectedSite.AddIPAccessRule "192.168.34.204", False, 215 +selectedSite.AddIPAccessRule "192.168.34.203", False, 216 +selectedSite.AddIPAccessRule "192.168.34.202", False, 217 +selectedSite.AddIPAccessRule "192.168.34.201", False, 218 +selectedSite.AddIPAccessRule "192.168.34.200", False, 219 +selectedSite.AddIPAccessRule "192.168.34.199", False, 220 +selectedSite.AddIPAccessRule "192.168.34.198", False, 221 +selectedSite.AddIPAccessRule "192.168.34.197", False, 222 +selectedSite.AddIPAccessRule "192.168.34.196", False, 223 +selectedSite.AddIPAccessRule "192.168.34.195", False, 224 +selectedSite.AddIPAccessRule "192.168.34.194", False, 225 +selectedSite.AddIPAccessRule "192.168.34.193", False, 226 +selectedSite.AddIPAccessRule "192.168.34.192", False, 227 +selectedSite.AddIPAccessRule "192.168.34.191", False, 228 +selectedSite.AddIPAccessRule "192.168.34.190", False, 229 +selectedSite.AddIPAccessRule "192.168.34.189", False, 230 +selectedSite.AddIPAccessRule "192.168.34.188", False, 231 +selectedSite.AddIPAccessRule "192.168.34.187", False, 232 +selectedSite.AddIPAccessRule "192.168.34.186", False, 233 +selectedSite.AddIPAccessRule "192.168.34.185", False, 234 +selectedSite.AddIPAccessRule "192.168.34.184", False, 235 +selectedSite.AddIPAccessRule "192.168.34.183", False, 236 +selectedSite.AddIPAccessRule "192.168.34.182", False, 237 +selectedSite.AddIPAccessRule "192.168.34.181", False, 238 +selectedSite.AddIPAccessRule "192.168.34.180", False, 239 +selectedSite.AddIPAccessRule "192.168.34.179", False, 240 +selectedSite.AddIPAccessRule "192.168.34.178", False, 241 +selectedSite.AddIPAccessRule "192.168.34.177", False, 242 +selectedSite.AddIPAccessRule "192.168.34.176", False, 243 +selectedSite.AddIPAccessRule "192.168.34.175", False, 244 +selectedSite.AddIPAccessRule "192.168.34.174", False, 245 +selectedSite.AddIPAccessRule "192.168.34.173", False, 246 +selectedSite.AddIPAccessRule "192.168.34.172", False, 247 +selectedSite.AddIPAccessRule "192.168.34.171", False, 248 +selectedSite.AddIPAccessRule "192.168.34.170", False, 249 +selectedSite.AddIPAccessRule "192.168.34.169", False, 250 +selectedSite.AddIPAccessRule "192.168.34.168", False, 251 +selectedSite.AddIPAccessRule "192.168.34.167", False, 252 +selectedSite.AddIPAccessRule "192.168.34.166", False, 253 +selectedSite.AddIPAccessRule "192.168.34.165", False, 254 +selectedSite.AddIPAccessRule "192.168.34.164", False, 255 +selectedSite.AddIPAccessRule "192.168.34.163", False, 256 +selectedSite.AddIPAccessRule "192.168.34.162", False, 257 +selectedSite.AddIPAccessRule "192.168.34.161", False, 258 +selectedSite.AddIPAccessRule "192.168.34.160", False, 259 +selectedSite.AddIPAccessRule "192.168.34.159", False, 260 +selectedSite.AddIPAccessRule "192.168.34.158", False, 261 +selectedSite.AddIPAccessRule "192.168.34.157", False, 262 +selectedSite.AddIPAccessRule "192.168.34.156", False, 263 +selectedSite.AddIPAccessRule "192.168.34.155", False, 264 +selectedSite.AddIPAccessRule "192.168.34.154", False, 265 +selectedSite.AddIPAccessRule "192.168.34.153", False, 266 +selectedSite.AddIPAccessRule "192.168.34.152", False, 267 +selectedSite.AddIPAccessRule "192.168.34.151", False, 268 +selectedSite.AddIPAccessRule "192.168.34.150", False, 269 +selectedSite.AddIPAccessRule "192.168.34.149", False, 270 +selectedSite.AddIPAccessRule "192.168.34.148", False, 271 +selectedSite.AddIPAccessRule "192.168.34.147", False, 272 +selectedSite.AddIPAccessRule "192.168.34.146", False, 273 +selectedSite.AddIPAccessRule "192.168.34.145", False, 274 +selectedSite.AddIPAccessRule "192.168.34.144", False, 275 +selectedSite.AddIPAccessRule "192.168.34.143", False, 276 +selectedSite.AddIPAccessRule "192.168.34.142", False, 277 +selectedSite.AddIPAccessRule "192.168.34.141", False, 278 +selectedSite.AddIPAccessRule "192.168.34.140", False, 279 +selectedSite.AddIPAccessRule "192.168.34.139", False, 280 +selectedSite.AddIPAccessRule "192.168.34.138", False, 281 +selectedSite.AddIPAccessRule "192.168.34.137", False, 282 +selectedSite.AddIPAccessRule "192.168.34.136", False, 283 +selectedSite.AddIPAccessRule "192.168.34.135", False, 284 +selectedSite.AddIPAccessRule "192.168.34.134", False, 285 +selectedSite.AddIPAccessRule "192.168.34.133", False, 286 +selectedSite.AddIPAccessRule "192.168.34.132", False, 287 +selectedSite.AddIPAccessRule "192.168.34.131", False, 288 +selectedSite.AddIPAccessRule "192.168.34.130", False, 289 +selectedSite.AddIPAccessRule "192.168.34.129", False, 290 +selectedSite.AddIPAccessRule "192.168.34.128", False, 291 +selectedSite.AddIPAccessRule "192.168.34.127", False, 292 +selectedSite.AddIPAccessRule "192.168.34.126", False, 293 +selectedSite.AddIPAccessRule "192.168.34.125", False, 294 +selectedSite.AddIPAccessRule "192.168.34.124", False, 295 +selectedSite.AddIPAccessRule "192.168.34.123", False, 296 +selectedSite.AddIPAccessRule "192.168.34.122", False, 297 +selectedSite.AddIPAccessRule "192.168.34.121", False, 298 +selectedSite.AddIPAccessRule "192.168.34.120", False, 299 +selectedSite.AddIPAccessRule "192.168.34.119", False, 300 +selectedSite.AddIPAccessRule "192.168.34.118", False, 301 +selectedSite.AddIPAccessRule "192.168.34.117", False, 302 +selectedSite.AddIPAccessRule "192.168.34.116", False, 303 +selectedSite.AddIPAccessRule "192.168.34.115", False, 304 +selectedSite.AddIPAccessRule "192.168.34.114", False, 305 +selectedSite.AddIPAccessRule "192.168.34.113", False, 306 +selectedSite.AddIPAccessRule "192.168.34.112", False, 307 +selectedSite.AddIPAccessRule "192.168.34.111", False, 308 +selectedSite.AddIPAccessRule "192.168.34.110", False, 309 +selectedSite.AddIPAccessRule "192.168.34.109", False, 310 +selectedSite.AddIPAccessRule "192.168.34.108", False, 311 +selectedSite.AddIPAccessRule "192.168.34.107", False, 312 +selectedSite.AddIPAccessRule "192.168.34.106", False, 313 +selectedSite.AddIPAccessRule "192.168.34.105", False, 314 +selectedSite.AddIPAccessRule "192.168.34.104", False, 315 +selectedSite.AddIPAccessRule "192.168.34.103", False, 316 +selectedSite.AddIPAccessRule "192.168.34.102", False, 317 +selectedSite.AddIPAccessRule "192.168.34.101", False, 318 +selectedSite.AddIPAccessRule "192.168.34.100", False, 319 +selectedSite.AddIPAccessRule "192.168.34.99", False, 320 +selectedSite.AddIPAccessRule "192.168.34.98", False, 321 +selectedSite.AddIPAccessRule "192.168.34.97", False, 322 +selectedSite.AddIPAccessRule "192.168.34.96", False, 323 +selectedSite.AddIPAccessRule "192.168.34.95", False, 324 +selectedSite.AddIPAccessRule "192.168.34.94", False, 325 +selectedSite.AddIPAccessRule "192.168.34.93", False, 326 +selectedSite.AddIPAccessRule "192.168.34.92", False, 327 +selectedSite.AddIPAccessRule "192.168.34.91", False, 328 +selectedSite.AddIPAccessRule "192.168.34.90", False, 329 +selectedSite.AddIPAccessRule "192.168.34.89", False, 330 +selectedSite.AddIPAccessRule "192.168.34.88", False, 331 +selectedSite.AddIPAccessRule "192.168.34.87", False, 332 +selectedSite.AddIPAccessRule "192.168.34.86", False, 333 +selectedSite.AddIPAccessRule "192.168.34.85", False, 334 +selectedSite.AddIPAccessRule "192.168.34.84", False, 335 +selectedSite.AddIPAccessRule "192.168.34.83", False, 336 +selectedSite.AddIPAccessRule "192.168.34.82", False, 337 +selectedSite.AddIPAccessRule "192.168.34.81", False, 338 +selectedSite.AddIPAccessRule "192.168.34.80", False, 339 +selectedSite.AddIPAccessRule "192.168.34.79", False, 340 +selectedSite.AddIPAccessRule "192.168.34.78", False, 341 +selectedSite.AddIPAccessRule "192.168.34.77", False, 342 +selectedSite.AddIPAccessRule "192.168.34.76", False, 343 +selectedSite.AddIPAccessRule "192.168.34.75", False, 344 +selectedSite.AddIPAccessRule "192.168.34.74", False, 345 +selectedSite.AddIPAccessRule "192.168.34.73", False, 346 +selectedSite.AddIPAccessRule "192.168.34.72", False, 347 +selectedSite.AddIPAccessRule "192.168.34.71", False, 348 +selectedSite.AddIPAccessRule "192.168.34.70", False, 349 +selectedSite.AddIPAccessRule "192.168.34.69", False, 350 +selectedSite.AddIPAccessRule "192.168.34.68", False, 351 +selectedSite.AddIPAccessRule "192.168.34.67", False, 352 +selectedSite.AddIPAccessRule "192.168.34.66", False, 353 +selectedSite.AddIPAccessRule "192.168.34.65", False, 354 +selectedSite.AddIPAccessRule "192.168.34.64", False, 355 +selectedSite.AddIPAccessRule "192.168.34.63", False, 356 +selectedSite.AddIPAccessRule "192.168.34.62", False, 357 +selectedSite.AddIPAccessRule "192.168.34.61", False, 358 +selectedSite.AddIPAccessRule "192.168.34.60", False, 359 +selectedSite.AddIPAccessRule "192.168.34.59", False, 360 +selectedSite.AddIPAccessRule "192.168.34.58", False, 361 +selectedSite.AddIPAccessRule "192.168.34.57", False, 362 +selectedSite.AddIPAccessRule "192.168.34.56", False, 363 +selectedSite.AddIPAccessRule "192.168.34.55", False, 364 +selectedSite.AddIPAccessRule "192.168.34.54", False, 365 +selectedSite.AddIPAccessRule "192.168.34.53", False, 366 +selectedSite.AddIPAccessRule "192.168.34.52", False, 367 +selectedSite.AddIPAccessRule "192.168.34.51", False, 368 +selectedSite.AddIPAccessRule "192.168.34.50", False, 369 +selectedSite.AddIPAccessRule "192.168.34.49", False, 370 +selectedSite.AddIPAccessRule "192.168.34.48", False, 371 +selectedSite.AddIPAccessRule "192.168.34.47", False, 372 +selectedSite.AddIPAccessRule "192.168.34.46", False, 373 +selectedSite.AddIPAccessRule "192.168.34.45", False, 374 +selectedSite.AddIPAccessRule "192.168.34.44", False, 375 +selectedSite.AddIPAccessRule "192.168.34.43", False, 376 +selectedSite.AddIPAccessRule "192.168.34.42", False, 377 +selectedSite.AddIPAccessRule "192.168.34.41", False, 378 +selectedSite.AddIPAccessRule "192.168.34.40", False, 379 +selectedSite.AddIPAccessRule "192.168.34.39", False, 380 +selectedSite.AddIPAccessRule "192.168.34.38", False, 381 +selectedSite.AddIPAccessRule "192.168.34.37", False, 382 +selectedSite.AddIPAccessRule "192.168.34.36", False, 383 +selectedSite.AddIPAccessRule "192.168.34.35", False, 384 +selectedSite.AddIPAccessRule "192.168.34.34", False, 385 +selectedSite.AddIPAccessRule "192.168.34.33", False, 386 +selectedSite.AddIPAccessRule "192.168.34.32", False, 387 +selectedSite.AddIPAccessRule "192.168.34.31", False, 388 +selectedSite.AddIPAccessRule "192.168.34.30", False, 389 +selectedSite.AddIPAccessRule "192.168.34.29", False, 390 +selectedSite.AddIPAccessRule "192.168.34.28", False, 391 +selectedSite.AddIPAccessRule "192.168.34.27", False, 392 +selectedSite.AddIPAccessRule "192.168.34.26", False, 393 +selectedSite.AddIPAccessRule "192.168.34.25", False, 394 +selectedSite.AddIPAccessRule "192.168.34.24", False, 395 +selectedSite.AddIPAccessRule "192.168.34.23", False, 396 +selectedSite.AddIPAccessRule "192.168.34.22", False, 397 +selectedSite.AddIPAccessRule "192.168.34.21", False, 398 +selectedSite.AddIPAccessRule "192.168.34.20", False, 399 +selectedSite.AddIPAccessRule "192.168.34.19", False, 400 +selectedSite.AddIPAccessRule "192.168.34.18", False, 401 +selectedSite.AddIPAccessRule "192.168.34.17", False, 402 +selectedSite.AddIPAccessRule "192.168.34.16", False, 403 +selectedSite.AddIPAccessRule "192.168.34.15", False, 404 +selectedSite.AddIPAccessRule "192.168.34.14", False, 405 +selectedSite.AddIPAccessRule "192.168.34.13", False, 406 +selectedSite.AddIPAccessRule "192.168.34.12", False, 407 +selectedSite.AddIPAccessRule "192.168.34.11", False, 408 +selectedSite.AddIPAccessRule "192.168.34.10", False, 409 +selectedSite.AddIPAccessRule "192.168.34.9", False, 410 +selectedSite.AddIPAccessRule "192.168.34.8", False, 411 +selectedSite.AddIPAccessRule "192.168.34.7", False, 412 +selectedSite.AddIPAccessRule "192.168.34.6", False, 413 +selectedSite.AddIPAccessRule "192.168.34.5", False, 414 +selectedSite.AddIPAccessRule "192.168.34.4", False, 415 +selectedSite.AddIPAccessRule "192.168.34.3", False, 416 +selectedSite.AddIPAccessRule "192.168.34.2", False, 417 +selectedSite.AddIPAccessRule "192.168.34.1", False, 418 +selectedSite.AddIPAccessRule "192.168.33.255", False, 419 +selectedSite.AddIPAccessRule "192.168.33.254", False, 420 +selectedSite.AddIPAccessRule "192.168.33.253", False, 421 +selectedSite.AddIPAccessRule "192.168.33.252", False, 422 +selectedSite.AddIPAccessRule "192.168.33.251", False, 423 +selectedSite.AddIPAccessRule "192.168.33.250", False, 424 +selectedSite.AddIPAccessRule "192.168.33.249", False, 425 +selectedSite.AddIPAccessRule "192.168.33.248", False, 426 +selectedSite.AddIPAccessRule "192.168.33.247", False, 427 +selectedSite.AddIPAccessRule "192.168.33.246", False, 428 +selectedSite.AddIPAccessRule "192.168.33.245", False, 429 +selectedSite.AddIPAccessRule "192.168.33.244", False, 430 +selectedSite.AddIPAccessRule "192.168.33.243", False, 431 +selectedSite.AddIPAccessRule "192.168.33.242", False, 432 +selectedSite.AddIPAccessRule "192.168.33.241", False, 433 +selectedSite.AddIPAccessRule "192.168.33.240", False, 434 +selectedSite.AddIPAccessRule "192.168.33.239", False, 435 +selectedSite.AddIPAccessRule "192.168.33.238", False, 436 +selectedSite.AddIPAccessRule "192.168.33.237", False, 437 +selectedSite.AddIPAccessRule "192.168.33.236", False, 438 +selectedSite.AddIPAccessRule "192.168.33.235", False, 439 +selectedSite.AddIPAccessRule "192.168.33.234", False, 440 +selectedSite.AddIPAccessRule "192.168.33.233", False, 441 +selectedSite.AddIPAccessRule "192.168.33.232", False, 442 +selectedSite.AddIPAccessRule "192.168.33.231", False, 443 +selectedSite.AddIPAccessRule "192.168.33.230", False, 444 +selectedSite.AddIPAccessRule "192.168.33.229", False, 445 +selectedSite.AddIPAccessRule "192.168.33.228", False, 446 +selectedSite.AddIPAccessRule "192.168.33.227", False, 447 +selectedSite.AddIPAccessRule "192.168.33.226", False, 448 +selectedSite.AddIPAccessRule "192.168.33.225", False, 449 +selectedSite.AddIPAccessRule "192.168.33.224", False, 450 +selectedSite.AddIPAccessRule "192.168.33.223", False, 451 +selectedSite.AddIPAccessRule "192.168.33.222", False, 452 +selectedSite.AddIPAccessRule "192.168.33.221", False, 453 +selectedSite.AddIPAccessRule "192.168.33.220", False, 454 +selectedSite.AddIPAccessRule "192.168.33.219", False, 455 +selectedSite.AddIPAccessRule "192.168.33.218", False, 456 +selectedSite.AddIPAccessRule "192.168.33.217", False, 457 +selectedSite.AddIPAccessRule "192.168.33.216", False, 458 +selectedSite.AddIPAccessRule "192.168.33.215", False, 459 +selectedSite.AddIPAccessRule "192.168.33.214", False, 460 +selectedSite.AddIPAccessRule "192.168.33.213", False, 461 +selectedSite.AddIPAccessRule "192.168.33.212", False, 462 +selectedSite.AddIPAccessRule "192.168.33.211", False, 463 +selectedSite.AddIPAccessRule "192.168.33.210", False, 464 +selectedSite.AddIPAccessRule "192.168.33.209", False, 465 +selectedSite.AddIPAccessRule "192.168.33.208", False, 466 +selectedSite.AddIPAccessRule "192.168.33.207", False, 467 +selectedSite.AddIPAccessRule "192.168.33.206", False, 468 +selectedSite.AddIPAccessRule "192.168.33.205", False, 469 +selectedSite.AddIPAccessRule "192.168.33.204", False, 470 +selectedSite.AddIPAccessRule "192.168.33.203", False, 471 +selectedSite.AddIPAccessRule "192.168.33.202", False, 472 +selectedSite.AddIPAccessRule "192.168.33.201", False, 473 +selectedSite.AddIPAccessRule "192.168.33.200", False, 474 +selectedSite.AddIPAccessRule "192.168.33.199", False, 475 +selectedSite.AddIPAccessRule "192.168.33.198", False, 476 +selectedSite.AddIPAccessRule "192.168.33.197", False, 477 +selectedSite.AddIPAccessRule "192.168.33.196", False, 478 +selectedSite.AddIPAccessRule "192.168.33.195", False, 479 +selectedSite.AddIPAccessRule "192.168.33.194", False, 480 +selectedSite.AddIPAccessRule "192.168.33.193", False, 481 +selectedSite.AddIPAccessRule "192.168.33.192", False, 482 +selectedSite.AddIPAccessRule "192.168.33.191", False, 483 +selectedSite.AddIPAccessRule "192.168.33.190", False, 484 +selectedSite.AddIPAccessRule "192.168.33.189", False, 485 +selectedSite.AddIPAccessRule "192.168.33.188", False, 486 +selectedSite.AddIPAccessRule "192.168.33.187", False, 487 +selectedSite.AddIPAccessRule "192.168.33.186", False, 488 +selectedSite.AddIPAccessRule "192.168.33.185", False, 489 +selectedSite.AddIPAccessRule "192.168.33.184", False, 490 +selectedSite.AddIPAccessRule "192.168.33.183", False, 491 +selectedSite.AddIPAccessRule "192.168.33.182", False, 492 +selectedSite.AddIPAccessRule "192.168.33.181", False, 493 +selectedSite.AddIPAccessRule "192.168.33.180", False, 494 +selectedSite.AddIPAccessRule "192.168.33.179", False, 495 +selectedSite.AddIPAccessRule "192.168.33.178", False, 496 +selectedSite.AddIPAccessRule "192.168.33.177", False, 497 +selectedSite.AddIPAccessRule "192.168.33.176", False, 498 +selectedSite.AddIPAccessRule "192.168.33.175", False, 499 +selectedSite.AddIPAccessRule "192.168.33.174", False, 500 +selectedSite.AddIPAccessRule "192.168.33.173", False, 501 +selectedSite.AddIPAccessRule "192.168.33.172", False, 502 +selectedSite.AddIPAccessRule "192.168.33.171", False, 503 +selectedSite.AddIPAccessRule "192.168.33.170", False, 504 +selectedSite.AddIPAccessRule "192.168.33.169", False, 505 +selectedSite.AddIPAccessRule "192.168.33.168", False, 506 +selectedSite.AddIPAccessRule "192.168.33.167", False, 507 +selectedSite.AddIPAccessRule "192.168.33.166", False, 508 +selectedSite.AddIPAccessRule "192.168.33.165", False, 509 +selectedSite.AddIPAccessRule "192.168.33.164", False, 510 +selectedSite.AddIPAccessRule "192.168.33.163", False, 511 +selectedSite.AddIPAccessRule "192.168.33.162", False, 512 +selectedSite.AddIPAccessRule "192.168.33.161", False, 513 +selectedSite.AddIPAccessRule "192.168.33.160", False, 514 +selectedSite.AddIPAccessRule "192.168.33.159", False, 515 +selectedSite.AddIPAccessRule "192.168.33.158", False, 516 +selectedSite.AddIPAccessRule "192.168.33.157", False, 517 +selectedSite.AddIPAccessRule "192.168.33.156", False, 518 +selectedSite.AddIPAccessRule "192.168.33.155", False, 519 +selectedSite.AddIPAccessRule "192.168.33.154", False, 520 +selectedSite.AddIPAccessRule "192.168.33.153", False, 521 +selectedSite.AddIPAccessRule "192.168.33.152", False, 522 +selectedSite.AddIPAccessRule "192.168.33.151", False, 523 +selectedSite.AddIPAccessRule "192.168.33.150", False, 524 +selectedSite.AddIPAccessRule "192.168.33.149", False, 525 +selectedSite.AddIPAccessRule "192.168.33.148", False, 526 +selectedSite.AddIPAccessRule "192.168.33.147", False, 527 +selectedSite.AddIPAccessRule "192.168.33.146", False, 528 +selectedSite.AddIPAccessRule "192.168.33.145", False, 529 +selectedSite.AddIPAccessRule "192.168.33.144", False, 530 +selectedSite.AddIPAccessRule "192.168.33.143", False, 531 +selectedSite.AddIPAccessRule "192.168.33.142", False, 532 +selectedSite.AddIPAccessRule "192.168.33.141", False, 533 +selectedSite.AddIPAccessRule "192.168.33.140", False, 534 +selectedSite.AddIPAccessRule "192.168.33.139", False, 535 +selectedSite.AddIPAccessRule "192.168.33.138", False, 536 +selectedSite.AddIPAccessRule "192.168.33.137", False, 537 +selectedSite.AddIPAccessRule "192.168.33.136", False, 538 +selectedSite.AddIPAccessRule "192.168.33.135", False, 539 +selectedSite.AddIPAccessRule "192.168.33.134", False, 540 +selectedSite.AddIPAccessRule "192.168.33.133", False, 541 +selectedSite.AddIPAccessRule "192.168.33.132", False, 542 +selectedSite.AddIPAccessRule "192.168.33.131", False, 543 +selectedSite.AddIPAccessRule "192.168.33.130", False, 544 +selectedSite.AddIPAccessRule "192.168.33.129", False, 545 +selectedSite.AddIPAccessRule "192.168.33.128", False, 546 +selectedSite.AddIPAccessRule "192.168.33.127", False, 547 +selectedSite.AddIPAccessRule "192.168.33.126", False, 548 +selectedSite.AddIPAccessRule "192.168.33.125", False, 549 +selectedSite.AddIPAccessRule "192.168.33.124", False, 550 +selectedSite.AddIPAccessRule "192.168.33.123", False, 551 +selectedSite.AddIPAccessRule "192.168.33.122", False, 552 +selectedSite.AddIPAccessRule "192.168.33.121", False, 553 +selectedSite.AddIPAccessRule "192.168.33.120", False, 554 +selectedSite.AddIPAccessRule "192.168.33.119", False, 555 +selectedSite.AddIPAccessRule "192.168.33.118", False, 556 +selectedSite.AddIPAccessRule "192.168.33.117", False, 557 +selectedSite.AddIPAccessRule "192.168.33.116", False, 558 +selectedSite.AddIPAccessRule "192.168.33.115", False, 559 +selectedSite.AddIPAccessRule "192.168.33.114", False, 560 +selectedSite.AddIPAccessRule "192.168.33.113", False, 561 +selectedSite.AddIPAccessRule "192.168.33.112", False, 562 +selectedSite.AddIPAccessRule "192.168.33.111", False, 563 +selectedSite.AddIPAccessRule "192.168.33.110", False, 564 +selectedSite.AddIPAccessRule "192.168.33.109", False, 565 +selectedSite.AddIPAccessRule "192.168.33.108", False, 566 +selectedSite.AddIPAccessRule "192.168.33.107", False, 567 +selectedSite.AddIPAccessRule "192.168.33.106", False, 568 +selectedSite.AddIPAccessRule "192.168.33.105", False, 569 +selectedSite.AddIPAccessRule "192.168.33.104", False, 570 +selectedSite.AddIPAccessRule "192.168.33.103", False, 571 +selectedSite.AddIPAccessRule "192.168.33.102", False, 572 +selectedSite.AddIPAccessRule "192.168.33.101", False, 573 +selectedSite.AddIPAccessRule "192.168.33.100", False, 574 +selectedSite.AddIPAccessRule "192.168.33.99", False, 575 +selectedSite.AddIPAccessRule "192.168.33.98", False, 576 +selectedSite.AddIPAccessRule "192.168.33.97", False, 577 +selectedSite.AddIPAccessRule "192.168.33.96", False, 578 +selectedSite.AddIPAccessRule "192.168.33.95", False, 579 +selectedSite.AddIPAccessRule "192.168.33.94", False, 580 +selectedSite.AddIPAccessRule "192.168.33.93", False, 581 +selectedSite.AddIPAccessRule "192.168.33.92", False, 582 +selectedSite.AddIPAccessRule "192.168.33.91", False, 583 +selectedSite.AddIPAccessRule "192.168.33.90", False, 584 +selectedSite.AddIPAccessRule "192.168.33.89", False, 585 +selectedSite.AddIPAccessRule "192.168.33.88", False, 586 +selectedSite.AddIPAccessRule "192.168.33.87", False, 587 +selectedSite.AddIPAccessRule "192.168.33.86", False, 588 +selectedSite.AddIPAccessRule "192.168.33.85", False, 589 +selectedSite.AddIPAccessRule "192.168.33.84", False, 590 +selectedSite.AddIPAccessRule "192.168.33.83", False, 591 +selectedSite.AddIPAccessRule "192.168.33.82", False, 592 +selectedSite.AddIPAccessRule "192.168.33.81", False, 593 +selectedSite.AddIPAccessRule "192.168.33.80", False, 594 +selectedSite.AddIPAccessRule "192.168.33.79", False, 595 +selectedSite.AddIPAccessRule "192.168.33.78", False, 596 +selectedSite.AddIPAccessRule "192.168.33.77", False, 597 +selectedSite.AddIPAccessRule "192.168.33.76", False, 598 +selectedSite.AddIPAccessRule "192.168.33.75", False, 599 +selectedSite.AddIPAccessRule "192.168.33.74", False, 600 +selectedSite.AddIPAccessRule "192.168.33.73", False, 601 +selectedSite.AddIPAccessRule "192.168.33.72", False, 602 +selectedSite.AddIPAccessRule "192.168.33.71", False, 603 +selectedSite.AddIPAccessRule "192.168.33.70", False, 604 +selectedSite.AddIPAccessRule "192.168.33.69", False, 605 +selectedSite.AddIPAccessRule "192.168.33.68", False, 606 +selectedSite.AddIPAccessRule "192.168.33.67", False, 607 +selectedSite.AddIPAccessRule "192.168.33.66", False, 608 +selectedSite.AddIPAccessRule "192.168.33.65", False, 609 +selectedSite.AddIPAccessRule "192.168.33.64", False, 610 +selectedSite.AddIPAccessRule "192.168.33.63", False, 611 +selectedSite.AddIPAccessRule "192.168.33.62", False, 612 +selectedSite.AddIPAccessRule "192.168.33.61", False, 613 +selectedSite.AddIPAccessRule "192.168.33.60", False, 614 +selectedSite.AddIPAccessRule "192.168.33.59", False, 615 +selectedSite.AddIPAccessRule "192.168.33.58", False, 616 +selectedSite.AddIPAccessRule "192.168.33.57", False, 617 +selectedSite.AddIPAccessRule "192.168.33.56", False, 618 +selectedSite.AddIPAccessRule "192.168.33.55", False, 619 +selectedSite.AddIPAccessRule "192.168.33.54", False, 620 +selectedSite.AddIPAccessRule "192.168.33.53", False, 621 +selectedSite.AddIPAccessRule "192.168.33.52", False, 622 +selectedSite.AddIPAccessRule "192.168.33.51", False, 623 +selectedSite.AddIPAccessRule "192.168.33.50", False, 624 +selectedSite.AddIPAccessRule "192.168.33.49", False, 625 +selectedSite.AddIPAccessRule "192.168.33.48", False, 626 +selectedSite.AddIPAccessRule "192.168.33.47", False, 627 +selectedSite.AddIPAccessRule "192.168.33.46", False, 628 +selectedSite.AddIPAccessRule "192.168.33.45", False, 629 +selectedSite.AddIPAccessRule "192.168.33.44", False, 630 +selectedSite.AddIPAccessRule "192.168.33.43", False, 631 +selectedSite.AddIPAccessRule "192.168.33.42", False, 632 +selectedSite.AddIPAccessRule "192.168.33.41", False, 633 +selectedSite.AddIPAccessRule "192.168.33.40", False, 634 +selectedSite.AddIPAccessRule "192.168.33.39", False, 635 +selectedSite.AddIPAccessRule "192.168.33.38", False, 636 +selectedSite.AddIPAccessRule "192.168.33.37", False, 637 +selectedSite.AddIPAccessRule "192.168.33.36", False, 638 +selectedSite.AddIPAccessRule "192.168.33.35", False, 639 +selectedSite.AddIPAccessRule "192.168.33.34", False, 640 +selectedSite.AddIPAccessRule "192.168.33.33", False, 641 +selectedSite.AddIPAccessRule "192.168.33.32", False, 642 +selectedSite.AddIPAccessRule "192.168.33.31", False, 643 +selectedSite.AddIPAccessRule "192.168.33.30", False, 644 +selectedSite.AddIPAccessRule "192.168.33.29", False, 645 +selectedSite.AddIPAccessRule "192.168.33.28", False, 646 +selectedSite.AddIPAccessRule "192.168.33.27", False, 647 +selectedSite.AddIPAccessRule "192.168.33.26", False, 648 +selectedSite.AddIPAccessRule "192.168.33.25", False, 649 +selectedSite.AddIPAccessRule "192.168.33.24", False, 650 +selectedSite.AddIPAccessRule "192.168.33.23", False, 651 +selectedSite.AddIPAccessRule "192.168.33.22", False, 652 +selectedSite.AddIPAccessRule "192.168.33.21", False, 653 +selectedSite.AddIPAccessRule "192.168.33.20", False, 654 +selectedSite.AddIPAccessRule "192.168.33.19", False, 655 +selectedSite.AddIPAccessRule "192.168.33.18", False, 656 +selectedSite.AddIPAccessRule "192.168.33.17", False, 657 +selectedSite.AddIPAccessRule "192.168.33.16", False, 658 +selectedSite.AddIPAccessRule "192.168.33.15", False, 659 +selectedSite.AddIPAccessRule "192.168.33.14", False, 660 +selectedSite.AddIPAccessRule "192.168.33.13", False, 661 +selectedSite.AddIPAccessRule "192.168.33.12", False, 662 +selectedSite.AddIPAccessRule "192.168.33.11", False, 663 +selectedSite.AddIPAccessRule "192.168.33.10", False, 664 +selectedSite.AddIPAccessRule "192.168.33.9", False, 665 +selectedSite.AddIPAccessRule "192.168.33.8", False, 666 +selectedSite.AddIPAccessRule "192.168.33.7", False, 667 +selectedSite.AddIPAccessRule "192.168.33.6", False, 668 +selectedSite.AddIPAccessRule "192.168.33.5", False, 669 +selectedSite.AddIPAccessRule "192.168.33.4", False, 670 +selectedSite.AddIPAccessRule "192.168.33.3", False, 671 +selectedSite.AddIPAccessRule "192.168.33.2", False, 672 +selectedSite.AddIPAccessRule "192.168.33.1", False, 673 +selectedSite.AddIPAccessRule "192.168.32.255", False, 674 +selectedSite.AddIPAccessRule "192.168.32.254", False, 675 +selectedSite.AddIPAccessRule "192.168.32.253", False, 676 +selectedSite.AddIPAccessRule "192.168.32.252", False, 677 +selectedSite.AddIPAccessRule "192.168.32.251", False, 678 +selectedSite.AddIPAccessRule "192.168.32.250", False, 679 +selectedSite.AddIPAccessRule "192.168.32.249", False, 680 +selectedSite.AddIPAccessRule "192.168.32.248", False, 681 +selectedSite.AddIPAccessRule "192.168.32.247", False, 682 +selectedSite.AddIPAccessRule "192.168.32.246", False, 683 +selectedSite.AddIPAccessRule "192.168.32.245", False, 684 +selectedSite.AddIPAccessRule "192.168.32.244", False, 685 +selectedSite.AddIPAccessRule "192.168.32.243", False, 686 +selectedSite.AddIPAccessRule "192.168.32.242", False, 687 +selectedSite.AddIPAccessRule "192.168.32.241", False, 688 +selectedSite.AddIPAccessRule "192.168.32.240", False, 689 +selectedSite.AddIPAccessRule "192.168.32.239", False, 690 +selectedSite.AddIPAccessRule "192.168.32.238", False, 691 +selectedSite.AddIPAccessRule "192.168.32.237", False, 692 +selectedSite.AddIPAccessRule "192.168.32.236", False, 693 +selectedSite.AddIPAccessRule "192.168.32.235", False, 694 +selectedSite.AddIPAccessRule "192.168.32.234", False, 695 +selectedSite.AddIPAccessRule "192.168.32.233", False, 696 +selectedSite.AddIPAccessRule "192.168.32.232", False, 697 +selectedSite.AddIPAccessRule "192.168.32.231", False, 698 +selectedSite.AddIPAccessRule "192.168.32.230", False, 699 +selectedSite.AddIPAccessRule "192.168.32.229", False, 700 +selectedSite.AddIPAccessRule "192.168.32.228", False, 701 +selectedSite.AddIPAccessRule "192.168.32.227", False, 702 +selectedSite.AddIPAccessRule "192.168.32.226", False, 703 +selectedSite.AddIPAccessRule "192.168.32.225", False, 704 +selectedSite.AddIPAccessRule "192.168.32.224", False, 705 +selectedSite.AddIPAccessRule "192.168.32.223", False, 706 +selectedSite.AddIPAccessRule "192.168.32.222", False, 707 +selectedSite.AddIPAccessRule "192.168.32.221", False, 708 +selectedSite.AddIPAccessRule "192.168.32.220", False, 709 +selectedSite.AddIPAccessRule "192.168.32.219", False, 710 +selectedSite.AddIPAccessRule "192.168.32.218", False, 711 +selectedSite.AddIPAccessRule "192.168.32.217", False, 712 +selectedSite.AddIPAccessRule "192.168.32.216", False, 713 +selectedSite.AddIPAccessRule "192.168.32.215", False, 714 +selectedSite.AddIPAccessRule "192.168.32.214", False, 715 +selectedSite.AddIPAccessRule "192.168.32.213", False, 716 +selectedSite.AddIPAccessRule "192.168.32.212", False, 717 +selectedSite.AddIPAccessRule "192.168.32.211", False, 718 +selectedSite.AddIPAccessRule "192.168.32.210", False, 719 +selectedSite.AddIPAccessRule "192.168.32.209", False, 720 +selectedSite.AddIPAccessRule "192.168.32.208", False, 721 +selectedSite.AddIPAccessRule "192.168.32.207", False, 722 +selectedSite.AddIPAccessRule "192.168.32.206", False, 723 +selectedSite.AddIPAccessRule "192.168.32.205", False, 724 +selectedSite.AddIPAccessRule "192.168.32.204", False, 725 +selectedSite.AddIPAccessRule "192.168.32.203", False, 726 +selectedSite.AddIPAccessRule "192.168.32.202", False, 727 +selectedSite.AddIPAccessRule "192.168.32.201", False, 728 +selectedSite.AddIPAccessRule "192.168.32.200", False, 729 +selectedSite.AddIPAccessRule "192.168.32.199", False, 730 +selectedSite.AddIPAccessRule "192.168.32.198", False, 731 +selectedSite.AddIPAccessRule "192.168.32.197", False, 732 +selectedSite.AddIPAccessRule "192.168.32.196", False, 733 +selectedSite.AddIPAccessRule "192.168.32.195", False, 734 +selectedSite.AddIPAccessRule "192.168.32.194", False, 735 +selectedSite.AddIPAccessRule "192.168.32.193", False, 736 +selectedSite.AddIPAccessRule "192.168.32.192", False, 737 +selectedSite.AddIPAccessRule "192.168.32.191", False, 738 +selectedSite.AddIPAccessRule "192.168.32.190", False, 739 +selectedSite.AddIPAccessRule "192.168.32.189", False, 740 +selectedSite.AddIPAccessRule "192.168.32.188", False, 741 +selectedSite.AddIPAccessRule "192.168.32.187", False, 742 +selectedSite.AddIPAccessRule "192.168.32.186", False, 743 +selectedSite.AddIPAccessRule "192.168.32.185", False, 744 +selectedSite.AddIPAccessRule "192.168.32.184", False, 745 +selectedSite.AddIPAccessRule "192.168.32.183", False, 746 +selectedSite.AddIPAccessRule "192.168.32.182", False, 747 +selectedSite.AddIPAccessRule "192.168.32.181", False, 748 +selectedSite.AddIPAccessRule "192.168.32.180", False, 749 +selectedSite.AddIPAccessRule "192.168.32.179", False, 750 +selectedSite.AddIPAccessRule "192.168.32.178", False, 751 +selectedSite.AddIPAccessRule "192.168.32.177", False, 752 +selectedSite.AddIPAccessRule "192.168.32.176", False, 753 +selectedSite.AddIPAccessRule "192.168.32.175", False, 754 +selectedSite.AddIPAccessRule "192.168.32.174", False, 755 +selectedSite.AddIPAccessRule "192.168.32.173", False, 756 +selectedSite.AddIPAccessRule "192.168.32.172", False, 757 +selectedSite.AddIPAccessRule "192.168.32.171", False, 758 +selectedSite.AddIPAccessRule "192.168.32.170", False, 759 +selectedSite.AddIPAccessRule "192.168.32.169", False, 760 +selectedSite.AddIPAccessRule "192.168.32.168", False, 761 +selectedSite.AddIPAccessRule "192.168.32.167", False, 762 +selectedSite.AddIPAccessRule "192.168.32.166", False, 763 +selectedSite.AddIPAccessRule "192.168.32.165", False, 764 +selectedSite.AddIPAccessRule "192.168.32.164", False, 765 +selectedSite.AddIPAccessRule "192.168.32.163", False, 766 +selectedSite.AddIPAccessRule "192.168.32.162", False, 767 +selectedSite.AddIPAccessRule "192.168.32.161", False, 768 +selectedSite.AddIPAccessRule "192.168.32.160", False, 769 +selectedSite.AddIPAccessRule "192.168.32.159", False, 770 +selectedSite.AddIPAccessRule "192.168.32.158", False, 771 +selectedSite.AddIPAccessRule "192.168.32.157", False, 772 +selectedSite.AddIPAccessRule "192.168.32.156", False, 773 +selectedSite.AddIPAccessRule "192.168.32.155", False, 774 +selectedSite.AddIPAccessRule "192.168.32.154", False, 775 +selectedSite.AddIPAccessRule "192.168.32.153", False, 776 +selectedSite.AddIPAccessRule "192.168.32.152", False, 777 +selectedSite.AddIPAccessRule "192.168.32.151", False, 778 +selectedSite.AddIPAccessRule "192.168.32.150", False, 779 +selectedSite.AddIPAccessRule "192.168.32.149", False, 780 +selectedSite.AddIPAccessRule "192.168.32.148", False, 781 +selectedSite.AddIPAccessRule "192.168.32.147", False, 782 +selectedSite.AddIPAccessRule "192.168.32.146", False, 783 +selectedSite.AddIPAccessRule "192.168.32.145", False, 784 +selectedSite.AddIPAccessRule "192.168.32.144", False, 785 +selectedSite.AddIPAccessRule "192.168.32.143", False, 786 +selectedSite.AddIPAccessRule "192.168.32.142", False, 787 +selectedSite.AddIPAccessRule "192.168.32.141", False, 788 +selectedSite.AddIPAccessRule "192.168.32.140", False, 789 +selectedSite.AddIPAccessRule "192.168.32.139", False, 790 +selectedSite.AddIPAccessRule "192.168.32.138", False, 791 +selectedSite.AddIPAccessRule "192.168.32.137", False, 792 +selectedSite.AddIPAccessRule "192.168.32.136", False, 793 +selectedSite.AddIPAccessRule "192.168.32.135", False, 794 +selectedSite.AddIPAccessRule "192.168.32.134", False, 795 +selectedSite.AddIPAccessRule "192.168.32.133", False, 796 +selectedSite.AddIPAccessRule "192.168.32.132", False, 797 +selectedSite.AddIPAccessRule "192.168.32.131", False, 798 +selectedSite.AddIPAccessRule "192.168.32.130", False, 799 +selectedSite.AddIPAccessRule "192.168.32.129", False, 800 +selectedSite.AddIPAccessRule "192.168.32.128", False, 801 +selectedSite.AddIPAccessRule "192.168.32.127", False, 802 +selectedSite.AddIPAccessRule "192.168.32.126", False, 803 +selectedSite.AddIPAccessRule "192.168.32.125", False, 804 +selectedSite.AddIPAccessRule "192.168.32.124", False, 805 +selectedSite.AddIPAccessRule "192.168.32.123", False, 806 +selectedSite.AddIPAccessRule "192.168.32.122", False, 807 +selectedSite.AddIPAccessRule "192.168.32.121", False, 808 +selectedSite.AddIPAccessRule "192.168.32.120", False, 809 +selectedSite.AddIPAccessRule "192.168.32.119", False, 810 +selectedSite.AddIPAccessRule "192.168.32.118", False, 811 +selectedSite.AddIPAccessRule "192.168.32.117", False, 812 +selectedSite.AddIPAccessRule "192.168.32.116", False, 813 +selectedSite.AddIPAccessRule "192.168.32.115", False, 814 +selectedSite.AddIPAccessRule "192.168.32.114", False, 815 +selectedSite.AddIPAccessRule "192.168.32.113", False, 816 +selectedSite.AddIPAccessRule "192.168.32.112", False, 817 +selectedSite.AddIPAccessRule "192.168.32.111", False, 818 +selectedSite.AddIPAccessRule "192.168.32.110", False, 819 +selectedSite.AddIPAccessRule "192.168.32.109", False, 820 +selectedSite.AddIPAccessRule "192.168.32.108", False, 821 +selectedSite.AddIPAccessRule "192.168.32.107", False, 822 +selectedSite.AddIPAccessRule "192.168.32.106", False, 823 +selectedSite.AddIPAccessRule "192.168.32.105", False, 824 +selectedSite.AddIPAccessRule "192.168.32.104", False, 825 +selectedSite.AddIPAccessRule "192.168.32.103", False, 826 +selectedSite.AddIPAccessRule "192.168.32.102", False, 827 +selectedSite.AddIPAccessRule "192.168.32.101", False, 828 +selectedSite.AddIPAccessRule "192.168.32.100", False, 829 +selectedSite.AddIPAccessRule "192.168.32.99", False, 830 +selectedSite.AddIPAccessRule "192.168.32.98", False, 831 +selectedSite.AddIPAccessRule "192.168.32.97", False, 832 +selectedSite.AddIPAccessRule "192.168.32.96", False, 833 +selectedSite.AddIPAccessRule "192.168.32.95", False, 834 +selectedSite.AddIPAccessRule "192.168.32.94", False, 835 +selectedSite.AddIPAccessRule "192.168.32.93", False, 836 +selectedSite.AddIPAccessRule "192.168.32.92", False, 837 +selectedSite.AddIPAccessRule "192.168.32.91", False, 838 +selectedSite.AddIPAccessRule "192.168.32.90", False, 839 +selectedSite.AddIPAccessRule "192.168.32.89", False, 840 +selectedSite.AddIPAccessRule "192.168.32.88", False, 841 +selectedSite.AddIPAccessRule "192.168.32.87", False, 842 +selectedSite.AddIPAccessRule "192.168.32.86", False, 843 +selectedSite.AddIPAccessRule "192.168.32.85", False, 844 +selectedSite.AddIPAccessRule "192.168.32.84", False, 845 +selectedSite.AddIPAccessRule "192.168.32.83", False, 846 +selectedSite.AddIPAccessRule "192.168.32.82", False, 847 +selectedSite.AddIPAccessRule "192.168.32.81", False, 848 +selectedSite.AddIPAccessRule "192.168.32.80", False, 849 +selectedSite.AddIPAccessRule "192.168.32.79", False, 850 +selectedSite.AddIPAccessRule "192.168.32.78", False, 851 +selectedSite.AddIPAccessRule "192.168.32.77", False, 852 +selectedSite.AddIPAccessRule "192.168.32.76", False, 853 +selectedSite.AddIPAccessRule "192.168.32.75", False, 854 +selectedSite.AddIPAccessRule "192.168.32.74", False, 855 +selectedSite.AddIPAccessRule "192.168.32.73", False, 856 +selectedSite.AddIPAccessRule "192.168.32.72", False, 857 +selectedSite.AddIPAccessRule "192.168.32.71", False, 858 +selectedSite.AddIPAccessRule "192.168.32.70", False, 859 +selectedSite.AddIPAccessRule "192.168.32.69", False, 860 +selectedSite.AddIPAccessRule "192.168.32.68", False, 861 +selectedSite.AddIPAccessRule "192.168.32.67", False, 862 +selectedSite.AddIPAccessRule "192.168.32.66", False, 863 +selectedSite.AddIPAccessRule "192.168.32.65", False, 864 +selectedSite.AddIPAccessRule "192.168.32.64", False, 865 +selectedSite.AddIPAccessRule "192.168.32.63", False, 866 +selectedSite.AddIPAccessRule "192.168.32.62", False, 867 +selectedSite.AddIPAccessRule "192.168.32.61", False, 868 +selectedSite.AddIPAccessRule "192.168.32.60", False, 869 +selectedSite.AddIPAccessRule "192.168.32.59", False, 870 +selectedSite.AddIPAccessRule "192.168.32.58", False, 871 +selectedSite.AddIPAccessRule "192.168.32.57", False, 872 +selectedSite.AddIPAccessRule "192.168.32.56", False, 873 +selectedSite.AddIPAccessRule "192.168.32.55", False, 874 +selectedSite.AddIPAccessRule "192.168.32.54", False, 875 +selectedSite.AddIPAccessRule "192.168.32.53", False, 876 +selectedSite.AddIPAccessRule "192.168.32.52", False, 877 +selectedSite.AddIPAccessRule "192.168.32.51", False, 878 +selectedSite.AddIPAccessRule "192.168.32.50", False, 879 +selectedSite.AddIPAccessRule "192.168.32.49", False, 880 +selectedSite.AddIPAccessRule "192.168.32.48", False, 881 +selectedSite.AddIPAccessRule "192.168.32.47", False, 882 +selectedSite.AddIPAccessRule "192.168.32.46", False, 883 +selectedSite.AddIPAccessRule "192.168.32.45", False, 884 +selectedSite.AddIPAccessRule "192.168.32.44", False, 885 +selectedSite.AddIPAccessRule "192.168.32.43", False, 886 +selectedSite.AddIPAccessRule "192.168.32.42", False, 887 +selectedSite.AddIPAccessRule "192.168.32.41", False, 888 +selectedSite.AddIPAccessRule "192.168.32.40", False, 889 +selectedSite.AddIPAccessRule "192.168.32.39", False, 890 +selectedSite.AddIPAccessRule "192.168.32.38", False, 891 +selectedSite.AddIPAccessRule "192.168.32.37", False, 892 +selectedSite.AddIPAccessRule "192.168.32.36", False, 893 +selectedSite.AddIPAccessRule "192.168.32.35", False, 894 +selectedSite.AddIPAccessRule "192.168.32.34", False, 895 +selectedSite.AddIPAccessRule "192.168.32.33", False, 896 +selectedSite.AddIPAccessRule "192.168.32.32", False, 897 +selectedSite.AddIPAccessRule "192.168.32.31", False, 898 +selectedSite.AddIPAccessRule "192.168.32.30", False, 899 +selectedSite.AddIPAccessRule "192.168.32.29", False, 900 +selectedSite.AddIPAccessRule "192.168.32.28", False, 901 +selectedSite.AddIPAccessRule "192.168.32.27", False, 902 +selectedSite.AddIPAccessRule "192.168.32.26", False, 903 +selectedSite.AddIPAccessRule "192.168.32.25", False, 904 +selectedSite.AddIPAccessRule "192.168.32.24", False, 905 +selectedSite.AddIPAccessRule "192.168.32.23", False, 906 +selectedSite.AddIPAccessRule "192.168.32.22", False, 907 +selectedSite.AddIPAccessRule "192.168.32.21", False, 908 +selectedSite.AddIPAccessRule "192.168.32.20", False, 909 +selectedSite.AddIPAccessRule "192.168.32.19", False, 910 +selectedSite.AddIPAccessRule "192.168.32.18", False, 911 +selectedSite.AddIPAccessRule "192.168.32.17", False, 912 +selectedSite.AddIPAccessRule "192.168.32.16", False, 913 +selectedSite.AddIPAccessRule "192.168.32.15", False, 914 +selectedSite.AddIPAccessRule "192.168.32.14", False, 915 +selectedSite.AddIPAccessRule "192.168.32.13", False, 916 +selectedSite.AddIPAccessRule "192.168.32.12", False, 917 +selectedSite.AddIPAccessRule "192.168.32.11", False, 918 +selectedSite.AddIPAccessRule "192.168.32.10", False, 919 +selectedSite.AddIPAccessRule "192.168.32.9", False, 920 +selectedSite.AddIPAccessRule "192.168.32.8", False, 921 +selectedSite.AddIPAccessRule "192.168.32.7", False, 922 +selectedSite.AddIPAccessRule "192.168.32.6", False, 923 +selectedSite.AddIPAccessRule "192.168.32.5", False, 924 +selectedSite.AddIPAccessRule "192.168.32.4", False, 925 +selectedSite.AddIPAccessRule "192.168.32.3", False, 926 +selectedSite.AddIPAccessRule "192.168.32.2", False, 927 +selectedSite.AddIPAccessRule "192.168.32.1", False, 928 +selectedSite.AddIPAccessRule "192.168.31.255", False, 929 +selectedSite.AddIPAccessRule "192.168.31.254", False, 930 +selectedSite.AddIPAccessRule "192.168.31.253", False, 931 +selectedSite.AddIPAccessRule "192.168.31.252", False, 932 +selectedSite.AddIPAccessRule "192.168.31.251", False, 933 +selectedSite.AddIPAccessRule "192.168.31.250", False, 934 +selectedSite.AddIPAccessRule "192.168.31.249", False, 935 +selectedSite.AddIPAccessRule "192.168.31.248", False, 936 +selectedSite.AddIPAccessRule "192.168.31.247", False, 937 +selectedSite.AddIPAccessRule "192.168.31.246", False, 938 +selectedSite.AddIPAccessRule "192.168.31.245", False, 939 +selectedSite.AddIPAccessRule "192.168.31.244", False, 940 +selectedSite.AddIPAccessRule "192.168.31.243", False, 941 +selectedSite.AddIPAccessRule "192.168.31.242", False, 942 +selectedSite.AddIPAccessRule "192.168.31.241", False, 943 +selectedSite.AddIPAccessRule "192.168.31.240", False, 944 +selectedSite.AddIPAccessRule "192.168.31.239", False, 945 +selectedSite.AddIPAccessRule "192.168.31.238", False, 946 +selectedSite.AddIPAccessRule "192.168.31.237", False, 947 +selectedSite.AddIPAccessRule "192.168.31.236", False, 948 +selectedSite.AddIPAccessRule "192.168.31.235", False, 949 +selectedSite.AddIPAccessRule "192.168.31.234", False, 950 +selectedSite.AddIPAccessRule "192.168.31.233", False, 951 +selectedSite.AddIPAccessRule "192.168.31.232", False, 952 +selectedSite.AddIPAccessRule "192.168.31.231", False, 953 +selectedSite.AddIPAccessRule "192.168.31.230", False, 954 +selectedSite.AddIPAccessRule "192.168.31.229", False, 955 +selectedSite.AddIPAccessRule "192.168.31.228", False, 956 +selectedSite.AddIPAccessRule "192.168.31.227", False, 957 +selectedSite.AddIPAccessRule "192.168.31.226", False, 958 +selectedSite.AddIPAccessRule "192.168.31.225", False, 959 +selectedSite.AddIPAccessRule "192.168.31.224", False, 960 +selectedSite.AddIPAccessRule "192.168.31.223", False, 961 +selectedSite.AddIPAccessRule "192.168.31.222", False, 962 +selectedSite.AddIPAccessRule "192.168.31.221", False, 963 +selectedSite.AddIPAccessRule "192.168.31.220", False, 964 +selectedSite.AddIPAccessRule "192.168.31.219", False, 965 +selectedSite.AddIPAccessRule "192.168.31.218", False, 966 +selectedSite.AddIPAccessRule "192.168.31.217", False, 967 +selectedSite.AddIPAccessRule "192.168.31.216", False, 968 +selectedSite.AddIPAccessRule "192.168.31.215", False, 969 +selectedSite.AddIPAccessRule "192.168.31.214", False, 970 +selectedSite.AddIPAccessRule "192.168.31.213", False, 971 +selectedSite.AddIPAccessRule "192.168.31.212", False, 972 +selectedSite.AddIPAccessRule "192.168.31.211", False, 973 +selectedSite.AddIPAccessRule "192.168.31.210", False, 974 +selectedSite.AddIPAccessRule "192.168.31.209", False, 975 +selectedSite.AddIPAccessRule "192.168.31.208", False, 976 +selectedSite.AddIPAccessRule "192.168.31.207", False, 977 +selectedSite.AddIPAccessRule "192.168.31.206", False, 978 +selectedSite.AddIPAccessRule "192.168.31.205", False, 979 +selectedSite.AddIPAccessRule "192.168.31.204", False, 980 +selectedSite.AddIPAccessRule "192.168.31.203", False, 981 +selectedSite.AddIPAccessRule "192.168.31.202", False, 982 +selectedSite.AddIPAccessRule "192.168.31.201", False, 983 +selectedSite.AddIPAccessRule "192.168.31.200", False, 984 +selectedSite.AddIPAccessRule "192.168.31.199", False, 985 +selectedSite.AddIPAccessRule "192.168.31.198", False, 986 +selectedSite.AddIPAccessRule "192.168.31.197", False, 987 +selectedSite.AddIPAccessRule "192.168.31.196", False, 988 +selectedSite.AddIPAccessRule "192.168.31.195", False, 989 +selectedSite.AddIPAccessRule "192.168.31.194", False, 990 +selectedSite.AddIPAccessRule "192.168.31.193", False, 991 +selectedSite.AddIPAccessRule "192.168.31.192", False, 992 +selectedSite.AddIPAccessRule "192.168.31.191", False, 993 +selectedSite.AddIPAccessRule "192.168.31.190", False, 994 +selectedSite.AddIPAccessRule "192.168.31.189", False, 995 +selectedSite.AddIPAccessRule "192.168.31.188", False, 996 +selectedSite.AddIPAccessRule "192.168.31.187", False, 997 +selectedSite.AddIPAccessRule "192.168.31.186", False, 998 +selectedSite.AddIPAccessRule "192.168.31.185", False, 999 +selectedSite.AddIPAccessRule "192.168.31.184", False, 1000 +selectedSite.AddIPAccessRule "192.168.31.183", False, 1001 +selectedSite.AddIPAccessRule "192.168.31.182", False, 1002 +selectedSite.AddIPAccessRule "192.168.31.181", False, 1003 +selectedSite.AddIPAccessRule "192.168.31.180", False, 1004 +selectedSite.AddIPAccessRule "192.168.31.179", False, 1005 +selectedSite.AddIPAccessRule "192.168.31.178", False, 1006 +selectedSite.AddIPAccessRule "192.168.31.177", False, 1007 +selectedSite.AddIPAccessRule "192.168.31.176", False, 1008 +selectedSite.AddIPAccessRule "192.168.31.175", False, 1009 +selectedSite.AddIPAccessRule "192.168.31.174", False, 1010 +selectedSite.AddIPAccessRule "192.168.31.173", False, 1011 +selectedSite.AddIPAccessRule "192.168.31.172", False, 1012 +selectedSite.AddIPAccessRule "192.168.31.171", False, 1013 +selectedSite.AddIPAccessRule "192.168.31.170", False, 1014 +selectedSite.AddIPAccessRule "192.168.31.169", False, 1015 +selectedSite.AddIPAccessRule "192.168.31.168", False, 1016 +selectedSite.AddIPAccessRule "192.168.31.167", False, 1017 +selectedSite.AddIPAccessRule "192.168.31.166", False, 1018 +selectedSite.AddIPAccessRule "192.168.31.165", False, 1019 +selectedSite.AddIPAccessRule "192.168.31.164", False, 1020 +selectedSite.AddIPAccessRule "192.168.31.163", False, 1021 +selectedSite.AddIPAccessRule "192.168.31.162", False, 1022 +selectedSite.AddIPAccessRule "192.168.31.161", False, 1023 +selectedSite.AddIPAccessRule "192.168.31.160", False, 1024 +selectedSite.AddIPAccessRule "192.168.31.159", False, 1025 +selectedSite.AddIPAccessRule "192.168.31.158", False, 1026 +selectedSite.AddIPAccessRule "192.168.31.157", False, 1027 +selectedSite.AddIPAccessRule "192.168.31.156", False, 1028 +selectedSite.AddIPAccessRule "192.168.31.155", False, 1029 +selectedSite.AddIPAccessRule "192.168.31.154", False, 1030 +selectedSite.AddIPAccessRule "192.168.31.153", False, 1031 +selectedSite.AddIPAccessRule "192.168.31.152", False, 1032 +selectedSite.AddIPAccessRule "192.168.31.151", False, 1033 +selectedSite.AddIPAccessRule "192.168.31.150", False, 1034 +selectedSite.AddIPAccessRule "192.168.31.149", False, 1035 +selectedSite.AddIPAccessRule "192.168.31.148", False, 1036 +selectedSite.AddIPAccessRule "192.168.31.147", False, 1037 +selectedSite.AddIPAccessRule "192.168.31.146", False, 1038 +selectedSite.AddIPAccessRule "192.168.31.145", False, 1039 +selectedSite.AddIPAccessRule "192.168.31.144", False, 1040 +selectedSite.AddIPAccessRule "192.168.31.143", False, 1041 +selectedSite.AddIPAccessRule "192.168.31.142", False, 1042 +selectedSite.AddIPAccessRule "192.168.31.141", False, 1043 +selectedSite.AddIPAccessRule "192.168.31.140", False, 1044 +selectedSite.AddIPAccessRule "192.168.31.139", False, 1045 +selectedSite.AddIPAccessRule "192.168.31.138", False, 1046 +selectedSite.AddIPAccessRule "192.168.31.137", False, 1047 +selectedSite.AddIPAccessRule "192.168.31.136", False, 1048 +selectedSite.AddIPAccessRule "192.168.31.135", False, 1049 +selectedSite.AddIPAccessRule "192.168.31.134", False, 1050 +selectedSite.AddIPAccessRule "192.168.31.133", False, 1051 +selectedSite.AddIPAccessRule "192.168.31.132", False, 1052 +selectedSite.AddIPAccessRule "192.168.31.131", False, 1053 +selectedSite.AddIPAccessRule "192.168.31.130", False, 1054 +selectedSite.AddIPAccessRule "192.168.31.129", False, 1055 +selectedSite.AddIPAccessRule "192.168.31.128", False, 1056 +selectedSite.AddIPAccessRule "192.168.31.127", False, 1057 +selectedSite.AddIPAccessRule "192.168.31.126", False, 1058 +selectedSite.AddIPAccessRule "192.168.31.125", False, 1059 +selectedSite.AddIPAccessRule "192.168.31.124", False, 1060 +selectedSite.AddIPAccessRule "192.168.31.123", False, 1061 +selectedSite.AddIPAccessRule "192.168.31.122", False, 1062 +selectedSite.AddIPAccessRule "192.168.31.121", False, 1063 +selectedSite.AddIPAccessRule "192.168.31.120", False, 1064 +selectedSite.AddIPAccessRule "192.168.31.119", False, 1065 +selectedSite.AddIPAccessRule "192.168.31.118", False, 1066 +selectedSite.AddIPAccessRule "192.168.31.117", False, 1067 +selectedSite.AddIPAccessRule "192.168.31.116", False, 1068 +selectedSite.AddIPAccessRule "192.168.31.115", False, 1069 +selectedSite.AddIPAccessRule "192.168.31.114", False, 1070 +selectedSite.AddIPAccessRule "192.168.31.113", False, 1071 +selectedSite.AddIPAccessRule "192.168.31.112", False, 1072 +selectedSite.AddIPAccessRule "192.168.31.111", False, 1073 +selectedSite.AddIPAccessRule "192.168.31.110", False, 1074 +selectedSite.AddIPAccessRule "192.168.31.109", False, 1075 +selectedSite.AddIPAccessRule "192.168.31.108", False, 1076 +selectedSite.AddIPAccessRule "192.168.31.107", False, 1077 +selectedSite.AddIPAccessRule "192.168.31.106", False, 1078 +selectedSite.AddIPAccessRule "192.168.31.105", False, 1079 +selectedSite.AddIPAccessRule "192.168.31.104", False, 1080 +selectedSite.AddIPAccessRule "192.168.31.103", False, 1081 +selectedSite.AddIPAccessRule "192.168.31.102", False, 1082 +selectedSite.AddIPAccessRule "192.168.31.101", False, 1083 +selectedSite.AddIPAccessRule "192.168.31.100", False, 1084 +selectedSite.AddIPAccessRule "192.168.31.99", False, 1085 +selectedSite.AddIPAccessRule "192.168.31.98", False, 1086 +selectedSite.AddIPAccessRule "192.168.31.97", False, 1087 +selectedSite.AddIPAccessRule "192.168.31.96", False, 1088 +selectedSite.AddIPAccessRule "192.168.31.95", False, 1089 +selectedSite.AddIPAccessRule "192.168.31.94", False, 1090 +selectedSite.AddIPAccessRule "192.168.31.93", False, 1091 +selectedSite.AddIPAccessRule "192.168.31.92", False, 1092 +selectedSite.AddIPAccessRule "192.168.31.91", False, 1093 +selectedSite.AddIPAccessRule "192.168.31.90", False, 1094 +selectedSite.AddIPAccessRule "192.168.31.89", False, 1095 +selectedSite.AddIPAccessRule "192.168.31.88", False, 1096 +selectedSite.AddIPAccessRule "192.168.31.87", False, 1097 +selectedSite.AddIPAccessRule "192.168.31.86", False, 1098 +selectedSite.AddIPAccessRule "192.168.31.85", False, 1099 +selectedSite.AddIPAccessRule "192.168.31.84", False, 1100 +selectedSite.AddIPAccessRule "192.168.31.83", False, 1101 +selectedSite.AddIPAccessRule "192.168.31.82", False, 1102 +selectedSite.AddIPAccessRule "192.168.31.81", False, 1103 +selectedSite.AddIPAccessRule "192.168.31.80", False, 1104 +selectedSite.AddIPAccessRule "192.168.31.79", False, 1105 +selectedSite.AddIPAccessRule "192.168.31.78", False, 1106 +selectedSite.AddIPAccessRule "192.168.31.77", False, 1107 +selectedSite.AddIPAccessRule "192.168.31.76", False, 1108 +selectedSite.AddIPAccessRule "192.168.31.75", False, 1109 +selectedSite.AddIPAccessRule "192.168.31.74", False, 1110 +selectedSite.AddIPAccessRule "192.168.31.73", False, 1111 +selectedSite.AddIPAccessRule "192.168.31.72", False, 1112 +selectedSite.AddIPAccessRule "192.168.31.71", False, 1113 +selectedSite.AddIPAccessRule "192.168.31.70", False, 1114 +selectedSite.AddIPAccessRule "192.168.31.69", False, 1115 +selectedSite.AddIPAccessRule "192.168.31.68", False, 1116 +selectedSite.AddIPAccessRule "192.168.31.67", False, 1117 +selectedSite.AddIPAccessRule "192.168.31.66", False, 1118 +selectedSite.AddIPAccessRule "192.168.31.65", False, 1119 +selectedSite.AddIPAccessRule "192.168.31.64", False, 1120 +selectedSite.AddIPAccessRule "192.168.31.63", False, 1121 +selectedSite.AddIPAccessRule "192.168.31.62", False, 1122 +selectedSite.AddIPAccessRule "192.168.31.61", False, 1123 +selectedSite.AddIPAccessRule "192.168.31.60", False, 1124 +selectedSite.AddIPAccessRule "192.168.31.59", False, 1125 +selectedSite.AddIPAccessRule "192.168.31.58", False, 1126 +selectedSite.AddIPAccessRule "192.168.31.57", False, 1127 +selectedSite.AddIPAccessRule "192.168.31.56", False, 1128 +selectedSite.AddIPAccessRule "192.168.31.55", False, 1129 +selectedSite.AddIPAccessRule "192.168.31.54", False, 1130 +selectedSite.AddIPAccessRule "192.168.31.53", False, 1131 +selectedSite.AddIPAccessRule "192.168.31.52", False, 1132 +selectedSite.AddIPAccessRule "192.168.31.51", False, 1133 +selectedSite.AddIPAccessRule "192.168.31.50", False, 1134 +selectedSite.AddIPAccessRule "192.168.31.49", False, 1135 +selectedSite.AddIPAccessRule "192.168.31.48", False, 1136 +selectedSite.AddIPAccessRule "192.168.31.47", False, 1137 +selectedSite.AddIPAccessRule "192.168.31.46", False, 1138 +selectedSite.AddIPAccessRule "192.168.31.45", False, 1139 +selectedSite.AddIPAccessRule "192.168.31.44", False, 1140 +selectedSite.AddIPAccessRule "192.168.31.43", False, 1141 +selectedSite.AddIPAccessRule "192.168.31.42", False, 1142 +selectedSite.AddIPAccessRule "192.168.31.41", False, 1143 +selectedSite.AddIPAccessRule "192.168.31.40", False, 1144 +selectedSite.AddIPAccessRule "192.168.31.39", False, 1145 +selectedSite.AddIPAccessRule "192.168.31.38", False, 1146 +selectedSite.AddIPAccessRule "192.168.31.37", False, 1147 +selectedSite.AddIPAccessRule "192.168.31.36", False, 1148 +selectedSite.AddIPAccessRule "192.168.31.35", False, 1149 +selectedSite.AddIPAccessRule "192.168.31.34", False, 1150 +selectedSite.AddIPAccessRule "192.168.31.33", False, 1151 +selectedSite.AddIPAccessRule "192.168.31.32", False, 1152 +selectedSite.AddIPAccessRule "192.168.31.31", False, 1153 +selectedSite.AddIPAccessRule "192.168.31.30", False, 1154 +selectedSite.AddIPAccessRule "192.168.31.29", False, 1155 +selectedSite.AddIPAccessRule "192.168.31.28", False, 1156 +selectedSite.AddIPAccessRule "192.168.31.27", False, 1157 +selectedSite.AddIPAccessRule "192.168.31.26", False, 1158 +selectedSite.AddIPAccessRule "192.168.31.25", False, 1159 +selectedSite.AddIPAccessRule "192.168.31.24", False, 1160 +selectedSite.AddIPAccessRule "192.168.31.23", False, 1161 +selectedSite.AddIPAccessRule "192.168.31.22", False, 1162 +selectedSite.AddIPAccessRule "192.168.31.21", False, 1163 +selectedSite.AddIPAccessRule "192.168.31.20", False, 1164 +selectedSite.AddIPAccessRule "192.168.31.19", False, 1165 +selectedSite.AddIPAccessRule "192.168.31.18", False, 1166 +selectedSite.AddIPAccessRule "192.168.31.17", False, 1167 +selectedSite.AddIPAccessRule "192.168.31.16", False, 1168 +selectedSite.AddIPAccessRule "192.168.31.15", False, 1169 +selectedSite.AddIPAccessRule "192.168.31.14", False, 1170 +selectedSite.AddIPAccessRule "192.168.31.13", False, 1171 +selectedSite.AddIPAccessRule "192.168.31.12", False, 1172 +selectedSite.AddIPAccessRule "192.168.31.11", False, 1173 +selectedSite.AddIPAccessRule "192.168.31.10", False, 1174 +selectedSite.AddIPAccessRule "192.168.31.9", False, 1175 +selectedSite.AddIPAccessRule "192.168.31.8", False, 1176 +selectedSite.AddIPAccessRule "192.168.31.7", False, 1177 +selectedSite.AddIPAccessRule "192.168.31.6", False, 1178 +selectedSite.AddIPAccessRule "192.168.31.5", False, 1179 +selectedSite.AddIPAccessRule "192.168.31.4", False, 1180 +selectedSite.AddIPAccessRule "192.168.31.3", False, 1181 +selectedSite.AddIPAccessRule "192.168.31.2", False, 1182 +selectedSite.AddIPAccessRule "192.168.31.1", False, 1183 +selectedSite.AddIPAccessRule "192.168.30.255", False, 1184 +selectedSite.AddIPAccessRule "192.168.30.254", False, 1185 +selectedSite.AddIPAccessRule "192.168.30.253", False, 1186 +selectedSite.AddIPAccessRule "192.168.30.252", False, 1187 +selectedSite.AddIPAccessRule "192.168.30.251", False, 1188 +selectedSite.AddIPAccessRule "192.168.30.250", False, 1189 +selectedSite.AddIPAccessRule "192.168.30.249", False, 1190 +selectedSite.AddIPAccessRule "192.168.30.248", False, 1191 +selectedSite.AddIPAccessRule "192.168.30.247", False, 1192 +selectedSite.AddIPAccessRule "192.168.30.246", False, 1193 +selectedSite.AddIPAccessRule "192.168.30.245", False, 1194 +selectedSite.AddIPAccessRule "192.168.30.244", False, 1195 +selectedSite.AddIPAccessRule "192.168.30.243", False, 1196 +selectedSite.AddIPAccessRule "192.168.30.242", False, 1197 +selectedSite.AddIPAccessRule "192.168.30.241", False, 1198 +selectedSite.AddIPAccessRule "192.168.30.240", False, 1199 +selectedSite.AddIPAccessRule "192.168.30.239", False, 1200 +selectedSite.AddIPAccessRule "192.168.30.238", False, 1201 +selectedSite.AddIPAccessRule "192.168.30.237", False, 1202 +selectedSite.AddIPAccessRule "192.168.30.236", False, 1203 +selectedSite.AddIPAccessRule "192.168.30.235", False, 1204 +selectedSite.AddIPAccessRule "192.168.30.234", False, 1205 +selectedSite.AddIPAccessRule "192.168.30.233", False, 1206 +selectedSite.AddIPAccessRule "192.168.30.232", False, 1207 +selectedSite.AddIPAccessRule "192.168.30.231", False, 1208 +selectedSite.AddIPAccessRule "192.168.30.230", False, 1209 +selectedSite.AddIPAccessRule "192.168.30.229", False, 1210 +selectedSite.AddIPAccessRule "192.168.30.228", False, 1211 +selectedSite.AddIPAccessRule "192.168.30.227", False, 1212 +selectedSite.AddIPAccessRule "192.168.30.226", False, 1213 +selectedSite.AddIPAccessRule "192.168.30.225", False, 1214 +selectedSite.AddIPAccessRule "192.168.30.224", False, 1215 +selectedSite.AddIPAccessRule "192.168.30.223", False, 1216 +selectedSite.AddIPAccessRule "192.168.30.222", False, 1217 +selectedSite.AddIPAccessRule "192.168.30.221", False, 1218 +selectedSite.AddIPAccessRule "192.168.30.220", False, 1219 +selectedSite.AddIPAccessRule "192.168.30.219", False, 1220 +selectedSite.AddIPAccessRule "192.168.30.218", False, 1221 +selectedSite.AddIPAccessRule "192.168.30.217", False, 1222 +selectedSite.AddIPAccessRule "192.168.30.216", False, 1223 +selectedSite.AddIPAccessRule "192.168.30.215", False, 1224 +selectedSite.AddIPAccessRule "192.168.30.214", False, 1225 +selectedSite.AddIPAccessRule "192.168.30.213", False, 1226 +selectedSite.AddIPAccessRule "192.168.30.212", False, 1227 +selectedSite.AddIPAccessRule "192.168.30.211", False, 1228 +selectedSite.AddIPAccessRule "192.168.30.210", False, 1229 +selectedSite.AddIPAccessRule "192.168.30.209", False, 1230 +selectedSite.AddIPAccessRule "192.168.30.208", False, 1231 +selectedSite.AddIPAccessRule "192.168.30.207", False, 1232 +selectedSite.AddIPAccessRule "192.168.30.206", False, 1233 +selectedSite.AddIPAccessRule "192.168.30.205", False, 1234 +selectedSite.AddIPAccessRule "192.168.30.204", False, 1235 +selectedSite.AddIPAccessRule "192.168.30.203", False, 1236 +selectedSite.AddIPAccessRule "192.168.30.202", False, 1237 +selectedSite.AddIPAccessRule "192.168.30.201", False, 1238 +selectedSite.AddIPAccessRule "192.168.30.200", False, 1239 +selectedSite.AddIPAccessRule "192.168.30.199", False, 1240 +selectedSite.AddIPAccessRule "192.168.30.198", False, 1241 +selectedSite.AddIPAccessRule "192.168.30.197", False, 1242 +selectedSite.AddIPAccessRule "192.168.30.196", False, 1243 +selectedSite.AddIPAccessRule "192.168.30.195", False, 1244 +selectedSite.AddIPAccessRule "192.168.30.194", False, 1245 +selectedSite.AddIPAccessRule "192.168.30.193", False, 1246 +selectedSite.AddIPAccessRule "192.168.30.192", False, 1247 +selectedSite.AddIPAccessRule "192.168.30.191", False, 1248 +selectedSite.AddIPAccessRule "192.168.30.190", False, 1249 +selectedSite.AddIPAccessRule "192.168.30.189", False, 1250 +selectedSite.AddIPAccessRule "192.168.30.188", False, 1251 +selectedSite.AddIPAccessRule "192.168.30.187", False, 1252 +selectedSite.AddIPAccessRule "192.168.30.186", False, 1253 +selectedSite.AddIPAccessRule "192.168.30.185", False, 1254 +selectedSite.AddIPAccessRule "192.168.30.184", False, 1255 +selectedSite.AddIPAccessRule "192.168.30.183", False, 1256 +selectedSite.AddIPAccessRule "192.168.30.182", False, 1257 +selectedSite.AddIPAccessRule "192.168.30.181", False, 1258 +selectedSite.AddIPAccessRule "192.168.30.180", False, 1259 +selectedSite.AddIPAccessRule "192.168.30.179", False, 1260 +selectedSite.AddIPAccessRule "192.168.30.178", False, 1261 +selectedSite.AddIPAccessRule "192.168.30.177", False, 1262 +selectedSite.AddIPAccessRule "192.168.30.176", False, 1263 +selectedSite.AddIPAccessRule "192.168.30.175", False, 1264 +selectedSite.AddIPAccessRule "192.168.30.174", False, 1265 +selectedSite.AddIPAccessRule "192.168.30.173", False, 1266 +selectedSite.AddIPAccessRule "192.168.30.172", False, 1267 +selectedSite.AddIPAccessRule "192.168.30.171", False, 1268 +selectedSite.AddIPAccessRule "192.168.30.170", False, 1269 +selectedSite.AddIPAccessRule "192.168.30.169", False, 1270 +selectedSite.AddIPAccessRule "192.168.30.168", False, 1271 +selectedSite.AddIPAccessRule "192.168.30.167", False, 1272 +selectedSite.AddIPAccessRule "192.168.30.166", False, 1273 +selectedSite.AddIPAccessRule "192.168.30.165", False, 1274 +selectedSite.AddIPAccessRule "192.168.30.164", False, 1275 +selectedSite.AddIPAccessRule "192.168.30.163", False, 1276 +selectedSite.AddIPAccessRule "192.168.30.162", False, 1277 +selectedSite.AddIPAccessRule "192.168.30.161", False, 1278 +selectedSite.AddIPAccessRule "192.168.30.160", False, 1279 +selectedSite.AddIPAccessRule "192.168.30.159", False, 1280 +selectedSite.AddIPAccessRule "192.168.30.158", False, 1281 +selectedSite.AddIPAccessRule "192.168.30.157", False, 1282 +selectedSite.AddIPAccessRule "192.168.30.156", False, 1283 +selectedSite.AddIPAccessRule "192.168.30.155", False, 1284 +selectedSite.AddIPAccessRule "192.168.30.154", False, 1285 +selectedSite.AddIPAccessRule "192.168.30.153", False, 1286 +selectedSite.AddIPAccessRule "192.168.30.152", False, 1287 +selectedSite.AddIPAccessRule "192.168.30.151", False, 1288 +selectedSite.AddIPAccessRule "192.168.30.150", False, 1289 +selectedSite.AddIPAccessRule "192.168.30.149", False, 1290 +selectedSite.AddIPAccessRule "192.168.30.148", False, 1291 +selectedSite.AddIPAccessRule "192.168.30.147", False, 1292 +selectedSite.AddIPAccessRule "192.168.30.146", False, 1293 +selectedSite.AddIPAccessRule "192.168.30.145", False, 1294 +selectedSite.AddIPAccessRule "192.168.30.144", False, 1295 +selectedSite.AddIPAccessRule "192.168.30.143", False, 1296 +selectedSite.AddIPAccessRule "192.168.30.142", False, 1297 +selectedSite.AddIPAccessRule "192.168.30.141", False, 1298 +selectedSite.AddIPAccessRule "192.168.30.140", False, 1299 +selectedSite.AddIPAccessRule "192.168.30.139", False, 1300 +selectedSite.AddIPAccessRule "192.168.30.138", False, 1301 +selectedSite.AddIPAccessRule "192.168.30.137", False, 1302 +selectedSite.AddIPAccessRule "192.168.30.136", False, 1303 +selectedSite.AddIPAccessRule "192.168.30.135", False, 1304 +selectedSite.AddIPAccessRule "192.168.30.134", False, 1305 +selectedSite.AddIPAccessRule "192.168.30.133", False, 1306 +selectedSite.AddIPAccessRule "192.168.30.132", False, 1307 +selectedSite.AddIPAccessRule "192.168.30.131", False, 1308 +selectedSite.AddIPAccessRule "192.168.30.130", False, 1309 +selectedSite.AddIPAccessRule "192.168.30.129", False, 1310 +selectedSite.AddIPAccessRule "192.168.30.128", False, 1311 +selectedSite.AddIPAccessRule "192.168.30.127", False, 1312 +selectedSite.AddIPAccessRule "192.168.30.126", False, 1313 +selectedSite.AddIPAccessRule "192.168.30.125", False, 1314 +selectedSite.AddIPAccessRule "192.168.30.124", False, 1315 +selectedSite.AddIPAccessRule "192.168.30.123", False, 1316 +selectedSite.AddIPAccessRule "192.168.30.122", False, 1317 +selectedSite.AddIPAccessRule "192.168.30.121", False, 1318 +selectedSite.AddIPAccessRule "192.168.30.120", False, 1319 +selectedSite.AddIPAccessRule "192.168.30.119", False, 1320 +selectedSite.AddIPAccessRule "192.168.30.118", False, 1321 +selectedSite.AddIPAccessRule "192.168.30.117", False, 1322 +selectedSite.AddIPAccessRule "192.168.30.116", False, 1323 +selectedSite.AddIPAccessRule "192.168.30.115", False, 1324 +selectedSite.AddIPAccessRule "192.168.30.114", False, 1325 +selectedSite.AddIPAccessRule "192.168.30.113", False, 1326 +selectedSite.AddIPAccessRule "192.168.30.112", False, 1327 +selectedSite.AddIPAccessRule "192.168.30.111", False, 1328 +selectedSite.AddIPAccessRule "192.168.30.110", False, 1329 +selectedSite.AddIPAccessRule "192.168.30.109", False, 1330 +selectedSite.AddIPAccessRule "192.168.30.108", False, 1331 +selectedSite.AddIPAccessRule "192.168.30.107", False, 1332 +selectedSite.AddIPAccessRule "192.168.30.106", False, 1333 +selectedSite.AddIPAccessRule "192.168.30.105", False, 1334 +selectedSite.AddIPAccessRule "192.168.30.104", False, 1335 +selectedSite.AddIPAccessRule "192.168.30.103", False, 1336 +selectedSite.AddIPAccessRule "192.168.30.102", False, 1337 +selectedSite.AddIPAccessRule "192.168.30.101", False, 1338 +selectedSite.AddIPAccessRule "192.168.30.100", False, 1339 +selectedSite.AddIPAccessRule "192.168.30.99", False, 1340 +selectedSite.AddIPAccessRule "192.168.30.98", False, 1341 +selectedSite.AddIPAccessRule "192.168.30.97", False, 1342 +selectedSite.AddIPAccessRule "192.168.30.96", False, 1343 +selectedSite.AddIPAccessRule "192.168.30.95", False, 1344 +selectedSite.AddIPAccessRule "192.168.30.94", False, 1345 +selectedSite.AddIPAccessRule "192.168.30.93", False, 1346 +selectedSite.AddIPAccessRule "192.168.30.92", False, 1347 +selectedSite.AddIPAccessRule "192.168.30.91", False, 1348 +selectedSite.AddIPAccessRule "192.168.30.90", False, 1349 +selectedSite.AddIPAccessRule "192.168.30.89", False, 1350 +selectedSite.AddIPAccessRule "192.168.30.88", False, 1351 +selectedSite.AddIPAccessRule "192.168.30.87", False, 1352 +selectedSite.AddIPAccessRule "192.168.30.86", False, 1353 +selectedSite.AddIPAccessRule "192.168.30.85", False, 1354 +selectedSite.AddIPAccessRule "192.168.30.84", False, 1355 +selectedSite.AddIPAccessRule "192.168.30.83", False, 1356 +selectedSite.AddIPAccessRule "192.168.30.82", False, 1357 +selectedSite.AddIPAccessRule "192.168.30.81", False, 1358 +selectedSite.AddIPAccessRule "192.168.30.80", False, 1359 +selectedSite.AddIPAccessRule "192.168.30.79", False, 1360 +selectedSite.AddIPAccessRule "192.168.30.78", False, 1361 +selectedSite.AddIPAccessRule "192.168.30.77", False, 1362 +selectedSite.AddIPAccessRule "192.168.30.76", False, 1363 +selectedSite.AddIPAccessRule "192.168.30.75", False, 1364 +selectedSite.AddIPAccessRule "192.168.30.74", False, 1365 +selectedSite.AddIPAccessRule "192.168.30.73", False, 1366 +selectedSite.AddIPAccessRule "192.168.30.72", False, 1367 +selectedSite.AddIPAccessRule "192.168.30.71", False, 1368 +selectedSite.AddIPAccessRule "192.168.30.70", False, 1369 +selectedSite.AddIPAccessRule "192.168.30.69", False, 1370 +selectedSite.AddIPAccessRule "192.168.30.68", False, 1371 +selectedSite.AddIPAccessRule "192.168.30.67", False, 1372 +selectedSite.AddIPAccessRule "192.168.30.66", False, 1373 +selectedSite.AddIPAccessRule "192.168.30.65", False, 1374 +selectedSite.AddIPAccessRule "192.168.30.64", False, 1375 +selectedSite.AddIPAccessRule "192.168.30.63", False, 1376 +selectedSite.AddIPAccessRule "192.168.30.62", False, 1377 +selectedSite.AddIPAccessRule "192.168.30.61", False, 1378 +selectedSite.AddIPAccessRule "192.168.30.60", False, 1379 +selectedSite.AddIPAccessRule "192.168.30.59", False, 1380 +selectedSite.AddIPAccessRule "192.168.30.58", False, 1381 +selectedSite.AddIPAccessRule "192.168.30.57", False, 1382 +selectedSite.AddIPAccessRule "192.168.30.56", False, 1383 +selectedSite.AddIPAccessRule "192.168.30.55", False, 1384 +selectedSite.AddIPAccessRule "192.168.30.54", False, 1385 +selectedSite.AddIPAccessRule "192.168.30.53", False, 1386 +selectedSite.AddIPAccessRule "192.168.30.52", False, 1387 +selectedSite.AddIPAccessRule "192.168.30.51", False, 1388 +selectedSite.AddIPAccessRule "192.168.30.50", False, 1389 +selectedSite.AddIPAccessRule "192.168.30.49", False, 1390 +selectedSite.AddIPAccessRule "192.168.30.48", False, 1391 +selectedSite.AddIPAccessRule "192.168.30.47", False, 1392 +selectedSite.AddIPAccessRule "192.168.30.46", False, 1393 +selectedSite.AddIPAccessRule "192.168.30.45", False, 1394 +selectedSite.AddIPAccessRule "192.168.30.44", False, 1395 +selectedSite.AddIPAccessRule "192.168.30.43", False, 1396 +selectedSite.AddIPAccessRule "192.168.30.42", False, 1397 +selectedSite.AddIPAccessRule "192.168.30.41", False, 1398 +selectedSite.AddIPAccessRule "192.168.30.40", False, 1399 +selectedSite.AddIPAccessRule "192.168.30.39", False, 1400 +selectedSite.AddIPAccessRule "192.168.30.38", False, 1401 +selectedSite.AddIPAccessRule "192.168.30.37", False, 1402 +selectedSite.AddIPAccessRule "192.168.30.36", False, 1403 +selectedSite.AddIPAccessRule "192.168.30.35", False, 1404 +selectedSite.AddIPAccessRule "192.168.30.34", False, 1405 +selectedSite.AddIPAccessRule "192.168.30.33", False, 1406 +selectedSite.AddIPAccessRule "192.168.30.32", False, 1407 +selectedSite.AddIPAccessRule "192.168.30.31", False, 1408 +selectedSite.AddIPAccessRule "192.168.30.30", False, 1409 +selectedSite.AddIPAccessRule "192.168.30.29", False, 1410 +selectedSite.AddIPAccessRule "192.168.30.28", False, 1411 +selectedSite.AddIPAccessRule "192.168.30.27", False, 1412 +selectedSite.AddIPAccessRule "192.168.30.26", False, 1413 +selectedSite.AddIPAccessRule "192.168.30.25", False, 1414 +selectedSite.AddIPAccessRule "192.168.30.24", False, 1415 +selectedSite.AddIPAccessRule "192.168.30.23", False, 1416 +selectedSite.AddIPAccessRule "192.168.30.22", False, 1417 +selectedSite.AddIPAccessRule "192.168.30.21", False, 1418 +selectedSite.AddIPAccessRule "192.168.30.20", False, 1419 +selectedSite.AddIPAccessRule "192.168.30.19", False, 1420 +selectedSite.AddIPAccessRule "192.168.30.18", False, 1421 +selectedSite.AddIPAccessRule "192.168.30.17", False, 1422 +selectedSite.AddIPAccessRule "192.168.30.16", False, 1423 +selectedSite.AddIPAccessRule "192.168.30.15", False, 1424 +selectedSite.AddIPAccessRule "192.168.30.14", False, 1425 +selectedSite.AddIPAccessRule "192.168.30.13", False, 1426 +selectedSite.AddIPAccessRule "192.168.30.12", False, 1427 +selectedSite.AddIPAccessRule "192.168.30.11", False, 1428 +selectedSite.AddIPAccessRule "192.168.30.10", False, 1429 +selectedSite.AddIPAccessRule "192.168.30.9", False, 1430 +selectedSite.AddIPAccessRule "192.168.30.8", False, 1431 +selectedSite.AddIPAccessRule "192.168.30.7", False, 1432 +selectedSite.AddIPAccessRule "192.168.30.6", False, 1433 +selectedSite.AddIPAccessRule "192.168.30.5", False, 1434 +selectedSite.AddIPAccessRule "192.168.30.4", False, 1435 +selectedSite.AddIPAccessRule "192.168.30.3", False, 1436 +selectedSite.AddIPAccessRule "192.168.30.2", False, 1437 +selectedSite.AddIPAccessRule "192.168.30.1", False, 1438 +selectedSite.AddIPAccessRule "192.168.29.255", False, 1439 +selectedSite.AddIPAccessRule "192.168.29.254", False, 1440 +selectedSite.AddIPAccessRule "192.168.29.253", False, 1441 +selectedSite.AddIPAccessRule "192.168.29.252", False, 1442 +selectedSite.AddIPAccessRule "192.168.29.251", False, 1443 +selectedSite.AddIPAccessRule "192.168.29.250", False, 1444 +selectedSite.AddIPAccessRule "192.168.29.249", False, 1445 +selectedSite.AddIPAccessRule "192.168.29.248", False, 1446 +selectedSite.AddIPAccessRule "192.168.29.247", False, 1447 +selectedSite.AddIPAccessRule "192.168.29.246", False, 1448 +selectedSite.AddIPAccessRule "192.168.29.245", False, 1449 +selectedSite.AddIPAccessRule "192.168.29.244", False, 1450 +selectedSite.AddIPAccessRule "192.168.29.243", False, 1451 +selectedSite.AddIPAccessRule "192.168.29.242", False, 1452 +selectedSite.AddIPAccessRule "192.168.29.241", False, 1453 +selectedSite.AddIPAccessRule "192.168.29.240", False, 1454 +selectedSite.AddIPAccessRule "192.168.29.239", False, 1455 +selectedSite.AddIPAccessRule "192.168.29.238", False, 1456 +selectedSite.AddIPAccessRule "192.168.29.237", False, 1457 +selectedSite.AddIPAccessRule "192.168.29.236", False, 1458 +selectedSite.AddIPAccessRule "192.168.29.235", False, 1459 +selectedSite.AddIPAccessRule "192.168.29.234", False, 1460 +selectedSite.AddIPAccessRule "192.168.29.233", False, 1461 +selectedSite.AddIPAccessRule "192.168.29.232", False, 1462 +selectedSite.AddIPAccessRule "192.168.29.231", False, 1463 +selectedSite.AddIPAccessRule "192.168.29.230", False, 1464 +selectedSite.AddIPAccessRule "192.168.29.229", False, 1465 +selectedSite.AddIPAccessRule "192.168.29.228", False, 1466 +selectedSite.AddIPAccessRule "192.168.29.227", False, 1467 +selectedSite.AddIPAccessRule "192.168.29.226", False, 1468 +selectedSite.AddIPAccessRule "192.168.29.225", False, 1469 +selectedSite.AddIPAccessRule "192.168.29.224", False, 1470 +selectedSite.AddIPAccessRule "192.168.29.223", False, 1471 +selectedSite.AddIPAccessRule "192.168.29.222", False, 1472 +selectedSite.AddIPAccessRule "192.168.29.221", False, 1473 +selectedSite.AddIPAccessRule "192.168.29.220", False, 1474 +selectedSite.AddIPAccessRule "192.168.29.219", False, 1475 +selectedSite.AddIPAccessRule "192.168.29.218", False, 1476 +selectedSite.AddIPAccessRule "192.168.29.217", False, 1477 +selectedSite.AddIPAccessRule "192.168.29.216", False, 1478 +selectedSite.AddIPAccessRule "192.168.29.215", False, 1479 +selectedSite.AddIPAccessRule "192.168.29.214", False, 1480 +selectedSite.AddIPAccessRule "192.168.29.213", False, 1481 +selectedSite.AddIPAccessRule "192.168.29.212", False, 1482 +selectedSite.AddIPAccessRule "192.168.29.211", False, 1483 +selectedSite.AddIPAccessRule "192.168.29.210", False, 1484 +selectedSite.AddIPAccessRule "192.168.29.209", False, 1485 +selectedSite.AddIPAccessRule "192.168.29.208", False, 1486 +selectedSite.AddIPAccessRule "192.168.29.207", False, 1487 +selectedSite.AddIPAccessRule "192.168.29.206", False, 1488 +selectedSite.AddIPAccessRule "192.168.29.205", False, 1489 +selectedSite.AddIPAccessRule "192.168.29.204", False, 1490 +selectedSite.AddIPAccessRule "192.168.29.203", False, 1491 +selectedSite.AddIPAccessRule "192.168.29.202", False, 1492 +selectedSite.AddIPAccessRule "192.168.29.201", False, 1493 +selectedSite.AddIPAccessRule "192.168.29.200", False, 1494 +selectedSite.AddIPAccessRule "192.168.29.199", False, 1495 +selectedSite.AddIPAccessRule "192.168.29.198", False, 1496 +selectedSite.AddIPAccessRule "192.168.29.197", False, 1497 +selectedSite.AddIPAccessRule "192.168.29.196", False, 1498 +selectedSite.AddIPAccessRule "192.168.29.195", False, 1499 +selectedSite.AddIPAccessRule "192.168.29.194", False, 1500 +selectedSite.AddIPAccessRule "192.168.29.193", False, 1501 +selectedSite.AddIPAccessRule "192.168.29.192", False, 1502 +selectedSite.AddIPAccessRule "192.168.29.191", False, 1503 +selectedSite.AddIPAccessRule "192.168.29.190", False, 1504 +selectedSite.AddIPAccessRule "192.168.29.189", False, 1505 +selectedSite.AddIPAccessRule "192.168.29.188", False, 1506 +selectedSite.AddIPAccessRule "192.168.29.187", False, 1507 +selectedSite.AddIPAccessRule "192.168.29.186", False, 1508 +selectedSite.AddIPAccessRule "192.168.29.185", False, 1509 +selectedSite.AddIPAccessRule "192.168.29.184", False, 1510 +selectedSite.AddIPAccessRule "192.168.29.183", False, 1511 +selectedSite.AddIPAccessRule "192.168.29.182", False, 1512 +selectedSite.AddIPAccessRule "192.168.29.181", False, 1513 +selectedSite.AddIPAccessRule "192.168.29.180", False, 1514 +selectedSite.AddIPAccessRule "192.168.29.179", False, 1515 +selectedSite.AddIPAccessRule "192.168.29.178", False, 1516 +selectedSite.AddIPAccessRule "192.168.29.177", False, 1517 +selectedSite.AddIPAccessRule "192.168.29.176", False, 1518 +selectedSite.AddIPAccessRule "192.168.29.175", False, 1519 +selectedSite.AddIPAccessRule "192.168.29.174", False, 1520 +selectedSite.AddIPAccessRule "192.168.29.173", False, 1521 +selectedSite.AddIPAccessRule "192.168.29.172", False, 1522 +selectedSite.AddIPAccessRule "192.168.29.171", False, 1523 +selectedSite.AddIPAccessRule "192.168.29.170", False, 1524 +selectedSite.AddIPAccessRule "192.168.29.169", False, 1525 +selectedSite.AddIPAccessRule "192.168.29.168", False, 1526 +selectedSite.AddIPAccessRule "192.168.29.167", False, 1527 +selectedSite.AddIPAccessRule "192.168.29.166", False, 1528 +selectedSite.AddIPAccessRule "192.168.29.165", False, 1529 +selectedSite.AddIPAccessRule "192.168.29.164", False, 1530 +selectedSite.AddIPAccessRule "192.168.29.163", False, 1531 +selectedSite.AddIPAccessRule "192.168.29.162", False, 1532 +selectedSite.AddIPAccessRule "192.168.29.161", False, 1533 +selectedSite.AddIPAccessRule "192.168.29.160", False, 1534 +selectedSite.AddIPAccessRule "192.168.29.159", False, 1535 +selectedSite.AddIPAccessRule "192.168.29.158", False, 1536 +selectedSite.AddIPAccessRule "192.168.29.157", False, 1537 +selectedSite.AddIPAccessRule "192.168.29.156", False, 1538 +selectedSite.AddIPAccessRule "192.168.29.155", False, 1539 +selectedSite.AddIPAccessRule "192.168.29.154", False, 1540 +selectedSite.AddIPAccessRule "192.168.29.153", False, 1541 +selectedSite.AddIPAccessRule "192.168.29.152", False, 1542 +selectedSite.AddIPAccessRule "192.168.29.151", False, 1543 +selectedSite.AddIPAccessRule "192.168.29.150", False, 1544 +selectedSite.AddIPAccessRule "192.168.29.149", False, 1545 +selectedSite.AddIPAccessRule "192.168.29.148", False, 1546 +selectedSite.AddIPAccessRule "192.168.29.147", False, 1547 +selectedSite.AddIPAccessRule "192.168.29.146", False, 1548 +selectedSite.AddIPAccessRule "192.168.29.145", False, 1549 +selectedSite.AddIPAccessRule "192.168.29.144", False, 1550 +selectedSite.AddIPAccessRule "192.168.29.143", False, 1551 +selectedSite.AddIPAccessRule "192.168.29.142", False, 1552 +selectedSite.AddIPAccessRule "192.168.29.141", False, 1553 +selectedSite.AddIPAccessRule "192.168.29.140", False, 1554 +selectedSite.AddIPAccessRule "192.168.29.139", False, 1555 +selectedSite.AddIPAccessRule "192.168.29.138", False, 1556 +selectedSite.AddIPAccessRule "192.168.29.137", False, 1557 +selectedSite.AddIPAccessRule "192.168.29.136", False, 1558 +selectedSite.AddIPAccessRule "192.168.29.135", False, 1559 +selectedSite.AddIPAccessRule "192.168.29.134", False, 1560 +selectedSite.AddIPAccessRule "192.168.29.133", False, 1561 +selectedSite.AddIPAccessRule "192.168.29.132", False, 1562 +selectedSite.AddIPAccessRule "192.168.29.131", False, 1563 +selectedSite.AddIPAccessRule "192.168.29.130", False, 1564 +selectedSite.AddIPAccessRule "192.168.29.129", False, 1565 +selectedSite.AddIPAccessRule "192.168.29.128", False, 1566 +selectedSite.AddIPAccessRule "192.168.29.127", False, 1567 +selectedSite.AddIPAccessRule "192.168.29.126", False, 1568 +selectedSite.AddIPAccessRule "192.168.29.125", False, 1569 +selectedSite.AddIPAccessRule "192.168.29.124", False, 1570 +selectedSite.AddIPAccessRule "192.168.29.123", False, 1571 +selectedSite.AddIPAccessRule "192.168.29.122", False, 1572 +selectedSite.AddIPAccessRule "192.168.29.121", False, 1573 +selectedSite.AddIPAccessRule "192.168.29.120", False, 1574 +selectedSite.AddIPAccessRule "192.168.29.119", False, 1575 +selectedSite.AddIPAccessRule "192.168.29.118", False, 1576 +selectedSite.AddIPAccessRule "192.168.29.117", False, 1577 +selectedSite.AddIPAccessRule "192.168.29.116", False, 1578 +selectedSite.AddIPAccessRule "192.168.29.115", False, 1579 +selectedSite.AddIPAccessRule "192.168.29.114", False, 1580 +selectedSite.AddIPAccessRule "192.168.29.113", False, 1581 +selectedSite.AddIPAccessRule "192.168.29.112", False, 1582 +selectedSite.AddIPAccessRule "192.168.29.111", False, 1583 +selectedSite.AddIPAccessRule "192.168.29.110", False, 1584 +selectedSite.AddIPAccessRule "192.168.29.109", False, 1585 +selectedSite.AddIPAccessRule "192.168.29.108", False, 1586 +selectedSite.AddIPAccessRule "192.168.29.107", False, 1587 +selectedSite.AddIPAccessRule "192.168.29.106", False, 1588 +selectedSite.AddIPAccessRule "192.168.29.105", False, 1589 +selectedSite.AddIPAccessRule "192.168.29.104", False, 1590 +selectedSite.AddIPAccessRule "192.168.29.103", False, 1591 +selectedSite.AddIPAccessRule "192.168.29.102", False, 1592 +selectedSite.AddIPAccessRule "192.168.29.101", False, 1593 +selectedSite.AddIPAccessRule "192.168.29.100", False, 1594 +selectedSite.AddIPAccessRule "192.168.29.99", False, 1595 +selectedSite.AddIPAccessRule "192.168.29.98", False, 1596 +selectedSite.AddIPAccessRule "192.168.29.97", False, 1597 +selectedSite.AddIPAccessRule "192.168.29.96", False, 1598 +selectedSite.AddIPAccessRule "192.168.29.95", False, 1599 +selectedSite.AddIPAccessRule "192.168.29.94", False, 1600 +selectedSite.AddIPAccessRule "192.168.29.93", False, 1601 +selectedSite.AddIPAccessRule "192.168.29.92", False, 1602 +selectedSite.AddIPAccessRule "192.168.29.91", False, 1603 +selectedSite.AddIPAccessRule "192.168.29.90", False, 1604 +selectedSite.AddIPAccessRule "192.168.29.89", False, 1605 +selectedSite.AddIPAccessRule "192.168.29.88", False, 1606 +selectedSite.AddIPAccessRule "192.168.29.87", False, 1607 +selectedSite.AddIPAccessRule "192.168.29.86", False, 1608 +selectedSite.AddIPAccessRule "192.168.29.85", False, 1609 +selectedSite.AddIPAccessRule "192.168.29.84", False, 1610 +selectedSite.AddIPAccessRule "192.168.29.83", False, 1611 +selectedSite.AddIPAccessRule "192.168.29.82", False, 1612 +selectedSite.AddIPAccessRule "192.168.29.81", False, 1613 +selectedSite.AddIPAccessRule "192.168.29.80", False, 1614 +selectedSite.AddIPAccessRule "192.168.29.79", False, 1615 +selectedSite.AddIPAccessRule "192.168.29.78", False, 1616 +selectedSite.AddIPAccessRule "192.168.29.77", False, 1617 +selectedSite.AddIPAccessRule "192.168.29.76", False, 1618 +selectedSite.AddIPAccessRule "192.168.29.75", False, 1619 +selectedSite.AddIPAccessRule "192.168.29.74", False, 1620 +selectedSite.AddIPAccessRule "192.168.29.73", False, 1621 +selectedSite.AddIPAccessRule "192.168.29.72", False, 1622 +selectedSite.AddIPAccessRule "192.168.29.71", False, 1623 +selectedSite.AddIPAccessRule "192.168.29.70", False, 1624 +selectedSite.AddIPAccessRule "192.168.29.69", False, 1625 +selectedSite.AddIPAccessRule "192.168.29.68", False, 1626 +selectedSite.AddIPAccessRule "192.168.29.67", False, 1627 +selectedSite.AddIPAccessRule "192.168.29.66", False, 1628 +selectedSite.AddIPAccessRule "192.168.29.65", False, 1629 +selectedSite.AddIPAccessRule "192.168.29.64", False, 1630 +selectedSite.AddIPAccessRule "192.168.29.63", False, 1631 +selectedSite.AddIPAccessRule "192.168.29.62", False, 1632 +selectedSite.AddIPAccessRule "192.168.29.61", False, 1633 +selectedSite.AddIPAccessRule "192.168.29.60", False, 1634 +selectedSite.AddIPAccessRule "192.168.29.59", False, 1635 +selectedSite.AddIPAccessRule "192.168.29.58", False, 1636 +selectedSite.AddIPAccessRule "192.168.29.57", False, 1637 +selectedSite.AddIPAccessRule "192.168.29.56", False, 1638 +selectedSite.AddIPAccessRule "192.168.29.55", False, 1639 +selectedSite.AddIPAccessRule "192.168.29.54", False, 1640 +selectedSite.AddIPAccessRule "192.168.29.53", False, 1641 +selectedSite.AddIPAccessRule "192.168.29.52", False, 1642 +selectedSite.AddIPAccessRule "192.168.29.51", False, 1643 +selectedSite.AddIPAccessRule "192.168.29.50", False, 1644 +selectedSite.AddIPAccessRule "192.168.29.49", False, 1645 +selectedSite.AddIPAccessRule "192.168.29.48", False, 1646 +selectedSite.AddIPAccessRule "192.168.29.47", False, 1647 +selectedSite.AddIPAccessRule "192.168.29.46", False, 1648 +selectedSite.AddIPAccessRule "192.168.29.45", False, 1649 +selectedSite.AddIPAccessRule "192.168.29.44", False, 1650 +selectedSite.AddIPAccessRule "192.168.29.43", False, 1651 +selectedSite.AddIPAccessRule "192.168.29.42", False, 1652 +selectedSite.AddIPAccessRule "192.168.29.41", False, 1653 +selectedSite.AddIPAccessRule "192.168.29.40", False, 1654 +selectedSite.AddIPAccessRule "192.168.29.39", False, 1655 +selectedSite.AddIPAccessRule "192.168.29.38", False, 1656 +selectedSite.AddIPAccessRule "192.168.29.37", False, 1657 +selectedSite.AddIPAccessRule "192.168.29.36", False, 1658 +selectedSite.AddIPAccessRule "192.168.29.35", False, 1659 +selectedSite.AddIPAccessRule "192.168.29.34", False, 1660 +selectedSite.AddIPAccessRule "192.168.29.33", False, 1661 +selectedSite.AddIPAccessRule "192.168.29.32", False, 1662 +selectedSite.AddIPAccessRule "192.168.29.31", False, 1663 +selectedSite.AddIPAccessRule "192.168.29.30", False, 1664 +selectedSite.AddIPAccessRule "192.168.29.29", False, 1665 +selectedSite.AddIPAccessRule "192.168.29.28", False, 1666 +selectedSite.AddIPAccessRule "192.168.29.27", False, 1667 +selectedSite.AddIPAccessRule "192.168.29.26", False, 1668 +selectedSite.AddIPAccessRule "192.168.29.25", False, 1669 +selectedSite.AddIPAccessRule "192.168.29.24", False, 1670 +selectedSite.AddIPAccessRule "192.168.29.23", False, 1671 +selectedSite.AddIPAccessRule "192.168.29.22", False, 1672 +selectedSite.AddIPAccessRule "192.168.29.21", False, 1673 +selectedSite.AddIPAccessRule "192.168.29.20", False, 1674 +selectedSite.AddIPAccessRule "192.168.29.19", False, 1675 +selectedSite.AddIPAccessRule "192.168.29.18", False, 1676 +selectedSite.AddIPAccessRule "192.168.29.17", False, 1677 +selectedSite.AddIPAccessRule "192.168.29.16", False, 1678 +selectedSite.AddIPAccessRule "192.168.29.15", False, 1679 +selectedSite.AddIPAccessRule "192.168.29.14", False, 1680 +selectedSite.AddIPAccessRule "192.168.29.13", False, 1681 +selectedSite.AddIPAccessRule "192.168.29.12", False, 1682 +selectedSite.AddIPAccessRule "192.168.29.11", False, 1683 +selectedSite.AddIPAccessRule "192.168.29.10", False, 1684 +selectedSite.AddIPAccessRule "192.168.29.9", False, 1685 +selectedSite.AddIPAccessRule "192.168.29.8", False, 1686 +selectedSite.AddIPAccessRule "192.168.29.7", False, 1687 +selectedSite.AddIPAccessRule "192.168.29.6", False, 1688 +selectedSite.AddIPAccessRule "192.168.29.5", False, 1689 +selectedSite.AddIPAccessRule "192.168.29.4", False, 1690 +selectedSite.AddIPAccessRule "192.168.29.3", False, 1691 +selectedSite.AddIPAccessRule "192.168.29.2", False, 1692 +selectedSite.AddIPAccessRule "192.168.29.1", False, 1693 +selectedSite.AddIPAccessRule "192.168.28.255", False, 1694 +selectedSite.AddIPAccessRule "192.168.28.254", False, 1695 +selectedSite.AddIPAccessRule "192.168.28.253", False, 1696 +selectedSite.AddIPAccessRule "192.168.28.252", False, 1697 +selectedSite.AddIPAccessRule "192.168.28.251", False, 1698 +selectedSite.AddIPAccessRule "192.168.28.250", False, 1699 +selectedSite.AddIPAccessRule "192.168.28.249", False, 1700 +selectedSite.AddIPAccessRule "192.168.28.248", False, 1701 +selectedSite.AddIPAccessRule "192.168.28.247", False, 1702 +selectedSite.AddIPAccessRule "192.168.28.246", False, 1703 +selectedSite.AddIPAccessRule "192.168.28.245", False, 1704 +selectedSite.AddIPAccessRule "192.168.28.244", False, 1705 +selectedSite.AddIPAccessRule "192.168.28.243", False, 1706 +selectedSite.AddIPAccessRule "192.168.28.242", False, 1707 +selectedSite.AddIPAccessRule "192.168.28.241", False, 1708 +selectedSite.AddIPAccessRule "192.168.28.240", False, 1709 +selectedSite.AddIPAccessRule "192.168.28.239", False, 1710 +selectedSite.AddIPAccessRule "192.168.28.238", False, 1711 +selectedSite.AddIPAccessRule "192.168.28.237", False, 1712 +selectedSite.AddIPAccessRule "192.168.28.236", False, 1713 +selectedSite.AddIPAccessRule "192.168.28.235", False, 1714 +selectedSite.AddIPAccessRule "192.168.28.234", False, 1715 +selectedSite.AddIPAccessRule "192.168.28.233", False, 1716 +selectedSite.AddIPAccessRule "192.168.28.232", False, 1717 +selectedSite.AddIPAccessRule "192.168.28.231", False, 1718 +selectedSite.AddIPAccessRule "192.168.28.230", False, 1719 +selectedSite.AddIPAccessRule "192.168.28.229", False, 1720 +selectedSite.AddIPAccessRule "192.168.28.228", False, 1721 +selectedSite.AddIPAccessRule "192.168.28.227", False, 1722 +selectedSite.AddIPAccessRule "192.168.28.226", False, 1723 +selectedSite.AddIPAccessRule "192.168.28.225", False, 1724 +selectedSite.AddIPAccessRule "192.168.28.224", False, 1725 +selectedSite.AddIPAccessRule "192.168.28.223", False, 1726 +selectedSite.AddIPAccessRule "192.168.28.222", False, 1727 +selectedSite.AddIPAccessRule "192.168.28.221", False, 1728 +selectedSite.AddIPAccessRule "192.168.28.220", False, 1729 +selectedSite.AddIPAccessRule "192.168.28.219", False, 1730 +selectedSite.AddIPAccessRule "192.168.28.218", False, 1731 +selectedSite.AddIPAccessRule "192.168.28.217", False, 1732 +selectedSite.AddIPAccessRule "192.168.28.216", False, 1733 +selectedSite.AddIPAccessRule "192.168.28.215", False, 1734 +selectedSite.AddIPAccessRule "192.168.28.214", False, 1735 +selectedSite.AddIPAccessRule "192.168.28.213", False, 1736 +selectedSite.AddIPAccessRule "192.168.28.212", False, 1737 +selectedSite.AddIPAccessRule "192.168.28.211", False, 1738 +selectedSite.AddIPAccessRule "192.168.28.210", False, 1739 +selectedSite.AddIPAccessRule "192.168.28.209", False, 1740 +selectedSite.AddIPAccessRule "192.168.28.208", False, 1741 +selectedSite.AddIPAccessRule "192.168.28.207", False, 1742 +selectedSite.AddIPAccessRule "192.168.28.206", False, 1743 +selectedSite.AddIPAccessRule "192.168.28.205", False, 1744 +selectedSite.AddIPAccessRule "192.168.28.204", False, 1745 +selectedSite.AddIPAccessRule "192.168.28.203", False, 1746 +selectedSite.AddIPAccessRule "192.168.28.202", False, 1747 +selectedSite.AddIPAccessRule "192.168.28.201", False, 1748 +selectedSite.AddIPAccessRule "192.168.28.200", False, 1749 +selectedSite.AddIPAccessRule "192.168.28.199", False, 1750 +selectedSite.AddIPAccessRule "192.168.28.198", False, 1751 +selectedSite.AddIPAccessRule "192.168.28.197", False, 1752 +selectedSite.AddIPAccessRule "192.168.28.196", False, 1753 +selectedSite.AddIPAccessRule "192.168.28.195", False, 1754 +selectedSite.AddIPAccessRule "192.168.28.194", False, 1755 +selectedSite.AddIPAccessRule "192.168.28.193", False, 1756 +selectedSite.AddIPAccessRule "192.168.28.192", False, 1757 +selectedSite.AddIPAccessRule "192.168.28.191", False, 1758 +selectedSite.AddIPAccessRule "192.168.28.190", False, 1759 +selectedSite.AddIPAccessRule "192.168.28.189", False, 1760 +selectedSite.AddIPAccessRule "192.168.28.188", False, 1761 +selectedSite.AddIPAccessRule "192.168.28.187", False, 1762 +selectedSite.AddIPAccessRule "192.168.28.186", False, 1763 +selectedSite.AddIPAccessRule "192.168.28.185", False, 1764 +selectedSite.AddIPAccessRule "192.168.28.184", False, 1765 +selectedSite.AddIPAccessRule "192.168.28.183", False, 1766 +selectedSite.AddIPAccessRule "192.168.28.182", False, 1767 +selectedSite.AddIPAccessRule "192.168.28.181", False, 1768 +selectedSite.AddIPAccessRule "192.168.28.180", False, 1769 +selectedSite.AddIPAccessRule "192.168.28.179", False, 1770 +selectedSite.AddIPAccessRule "192.168.28.178", False, 1771 +selectedSite.AddIPAccessRule "192.168.28.177", False, 1772 +selectedSite.AddIPAccessRule "192.168.28.176", False, 1773 +selectedSite.AddIPAccessRule "192.168.28.175", False, 1774 +selectedSite.AddIPAccessRule "192.168.28.174", False, 1775 +selectedSite.AddIPAccessRule "192.168.28.173", False, 1776 +selectedSite.AddIPAccessRule "192.168.28.172", False, 1777 +selectedSite.AddIPAccessRule "192.168.28.171", False, 1778 +selectedSite.AddIPAccessRule "192.168.28.170", False, 1779 +selectedSite.AddIPAccessRule "192.168.28.169", False, 1780 +selectedSite.AddIPAccessRule "192.168.28.168", False, 1781 +selectedSite.AddIPAccessRule "192.168.28.167", False, 1782 +selectedSite.AddIPAccessRule "192.168.28.166", False, 1783 +selectedSite.AddIPAccessRule "192.168.28.165", False, 1784 +selectedSite.AddIPAccessRule "192.168.28.164", False, 1785 +selectedSite.AddIPAccessRule "192.168.28.163", False, 1786 +selectedSite.AddIPAccessRule "192.168.28.162", False, 1787 +selectedSite.AddIPAccessRule "192.168.28.161", False, 1788 +selectedSite.AddIPAccessRule "192.168.28.160", False, 1789 +selectedSite.AddIPAccessRule "192.168.28.159", False, 1790 +selectedSite.AddIPAccessRule "192.168.28.158", False, 1791 +selectedSite.AddIPAccessRule "192.168.28.157", False, 1792 +selectedSite.AddIPAccessRule "192.168.28.156", False, 1793 +selectedSite.AddIPAccessRule "192.168.28.155", False, 1794 +selectedSite.AddIPAccessRule "192.168.28.154", False, 1795 +selectedSite.AddIPAccessRule "192.168.28.153", False, 1796 +selectedSite.AddIPAccessRule "192.168.28.152", False, 1797 +selectedSite.AddIPAccessRule "192.168.28.151", False, 1798 +selectedSite.AddIPAccessRule "192.168.28.150", False, 1799 +selectedSite.AddIPAccessRule "192.168.28.149", False, 1800 +selectedSite.AddIPAccessRule "192.168.28.148", False, 1801 +selectedSite.AddIPAccessRule "192.168.28.147", False, 1802 +selectedSite.AddIPAccessRule "192.168.28.146", False, 1803 +selectedSite.AddIPAccessRule "192.168.28.145", False, 1804 +selectedSite.AddIPAccessRule "192.168.28.144", False, 1805 +selectedSite.AddIPAccessRule "192.168.28.143", False, 1806 +selectedSite.AddIPAccessRule "192.168.28.142", False, 1807 +selectedSite.AddIPAccessRule "192.168.28.141", False, 1808 +selectedSite.AddIPAccessRule "192.168.28.140", False, 1809 +selectedSite.AddIPAccessRule "192.168.28.139", False, 1810 +selectedSite.AddIPAccessRule "192.168.28.138", False, 1811 +selectedSite.AddIPAccessRule "192.168.28.137", False, 1812 +selectedSite.AddIPAccessRule "192.168.28.136", False, 1813 +selectedSite.AddIPAccessRule "192.168.28.135", False, 1814 +selectedSite.AddIPAccessRule "192.168.28.134", False, 1815 +selectedSite.AddIPAccessRule "192.168.28.133", False, 1816 +selectedSite.AddIPAccessRule "192.168.28.132", False, 1817 +selectedSite.AddIPAccessRule "192.168.28.131", False, 1818 +selectedSite.AddIPAccessRule "192.168.28.130", False, 1819 +selectedSite.AddIPAccessRule "192.168.28.129", False, 1820 +selectedSite.AddIPAccessRule "192.168.28.128", False, 1821 +selectedSite.AddIPAccessRule "192.168.28.127", False, 1822 +selectedSite.AddIPAccessRule "192.168.28.126", False, 1823 +selectedSite.AddIPAccessRule "192.168.28.125", False, 1824 +selectedSite.AddIPAccessRule "192.168.28.124", False, 1825 +selectedSite.AddIPAccessRule "192.168.28.123", False, 1826 +selectedSite.AddIPAccessRule "192.168.28.122", False, 1827 +selectedSite.AddIPAccessRule "192.168.28.121", False, 1828 +selectedSite.AddIPAccessRule "192.168.28.120", False, 1829 +selectedSite.AddIPAccessRule "192.168.28.119", False, 1830 +selectedSite.AddIPAccessRule "192.168.28.118", False, 1831 +selectedSite.AddIPAccessRule "192.168.28.117", False, 1832 +selectedSite.AddIPAccessRule "192.168.28.116", False, 1833 +selectedSite.AddIPAccessRule "192.168.28.115", False, 1834 +selectedSite.AddIPAccessRule "192.168.28.114", False, 1835 +selectedSite.AddIPAccessRule "192.168.28.113", False, 1836 +selectedSite.AddIPAccessRule "192.168.28.112", False, 1837 +selectedSite.AddIPAccessRule "192.168.28.111", False, 1838 +selectedSite.AddIPAccessRule "192.168.28.110", False, 1839 +selectedSite.AddIPAccessRule "192.168.28.109", False, 1840 +selectedSite.AddIPAccessRule "192.168.28.108", False, 1841 +selectedSite.AddIPAccessRule "192.168.28.107", False, 1842 +selectedSite.AddIPAccessRule "192.168.28.106", False, 1843 +selectedSite.AddIPAccessRule "192.168.28.105", False, 1844 +selectedSite.AddIPAccessRule "192.168.28.104", False, 1845 +selectedSite.AddIPAccessRule "192.168.28.103", False, 1846 +selectedSite.AddIPAccessRule "192.168.28.102", False, 1847 +selectedSite.AddIPAccessRule "192.168.28.101", False, 1848 +selectedSite.AddIPAccessRule "192.168.28.100", False, 1849 +selectedSite.AddIPAccessRule "192.168.28.99", False, 1850 +selectedSite.AddIPAccessRule "192.168.28.98", False, 1851 +selectedSite.AddIPAccessRule "192.168.28.97", False, 1852 +selectedSite.AddIPAccessRule "192.168.28.96", False, 1853 +selectedSite.AddIPAccessRule "192.168.28.95", False, 1854 +selectedSite.AddIPAccessRule "192.168.28.94", False, 1855 +selectedSite.AddIPAccessRule "192.168.28.93", False, 1856 +selectedSite.AddIPAccessRule "192.168.28.92", False, 1857 +selectedSite.AddIPAccessRule "192.168.28.91", False, 1858 +selectedSite.AddIPAccessRule "192.168.28.90", False, 1859 +selectedSite.AddIPAccessRule "192.168.28.89", False, 1860 +selectedSite.AddIPAccessRule "192.168.28.88", False, 1861 +selectedSite.AddIPAccessRule "192.168.28.87", False, 1862 +selectedSite.AddIPAccessRule "192.168.28.86", False, 1863 +selectedSite.AddIPAccessRule "192.168.28.85", False, 1864 +selectedSite.AddIPAccessRule "192.168.28.84", False, 1865 +selectedSite.AddIPAccessRule "192.168.28.83", False, 1866 +selectedSite.AddIPAccessRule "192.168.28.82", False, 1867 +selectedSite.AddIPAccessRule "192.168.28.81", False, 1868 +selectedSite.AddIPAccessRule "192.168.28.80", False, 1869 +selectedSite.AddIPAccessRule "192.168.28.79", False, 1870 +selectedSite.AddIPAccessRule "192.168.28.78", False, 1871 +selectedSite.AddIPAccessRule "192.168.28.77", False, 1872 +selectedSite.AddIPAccessRule "192.168.28.76", False, 1873 +selectedSite.AddIPAccessRule "192.168.28.75", False, 1874 +selectedSite.AddIPAccessRule "192.168.28.74", False, 1875 +selectedSite.AddIPAccessRule "192.168.28.73", False, 1876 +selectedSite.AddIPAccessRule "192.168.28.72", False, 1877 +selectedSite.AddIPAccessRule "192.168.28.71", False, 1878 +selectedSite.AddIPAccessRule "192.168.28.70", False, 1879 +selectedSite.AddIPAccessRule "192.168.28.69", False, 1880 +selectedSite.AddIPAccessRule "192.168.28.68", False, 1881 +selectedSite.AddIPAccessRule "192.168.28.67", False, 1882 +selectedSite.AddIPAccessRule "192.168.28.66", False, 1883 +selectedSite.AddIPAccessRule "192.168.28.65", False, 1884 +selectedSite.AddIPAccessRule "192.168.28.64", False, 1885 +selectedSite.AddIPAccessRule "192.168.28.63", False, 1886 +selectedSite.AddIPAccessRule "192.168.28.62", False, 1887 +selectedSite.AddIPAccessRule "192.168.28.61", False, 1888 +selectedSite.AddIPAccessRule "192.168.28.60", False, 1889 +selectedSite.AddIPAccessRule "192.168.28.59", False, 1890 +selectedSite.AddIPAccessRule "192.168.28.58", False, 1891 +selectedSite.AddIPAccessRule "192.168.28.57", False, 1892 +selectedSite.AddIPAccessRule "192.168.28.56", False, 1893 +selectedSite.AddIPAccessRule "192.168.28.55", False, 1894 +selectedSite.AddIPAccessRule "192.168.28.54", False, 1895 +selectedSite.AddIPAccessRule "192.168.28.53", False, 1896 +selectedSite.AddIPAccessRule "192.168.28.52", False, 1897 +selectedSite.AddIPAccessRule "192.168.28.51", False, 1898 +selectedSite.AddIPAccessRule "192.168.28.50", False, 1899 +selectedSite.AddIPAccessRule "192.168.28.49", False, 1900 +selectedSite.AddIPAccessRule "192.168.28.48", False, 1901 +selectedSite.AddIPAccessRule "192.168.28.47", False, 1902 +selectedSite.AddIPAccessRule "192.168.28.46", False, 1903 +selectedSite.AddIPAccessRule "192.168.28.45", False, 1904 +selectedSite.AddIPAccessRule "192.168.28.44", False, 1905 +selectedSite.AddIPAccessRule "192.168.28.43", False, 1906 +selectedSite.AddIPAccessRule "192.168.28.42", False, 1907 +selectedSite.AddIPAccessRule "192.168.28.41", False, 1908 +selectedSite.AddIPAccessRule "192.168.28.40", False, 1909 +selectedSite.AddIPAccessRule "192.168.28.39", False, 1910 +selectedSite.AddIPAccessRule "192.168.28.38", False, 1911 +selectedSite.AddIPAccessRule "192.168.28.37", False, 1912 +selectedSite.AddIPAccessRule "192.168.28.36", False, 1913 +selectedSite.AddIPAccessRule "192.168.28.35", False, 1914 +selectedSite.AddIPAccessRule "192.168.28.34", False, 1915 +selectedSite.AddIPAccessRule "192.168.28.33", False, 1916 +selectedSite.AddIPAccessRule "192.168.28.32", False, 1917 +selectedSite.AddIPAccessRule "192.168.28.31", False, 1918 +selectedSite.AddIPAccessRule "192.168.28.30", False, 1919 +selectedSite.AddIPAccessRule "192.168.28.29", False, 1920 +selectedSite.AddIPAccessRule "192.168.28.28", False, 1921 +selectedSite.AddIPAccessRule "192.168.28.27", False, 1922 +selectedSite.AddIPAccessRule "192.168.28.26", False, 1923 +selectedSite.AddIPAccessRule "192.168.28.25", False, 1924 +selectedSite.AddIPAccessRule "192.168.28.24", False, 1925 +selectedSite.AddIPAccessRule "192.168.28.23", False, 1926 +selectedSite.AddIPAccessRule "192.168.28.22", False, 1927 +selectedSite.AddIPAccessRule "192.168.28.21", False, 1928 +selectedSite.AddIPAccessRule "192.168.28.20", False, 1929 +selectedSite.AddIPAccessRule "192.168.28.19", False, 1930 +selectedSite.AddIPAccessRule "192.168.28.18", False, 1931 +selectedSite.AddIPAccessRule "192.168.28.17", False, 1932 +selectedSite.AddIPAccessRule "192.168.28.16", False, 1933 +selectedSite.AddIPAccessRule "192.168.28.15", False, 1934 +selectedSite.AddIPAccessRule "192.168.28.14", False, 1935 +selectedSite.AddIPAccessRule "192.168.28.13", False, 1936 +selectedSite.AddIPAccessRule "192.168.28.12", False, 1937 +selectedSite.AddIPAccessRule "192.168.28.11", False, 1938 +selectedSite.AddIPAccessRule "192.168.28.10", False, 1939 +selectedSite.AddIPAccessRule "192.168.28.9", False, 1940 +selectedSite.AddIPAccessRule "192.168.28.8", False, 1941 +selectedSite.AddIPAccessRule "192.168.28.7", False, 1942 +selectedSite.AddIPAccessRule "192.168.28.6", False, 1943 +selectedSite.AddIPAccessRule "192.168.28.5", False, 1944 +selectedSite.AddIPAccessRule "192.168.28.4", False, 1945 +selectedSite.AddIPAccessRule "192.168.28.3", False, 1946 +selectedSite.AddIPAccessRule "192.168.28.2", False, 1947 +selectedSite.AddIPAccessRule "192.168.28.1", False, 1948 +selectedSite.AddIPAccessRule "192.168.27.255", False, 1949 +selectedSite.AddIPAccessRule "192.168.27.254", False, 1950 +selectedSite.AddIPAccessRule "192.168.27.253", False, 1951 +selectedSite.AddIPAccessRule "192.168.27.252", False, 1952 +selectedSite.AddIPAccessRule "192.168.27.251", False, 1953 +selectedSite.AddIPAccessRule "192.168.27.250", False, 1954 +selectedSite.AddIPAccessRule "192.168.27.249", False, 1955 +selectedSite.AddIPAccessRule "192.168.27.248", False, 1956 +selectedSite.AddIPAccessRule "192.168.27.247", False, 1957 +selectedSite.AddIPAccessRule "192.168.27.246", False, 1958 +selectedSite.AddIPAccessRule "192.168.27.245", False, 1959 +selectedSite.AddIPAccessRule "192.168.27.244", False, 1960 +selectedSite.AddIPAccessRule "192.168.27.243", False, 1961 +selectedSite.AddIPAccessRule "192.168.27.242", False, 1962 +selectedSite.AddIPAccessRule "192.168.27.241", False, 1963 +selectedSite.AddIPAccessRule "192.168.27.240", False, 1964 +selectedSite.AddIPAccessRule "192.168.27.239", False, 1965 +selectedSite.AddIPAccessRule "192.168.27.238", False, 1966 +selectedSite.AddIPAccessRule "192.168.27.237", False, 1967 +selectedSite.AddIPAccessRule "192.168.27.236", False, 1968 +selectedSite.AddIPAccessRule "192.168.27.235", False, 1969 +selectedSite.AddIPAccessRule "192.168.27.234", False, 1970 +selectedSite.AddIPAccessRule "192.168.27.233", False, 1971 +selectedSite.AddIPAccessRule "192.168.27.232", False, 1972 +selectedSite.AddIPAccessRule "192.168.27.231", False, 1973 +selectedSite.AddIPAccessRule "192.168.27.230", False, 1974 +selectedSite.AddIPAccessRule "192.168.27.229", False, 1975 +selectedSite.AddIPAccessRule "192.168.27.228", False, 1976 +selectedSite.AddIPAccessRule "192.168.27.227", False, 1977 +selectedSite.AddIPAccessRule "192.168.27.226", False, 1978 +selectedSite.AddIPAccessRule "192.168.27.225", False, 1979 +selectedSite.AddIPAccessRule "192.168.27.224", False, 1980 +selectedSite.AddIPAccessRule "192.168.27.223", False, 1981 +selectedSite.AddIPAccessRule "192.168.27.222", False, 1982 +selectedSite.AddIPAccessRule "192.168.27.221", False, 1983 +selectedSite.AddIPAccessRule "192.168.27.220", False, 1984 +selectedSite.AddIPAccessRule "192.168.27.219", False, 1985 +selectedSite.AddIPAccessRule "192.168.27.218", False, 1986 +selectedSite.AddIPAccessRule "192.168.27.217", False, 1987 +selectedSite.AddIPAccessRule "192.168.27.216", False, 1988 +selectedSite.AddIPAccessRule "192.168.27.215", False, 1989 +selectedSite.AddIPAccessRule "192.168.27.214", False, 1990 +selectedSite.AddIPAccessRule "192.168.27.213", False, 1991 +selectedSite.AddIPAccessRule "192.168.27.212", False, 1992 +selectedSite.AddIPAccessRule "192.168.27.211", False, 1993 +selectedSite.AddIPAccessRule "192.168.27.210", False, 1994 +selectedSite.AddIPAccessRule "192.168.27.209", False, 1995 +selectedSite.AddIPAccessRule "192.168.27.208", False, 1996 +selectedSite.AddIPAccessRule "192.168.27.207", False, 1997 +selectedSite.AddIPAccessRule "192.168.27.206", False, 1998 +selectedSite.AddIPAccessRule "192.168.27.205", False, 1999 +selectedSite.AddIPAccessRule "192.168.27.204", False, 2000 +selectedSite.AddIPAccessRule "192.168.27.203", False, 2001 +selectedSite.AddIPAccessRule "192.168.27.202", False, 2002 +selectedSite.AddIPAccessRule "192.168.27.201", False, 2003 +selectedSite.AddIPAccessRule "192.168.27.200", False, 2004 +selectedSite.AddIPAccessRule "192.168.27.199", False, 2005 +selectedSite.AddIPAccessRule "192.168.27.198", False, 2006 +selectedSite.AddIPAccessRule "192.168.27.197", False, 2007 +selectedSite.AddIPAccessRule "192.168.27.196", False, 2008 +selectedSite.AddIPAccessRule "192.168.27.195", False, 2009 +selectedSite.AddIPAccessRule "192.168.27.194", False, 2010 +selectedSite.AddIPAccessRule "192.168.27.193", False, 2011 +selectedSite.AddIPAccessRule "192.168.27.192", False, 2012 +selectedSite.AddIPAccessRule "192.168.27.191", False, 2013 +selectedSite.AddIPAccessRule "192.168.27.190", False, 2014 +selectedSite.AddIPAccessRule "192.168.27.189", False, 2015 +selectedSite.AddIPAccessRule "192.168.27.188", False, 2016 +selectedSite.AddIPAccessRule "192.168.27.187", False, 2017 +selectedSite.AddIPAccessRule "192.168.27.186", False, 2018 +selectedSite.AddIPAccessRule "192.168.27.185", False, 2019 +selectedSite.AddIPAccessRule "192.168.27.184", False, 2020 +selectedSite.AddIPAccessRule "192.168.27.183", False, 2021 +selectedSite.AddIPAccessRule "192.168.27.182", False, 2022 +selectedSite.AddIPAccessRule "192.168.27.181", False, 2023 +selectedSite.AddIPAccessRule "192.168.27.180", False, 2024 +selectedSite.AddIPAccessRule "192.168.27.179", False, 2025 +selectedSite.AddIPAccessRule "192.168.27.178", False, 2026 +selectedSite.AddIPAccessRule "192.168.27.177", False, 2027 +selectedSite.AddIPAccessRule "192.168.27.176", False, 2028 +selectedSite.AddIPAccessRule "192.168.27.175", False, 2029 +selectedSite.AddIPAccessRule "192.168.27.174", False, 2030 +selectedSite.AddIPAccessRule "192.168.27.173", False, 2031 +selectedSite.AddIPAccessRule "192.168.27.172", False, 2032 +selectedSite.AddIPAccessRule "192.168.27.171", False, 2033 +selectedSite.AddIPAccessRule "192.168.27.170", False, 2034 +selectedSite.AddIPAccessRule "192.168.27.169", False, 2035 +selectedSite.AddIPAccessRule "192.168.27.168", False, 2036 +selectedSite.AddIPAccessRule "192.168.27.167", False, 2037 +selectedSite.AddIPAccessRule "192.168.27.166", False, 2038 +selectedSite.AddIPAccessRule "192.168.27.165", False, 2039 +selectedSite.AddIPAccessRule "192.168.27.164", False, 2040 +selectedSite.AddIPAccessRule "192.168.27.163", False, 2041 +selectedSite.AddIPAccessRule "192.168.27.162", False, 2042 +selectedSite.AddIPAccessRule "192.168.27.161", False, 2043 +selectedSite.AddIPAccessRule "192.168.27.160", False, 2044 +selectedSite.AddIPAccessRule "192.168.27.159", False, 2045 +selectedSite.AddIPAccessRule "192.168.27.158", False, 2046 +selectedSite.AddIPAccessRule "192.168.27.157", False, 2047 +selectedSite.AddIPAccessRule "192.168.27.156", False, 2048 +selectedSite.AddIPAccessRule "192.168.27.155", False, 2049 +selectedSite.AddIPAccessRule "192.168.27.154", False, 2050 +selectedSite.AddIPAccessRule "192.168.27.153", False, 2051 +selectedSite.AddIPAccessRule "192.168.27.152", False, 2052 +selectedSite.AddIPAccessRule "192.168.27.151", False, 2053 +selectedSite.AddIPAccessRule "192.168.27.150", False, 2054 +selectedSite.AddIPAccessRule "192.168.27.149", False, 2055 +selectedSite.AddIPAccessRule "192.168.27.148", False, 2056 +selectedSite.AddIPAccessRule "192.168.27.147", False, 2057 +selectedSite.AddIPAccessRule "192.168.27.146", False, 2058 +selectedSite.AddIPAccessRule "192.168.27.145", False, 2059 +selectedSite.AddIPAccessRule "192.168.27.144", False, 2060 +selectedSite.AddIPAccessRule "192.168.27.143", False, 2061 +selectedSite.AddIPAccessRule "192.168.27.142", False, 2062 +selectedSite.AddIPAccessRule "192.168.27.141", False, 2063 +selectedSite.AddIPAccessRule "192.168.27.140", False, 2064 +selectedSite.AddIPAccessRule "192.168.27.139", False, 2065 +selectedSite.AddIPAccessRule "192.168.27.138", False, 2066 +selectedSite.AddIPAccessRule "192.168.27.137", False, 2067 +selectedSite.AddIPAccessRule "192.168.27.136", False, 2068 +selectedSite.AddIPAccessRule "192.168.27.135", False, 2069 +selectedSite.AddIPAccessRule "192.168.27.134", False, 2070 +selectedSite.AddIPAccessRule "192.168.27.133", False, 2071 +selectedSite.AddIPAccessRule "192.168.27.132", False, 2072 +selectedSite.AddIPAccessRule "192.168.27.131", False, 2073 +selectedSite.AddIPAccessRule "192.168.27.130", False, 2074 +selectedSite.AddIPAccessRule "192.168.27.129", False, 2075 +selectedSite.AddIPAccessRule "192.168.27.128", False, 2076 +selectedSite.AddIPAccessRule "192.168.27.127", False, 2077 +selectedSite.AddIPAccessRule "192.168.27.126", False, 2078 +selectedSite.AddIPAccessRule "192.168.27.125", False, 2079 +selectedSite.AddIPAccessRule "192.168.27.124", False, 2080 +selectedSite.AddIPAccessRule "192.168.27.123", False, 2081 +selectedSite.AddIPAccessRule "192.168.27.122", False, 2082 +selectedSite.AddIPAccessRule "192.168.27.121", False, 2083 +selectedSite.AddIPAccessRule "192.168.27.120", False, 2084 +selectedSite.AddIPAccessRule "192.168.27.119", False, 2085 +selectedSite.AddIPAccessRule "192.168.27.118", False, 2086 +selectedSite.AddIPAccessRule "192.168.27.117", False, 2087 +selectedSite.AddIPAccessRule "192.168.27.116", False, 2088 +selectedSite.AddIPAccessRule "192.168.27.115", False, 2089 +selectedSite.AddIPAccessRule "192.168.27.114", False, 2090 +selectedSite.AddIPAccessRule "192.168.27.113", False, 2091 +selectedSite.AddIPAccessRule "192.168.27.112", False, 2092 +selectedSite.AddIPAccessRule "192.168.27.111", False, 2093 +selectedSite.AddIPAccessRule "192.168.27.110", False, 2094 +selectedSite.AddIPAccessRule "192.168.27.109", False, 2095 +selectedSite.AddIPAccessRule "192.168.27.108", False, 2096 +selectedSite.AddIPAccessRule "192.168.27.107", False, 2097 +selectedSite.AddIPAccessRule "192.168.27.106", False, 2098 +selectedSite.AddIPAccessRule "192.168.27.105", False, 2099 +selectedSite.AddIPAccessRule "192.168.27.104", False, 2100 +selectedSite.AddIPAccessRule "192.168.27.103", False, 2101 +selectedSite.AddIPAccessRule "192.168.27.102", False, 2102 +selectedSite.AddIPAccessRule "192.168.27.101", False, 2103 +selectedSite.AddIPAccessRule "192.168.27.100", False, 2104 +selectedSite.AddIPAccessRule "192.168.27.99", False, 2105 +selectedSite.AddIPAccessRule "192.168.27.98", False, 2106 +selectedSite.AddIPAccessRule "192.168.27.97", False, 2107 +selectedSite.AddIPAccessRule "192.168.27.96", False, 2108 +selectedSite.AddIPAccessRule "192.168.27.95", False, 2109 +selectedSite.AddIPAccessRule "192.168.27.94", False, 2110 +selectedSite.AddIPAccessRule "192.168.27.93", False, 2111 +selectedSite.AddIPAccessRule "192.168.27.92", False, 2112 +selectedSite.AddIPAccessRule "192.168.27.91", False, 2113 +selectedSite.AddIPAccessRule "192.168.27.90", False, 2114 +selectedSite.AddIPAccessRule "192.168.27.89", False, 2115 +selectedSite.AddIPAccessRule "192.168.27.88", False, 2116 +selectedSite.AddIPAccessRule "192.168.27.87", False, 2117 +selectedSite.AddIPAccessRule "192.168.27.86", False, 2118 +selectedSite.AddIPAccessRule "192.168.27.85", False, 2119 +selectedSite.AddIPAccessRule "192.168.27.84", False, 2120 +selectedSite.AddIPAccessRule "192.168.27.83", False, 2121 +selectedSite.AddIPAccessRule "192.168.27.82", False, 2122 +selectedSite.AddIPAccessRule "192.168.27.81", False, 2123 +selectedSite.AddIPAccessRule "192.168.27.80", False, 2124 +selectedSite.AddIPAccessRule "192.168.27.79", False, 2125 +selectedSite.AddIPAccessRule "192.168.27.78", False, 2126 +selectedSite.AddIPAccessRule "192.168.27.77", False, 2127 +selectedSite.AddIPAccessRule "192.168.27.76", False, 2128 +selectedSite.AddIPAccessRule "192.168.27.75", False, 2129 +selectedSite.AddIPAccessRule "192.168.27.74", False, 2130 +selectedSite.AddIPAccessRule "192.168.27.73", False, 2131 +selectedSite.AddIPAccessRule "192.168.27.72", False, 2132 +selectedSite.AddIPAccessRule "192.168.27.71", False, 2133 +selectedSite.AddIPAccessRule "192.168.27.70", False, 2134 +selectedSite.AddIPAccessRule "192.168.27.69", False, 2135 +selectedSite.AddIPAccessRule "192.168.27.68", False, 2136 +selectedSite.AddIPAccessRule "192.168.27.67", False, 2137 +selectedSite.AddIPAccessRule "192.168.27.66", False, 2138 +selectedSite.AddIPAccessRule "192.168.27.65", False, 2139 +selectedSite.AddIPAccessRule "192.168.27.64", False, 2140 +selectedSite.AddIPAccessRule "192.168.27.63", False, 2141 +selectedSite.AddIPAccessRule "192.168.27.62", False, 2142 +selectedSite.AddIPAccessRule "192.168.27.61", False, 2143 +selectedSite.AddIPAccessRule "192.168.27.60", False, 2144 +selectedSite.AddIPAccessRule "192.168.27.59", False, 2145 +selectedSite.AddIPAccessRule "192.168.27.58", False, 2146 +selectedSite.AddIPAccessRule "192.168.27.57", False, 2147 +selectedSite.AddIPAccessRule "192.168.27.56", False, 2148 +selectedSite.AddIPAccessRule "192.168.27.55", False, 2149 +selectedSite.AddIPAccessRule "192.168.27.54", False, 2150 +selectedSite.AddIPAccessRule "192.168.27.53", False, 2151 +selectedSite.AddIPAccessRule "192.168.27.52", False, 2152 +selectedSite.AddIPAccessRule "192.168.27.51", False, 2153 +selectedSite.AddIPAccessRule "192.168.27.50", False, 2154 +selectedSite.AddIPAccessRule "192.168.27.49", False, 2155 +selectedSite.AddIPAccessRule "192.168.27.48", False, 2156 +selectedSite.AddIPAccessRule "192.168.27.47", False, 2157 +selectedSite.AddIPAccessRule "192.168.27.46", False, 2158 +selectedSite.AddIPAccessRule "192.168.27.45", False, 2159 +selectedSite.AddIPAccessRule "192.168.27.44", False, 2160 +selectedSite.AddIPAccessRule "192.168.27.43", False, 2161 +selectedSite.AddIPAccessRule "192.168.27.42", False, 2162 +selectedSite.AddIPAccessRule "192.168.27.41", False, 2163 +selectedSite.AddIPAccessRule "192.168.27.40", False, 2164 +selectedSite.AddIPAccessRule "192.168.27.39", False, 2165 +selectedSite.AddIPAccessRule "192.168.27.38", False, 2166 +selectedSite.AddIPAccessRule "192.168.27.37", False, 2167 +selectedSite.AddIPAccessRule "192.168.27.36", False, 2168 +selectedSite.AddIPAccessRule "192.168.27.35", False, 2169 +selectedSite.AddIPAccessRule "192.168.27.34", False, 2170 +selectedSite.AddIPAccessRule "192.168.27.33", False, 2171 +selectedSite.AddIPAccessRule "192.168.27.32", False, 2172 +selectedSite.AddIPAccessRule "192.168.27.31", False, 2173 +selectedSite.AddIPAccessRule "192.168.27.30", False, 2174 +selectedSite.AddIPAccessRule "192.168.27.29", False, 2175 +selectedSite.AddIPAccessRule "192.168.27.28", False, 2176 +selectedSite.AddIPAccessRule "192.168.27.27", False, 2177 +selectedSite.AddIPAccessRule "192.168.27.26", False, 2178 +selectedSite.AddIPAccessRule "192.168.27.25", False, 2179 +selectedSite.AddIPAccessRule "192.168.27.24", False, 2180 +selectedSite.AddIPAccessRule "192.168.27.23", False, 2181 +selectedSite.AddIPAccessRule "192.168.27.22", False, 2182 +selectedSite.AddIPAccessRule "192.168.27.21", False, 2183 +selectedSite.AddIPAccessRule "192.168.27.20", False, 2184 +selectedSite.AddIPAccessRule "192.168.27.19", False, 2185 +selectedSite.AddIPAccessRule "192.168.27.18", False, 2186 +selectedSite.AddIPAccessRule "192.168.27.17", False, 2187 +selectedSite.AddIPAccessRule "192.168.27.16", False, 2188 +selectedSite.AddIPAccessRule "192.168.27.15", False, 2189 +selectedSite.AddIPAccessRule "192.168.27.14", False, 2190 +selectedSite.AddIPAccessRule "192.168.27.13", False, 2191 +selectedSite.AddIPAccessRule "192.168.27.12", False, 2192 +selectedSite.AddIPAccessRule "192.168.27.11", False, 2193 +selectedSite.AddIPAccessRule "192.168.27.10", False, 2194 +selectedSite.AddIPAccessRule "192.168.27.9", False, 2195 +selectedSite.AddIPAccessRule "192.168.27.8", False, 2196 +selectedSite.AddIPAccessRule "192.168.27.7", False, 2197 +selectedSite.AddIPAccessRule "192.168.27.6", False, 2198 +selectedSite.AddIPAccessRule "192.168.27.5", False, 2199 +selectedSite.AddIPAccessRule "192.168.27.4", False, 2200 +selectedSite.AddIPAccessRule "192.168.27.3", False, 2201 +selectedSite.AddIPAccessRule "192.168.27.2", False, 2202 +selectedSite.AddIPAccessRule "192.168.27.1", False, 2203 +selectedSite.AddIPAccessRule "192.168.26.255", False, 2204 +selectedSite.AddIPAccessRule "192.168.26.254", False, 2205 +selectedSite.AddIPAccessRule "192.168.26.253", False, 2206 +selectedSite.AddIPAccessRule "192.168.26.252", False, 2207 +selectedSite.AddIPAccessRule "192.168.26.251", False, 2208 +selectedSite.AddIPAccessRule "192.168.26.250", False, 2209 +selectedSite.AddIPAccessRule "192.168.26.249", False, 2210 +selectedSite.AddIPAccessRule "192.168.26.248", False, 2211 +selectedSite.AddIPAccessRule "192.168.26.247", False, 2212 +selectedSite.AddIPAccessRule "192.168.26.246", False, 2213 +selectedSite.AddIPAccessRule "192.168.26.245", False, 2214 +selectedSite.AddIPAccessRule "192.168.26.244", False, 2215 +selectedSite.AddIPAccessRule "192.168.26.243", False, 2216 +selectedSite.AddIPAccessRule "192.168.26.242", False, 2217 +selectedSite.AddIPAccessRule "192.168.26.241", False, 2218 +selectedSite.AddIPAccessRule "192.168.26.240", False, 2219 +selectedSite.AddIPAccessRule "192.168.26.239", False, 2220 +selectedSite.AddIPAccessRule "192.168.26.238", False, 2221 +selectedSite.AddIPAccessRule "192.168.26.237", False, 2222 +selectedSite.AddIPAccessRule "192.168.26.236", False, 2223 +selectedSite.AddIPAccessRule "192.168.26.235", False, 2224 +selectedSite.AddIPAccessRule "192.168.26.234", False, 2225 +selectedSite.AddIPAccessRule "192.168.26.233", False, 2226 +selectedSite.AddIPAccessRule "192.168.26.232", False, 2227 +selectedSite.AddIPAccessRule "192.168.26.231", False, 2228 +selectedSite.AddIPAccessRule "192.168.26.230", False, 2229 +selectedSite.AddIPAccessRule "192.168.26.229", False, 2230 +selectedSite.AddIPAccessRule "192.168.26.228", False, 2231 +selectedSite.AddIPAccessRule "192.168.26.227", False, 2232 +selectedSite.AddIPAccessRule "192.168.26.226", False, 2233 +selectedSite.AddIPAccessRule "192.168.26.225", False, 2234 +selectedSite.AddIPAccessRule "192.168.26.224", False, 2235 +selectedSite.AddIPAccessRule "192.168.26.223", False, 2236 +selectedSite.AddIPAccessRule "192.168.26.222", False, 2237 +selectedSite.AddIPAccessRule "192.168.26.221", False, 2238 +selectedSite.AddIPAccessRule "192.168.26.220", False, 2239 +selectedSite.AddIPAccessRule "192.168.26.219", False, 2240 +selectedSite.AddIPAccessRule "192.168.26.218", False, 2241 +selectedSite.AddIPAccessRule "192.168.26.217", False, 2242 +selectedSite.AddIPAccessRule "192.168.26.216", False, 2243 +selectedSite.AddIPAccessRule "192.168.26.215", False, 2244 +selectedSite.AddIPAccessRule "192.168.26.214", False, 2245 +selectedSite.AddIPAccessRule "192.168.26.213", False, 2246 +selectedSite.AddIPAccessRule "192.168.26.212", False, 2247 +selectedSite.AddIPAccessRule "192.168.26.211", False, 2248 +selectedSite.AddIPAccessRule "192.168.26.210", False, 2249 +selectedSite.AddIPAccessRule "192.168.26.209", False, 2250 +selectedSite.AddIPAccessRule "192.168.26.208", False, 2251 +selectedSite.AddIPAccessRule "192.168.26.207", False, 2252 +selectedSite.AddIPAccessRule "192.168.26.206", False, 2253 +selectedSite.AddIPAccessRule "192.168.26.205", False, 2254 +selectedSite.AddIPAccessRule "192.168.26.204", False, 2255 +selectedSite.AddIPAccessRule "192.168.26.203", False, 2256 +selectedSite.AddIPAccessRule "192.168.26.202", False, 2257 +selectedSite.AddIPAccessRule "192.168.26.201", False, 2258 +selectedSite.AddIPAccessRule "192.168.26.200", False, 2259 +selectedSite.AddIPAccessRule "192.168.26.199", False, 2260 +selectedSite.AddIPAccessRule "192.168.26.198", False, 2261 +selectedSite.AddIPAccessRule "192.168.26.197", False, 2262 +selectedSite.AddIPAccessRule "192.168.26.196", False, 2263 +selectedSite.AddIPAccessRule "192.168.26.195", False, 2264 +selectedSite.AddIPAccessRule "192.168.26.194", False, 2265 +selectedSite.AddIPAccessRule "192.168.26.193", False, 2266 +selectedSite.AddIPAccessRule "192.168.26.192", False, 2267 +selectedSite.AddIPAccessRule "192.168.26.191", False, 2268 +selectedSite.AddIPAccessRule "192.168.26.190", False, 2269 +selectedSite.AddIPAccessRule "192.168.26.189", False, 2270 +selectedSite.AddIPAccessRule "192.168.26.188", False, 2271 +selectedSite.AddIPAccessRule "192.168.26.187", False, 2272 +selectedSite.AddIPAccessRule "192.168.26.186", False, 2273 +selectedSite.AddIPAccessRule "192.168.26.185", False, 2274 +selectedSite.AddIPAccessRule "192.168.26.184", False, 2275 +selectedSite.AddIPAccessRule "192.168.26.183", False, 2276 +selectedSite.AddIPAccessRule "192.168.26.182", False, 2277 +selectedSite.AddIPAccessRule "192.168.26.181", False, 2278 +selectedSite.AddIPAccessRule "192.168.26.180", False, 2279 +selectedSite.AddIPAccessRule "192.168.26.179", False, 2280 +selectedSite.AddIPAccessRule "192.168.26.178", False, 2281 +selectedSite.AddIPAccessRule "192.168.26.177", False, 2282 +selectedSite.AddIPAccessRule "192.168.26.176", False, 2283 +selectedSite.AddIPAccessRule "192.168.26.175", False, 2284 +selectedSite.AddIPAccessRule "192.168.26.174", False, 2285 +selectedSite.AddIPAccessRule "192.168.26.173", False, 2286 +selectedSite.AddIPAccessRule "192.168.26.172", False, 2287 +selectedSite.AddIPAccessRule "192.168.26.171", False, 2288 +selectedSite.AddIPAccessRule "192.168.26.170", False, 2289 +selectedSite.AddIPAccessRule "192.168.26.169", False, 2290 +selectedSite.AddIPAccessRule "192.168.26.168", False, 2291 +selectedSite.AddIPAccessRule "192.168.26.167", False, 2292 +selectedSite.AddIPAccessRule "192.168.26.166", False, 2293 +selectedSite.AddIPAccessRule "192.168.26.165", False, 2294 +selectedSite.AddIPAccessRule "192.168.26.164", False, 2295 +selectedSite.AddIPAccessRule "192.168.26.163", False, 2296 +selectedSite.AddIPAccessRule "192.168.26.162", False, 2297 +selectedSite.AddIPAccessRule "192.168.26.161", False, 2298 +selectedSite.AddIPAccessRule "192.168.26.160", False, 2299 +selectedSite.AddIPAccessRule "192.168.26.159", False, 2300 +selectedSite.AddIPAccessRule "192.168.26.158", False, 2301 +selectedSite.AddIPAccessRule "192.168.26.157", False, 2302 +selectedSite.AddIPAccessRule "192.168.26.156", False, 2303 +selectedSite.AddIPAccessRule "192.168.26.155", False, 2304 +selectedSite.AddIPAccessRule "192.168.26.154", False, 2305 +selectedSite.AddIPAccessRule "192.168.26.153", False, 2306 +selectedSite.AddIPAccessRule "192.168.26.152", False, 2307 +selectedSite.AddIPAccessRule "192.168.26.151", False, 2308 +selectedSite.AddIPAccessRule "192.168.26.150", False, 2309 +selectedSite.AddIPAccessRule "192.168.26.149", False, 2310 +selectedSite.AddIPAccessRule "192.168.26.148", False, 2311 +selectedSite.AddIPAccessRule "192.168.26.147", False, 2312 +selectedSite.AddIPAccessRule "192.168.26.146", False, 2313 +selectedSite.AddIPAccessRule "192.168.26.145", False, 2314 +selectedSite.AddIPAccessRule "192.168.26.144", False, 2315 +selectedSite.AddIPAccessRule "192.168.26.143", False, 2316 +selectedSite.AddIPAccessRule "192.168.26.142", False, 2317 +selectedSite.AddIPAccessRule "192.168.26.141", False, 2318 +selectedSite.AddIPAccessRule "192.168.26.140", False, 2319 +selectedSite.AddIPAccessRule "192.168.26.139", False, 2320 +selectedSite.AddIPAccessRule "192.168.26.138", False, 2321 +selectedSite.AddIPAccessRule "192.168.26.137", False, 2322 +selectedSite.AddIPAccessRule "192.168.26.136", False, 2323 +selectedSite.AddIPAccessRule "192.168.26.135", False, 2324 +selectedSite.AddIPAccessRule "192.168.26.134", False, 2325 +selectedSite.AddIPAccessRule "192.168.26.133", False, 2326 +selectedSite.AddIPAccessRule "192.168.26.132", False, 2327 +selectedSite.AddIPAccessRule "192.168.26.131", False, 2328 +selectedSite.AddIPAccessRule "192.168.26.130", False, 2329 +selectedSite.AddIPAccessRule "192.168.26.129", False, 2330 +selectedSite.AddIPAccessRule "192.168.26.128", False, 2331 +selectedSite.AddIPAccessRule "192.168.26.127", False, 2332 +selectedSite.AddIPAccessRule "192.168.26.126", False, 2333 +selectedSite.AddIPAccessRule "192.168.26.125", False, 2334 +selectedSite.AddIPAccessRule "192.168.26.124", False, 2335 +selectedSite.AddIPAccessRule "192.168.26.123", False, 2336 +selectedSite.AddIPAccessRule "192.168.26.122", False, 2337 +selectedSite.AddIPAccessRule "192.168.26.121", False, 2338 +selectedSite.AddIPAccessRule "192.168.26.120", False, 2339 +selectedSite.AddIPAccessRule "192.168.26.119", False, 2340 +selectedSite.AddIPAccessRule "192.168.26.118", False, 2341 +selectedSite.AddIPAccessRule "192.168.26.117", False, 2342 +selectedSite.AddIPAccessRule "192.168.26.116", False, 2343 +selectedSite.AddIPAccessRule "192.168.26.115", False, 2344 +selectedSite.AddIPAccessRule "192.168.26.114", False, 2345 +selectedSite.AddIPAccessRule "192.168.26.113", False, 2346 +selectedSite.AddIPAccessRule "192.168.26.112", False, 2347 +selectedSite.AddIPAccessRule "192.168.26.111", False, 2348 +selectedSite.AddIPAccessRule "192.168.26.110", False, 2349 +selectedSite.AddIPAccessRule "192.168.26.109", False, 2350 +selectedSite.AddIPAccessRule "192.168.26.108", False, 2351 +selectedSite.AddIPAccessRule "192.168.26.107", False, 2352 +selectedSite.AddIPAccessRule "192.168.26.106", False, 2353 +selectedSite.AddIPAccessRule "192.168.26.105", False, 2354 +selectedSite.AddIPAccessRule "192.168.26.104", False, 2355 +selectedSite.AddIPAccessRule "192.168.26.103", False, 2356 +selectedSite.AddIPAccessRule "192.168.26.102", False, 2357 +selectedSite.AddIPAccessRule "192.168.26.101", False, 2358 +selectedSite.AddIPAccessRule "192.168.26.100", False, 2359 +selectedSite.AddIPAccessRule "192.168.26.99", False, 2360 +selectedSite.AddIPAccessRule "192.168.26.98", False, 2361 +selectedSite.AddIPAccessRule "192.168.26.97", False, 2362 +selectedSite.AddIPAccessRule "192.168.26.96", False, 2363 +selectedSite.AddIPAccessRule "192.168.26.95", False, 2364 +selectedSite.AddIPAccessRule "192.168.26.94", False, 2365 +selectedSite.AddIPAccessRule "192.168.26.93", False, 2366 +selectedSite.AddIPAccessRule "192.168.26.92", False, 2367 +selectedSite.AddIPAccessRule "192.168.26.91", False, 2368 +selectedSite.AddIPAccessRule "192.168.26.90", False, 2369 +selectedSite.AddIPAccessRule "192.168.26.89", False, 2370 +selectedSite.AddIPAccessRule "192.168.26.88", False, 2371 +selectedSite.AddIPAccessRule "192.168.26.87", False, 2372 +selectedSite.AddIPAccessRule "192.168.26.86", False, 2373 +selectedSite.AddIPAccessRule "192.168.26.85", False, 2374 +selectedSite.AddIPAccessRule "192.168.26.84", False, 2375 +selectedSite.AddIPAccessRule "192.168.26.83", False, 2376 +selectedSite.AddIPAccessRule "192.168.26.82", False, 2377 +selectedSite.AddIPAccessRule "192.168.26.81", False, 2378 +selectedSite.AddIPAccessRule "192.168.26.80", False, 2379 +selectedSite.AddIPAccessRule "192.168.26.79", False, 2380 +selectedSite.AddIPAccessRule "192.168.26.78", False, 2381 +selectedSite.AddIPAccessRule "192.168.26.77", False, 2382 +selectedSite.AddIPAccessRule "192.168.26.76", False, 2383 +selectedSite.AddIPAccessRule "192.168.26.75", False, 2384 +selectedSite.AddIPAccessRule "192.168.26.74", False, 2385 +selectedSite.AddIPAccessRule "192.168.26.73", False, 2386 +selectedSite.AddIPAccessRule "192.168.26.72", False, 2387 +selectedSite.AddIPAccessRule "192.168.26.71", False, 2388 +selectedSite.AddIPAccessRule "192.168.26.70", False, 2389 +selectedSite.AddIPAccessRule "192.168.26.69", False, 2390 +selectedSite.AddIPAccessRule "192.168.26.68", False, 2391 +selectedSite.AddIPAccessRule "192.168.26.67", False, 2392 +selectedSite.AddIPAccessRule "192.168.26.66", False, 2393 +selectedSite.AddIPAccessRule "192.168.26.65", False, 2394 +selectedSite.AddIPAccessRule "192.168.26.64", False, 2395 +selectedSite.AddIPAccessRule "192.168.26.63", False, 2396 +selectedSite.AddIPAccessRule "192.168.26.62", False, 2397 +selectedSite.AddIPAccessRule "192.168.26.61", False, 2398 +selectedSite.AddIPAccessRule "192.168.26.60", False, 2399 +selectedSite.AddIPAccessRule "192.168.26.59", False, 2400 +selectedSite.AddIPAccessRule "192.168.26.58", False, 2401 +selectedSite.AddIPAccessRule "192.168.26.57", False, 2402 +selectedSite.AddIPAccessRule "192.168.26.56", False, 2403 +selectedSite.AddIPAccessRule "192.168.26.55", False, 2404 +selectedSite.AddIPAccessRule "192.168.26.54", False, 2405 +selectedSite.AddIPAccessRule "192.168.26.53", False, 2406 +selectedSite.AddIPAccessRule "192.168.26.52", False, 2407 +selectedSite.AddIPAccessRule "192.168.26.51", False, 2408 +selectedSite.AddIPAccessRule "192.168.26.50", False, 2409 +selectedSite.AddIPAccessRule "192.168.26.49", False, 2410 +selectedSite.AddIPAccessRule "192.168.26.48", False, 2411 +selectedSite.AddIPAccessRule "192.168.26.47", False, 2412 +selectedSite.AddIPAccessRule "192.168.26.46", False, 2413 +selectedSite.AddIPAccessRule "192.168.26.45", False, 2414 +selectedSite.AddIPAccessRule "192.168.26.44", False, 2415 +selectedSite.AddIPAccessRule "192.168.26.43", False, 2416 +selectedSite.AddIPAccessRule "192.168.26.42", False, 2417 +selectedSite.AddIPAccessRule "192.168.26.41", False, 2418 +selectedSite.AddIPAccessRule "192.168.26.40", False, 2419 +selectedSite.AddIPAccessRule "192.168.26.39", False, 2420 +selectedSite.AddIPAccessRule "192.168.26.38", False, 2421 +selectedSite.AddIPAccessRule "192.168.26.37", False, 2422 +selectedSite.AddIPAccessRule "192.168.26.36", False, 2423 +selectedSite.AddIPAccessRule "192.168.26.35", False, 2424 +selectedSite.AddIPAccessRule "192.168.26.34", False, 2425 +selectedSite.AddIPAccessRule "192.168.26.33", False, 2426 +selectedSite.AddIPAccessRule "192.168.26.32", False, 2427 +selectedSite.AddIPAccessRule "192.168.26.31", False, 2428 +selectedSite.AddIPAccessRule "192.168.26.30", False, 2429 +selectedSite.AddIPAccessRule "192.168.26.29", False, 2430 +selectedSite.AddIPAccessRule "192.168.26.28", False, 2431 +selectedSite.AddIPAccessRule "192.168.26.27", False, 2432 +selectedSite.AddIPAccessRule "192.168.26.26", False, 2433 +selectedSite.AddIPAccessRule "192.168.26.25", False, 2434 +selectedSite.AddIPAccessRule "192.168.26.24", False, 2435 +selectedSite.AddIPAccessRule "192.168.26.23", False, 2436 +selectedSite.AddIPAccessRule "192.168.26.22", False, 2437 +selectedSite.AddIPAccessRule "192.168.26.21", False, 2438 +selectedSite.AddIPAccessRule "192.168.26.20", False, 2439 +selectedSite.AddIPAccessRule "192.168.26.19", False, 2440 +selectedSite.AddIPAccessRule "192.168.26.18", False, 2441 +selectedSite.AddIPAccessRule "192.168.26.17", False, 2442 +selectedSite.AddIPAccessRule "192.168.26.16", False, 2443 +selectedSite.AddIPAccessRule "192.168.26.15", False, 2444 +selectedSite.AddIPAccessRule "192.168.26.14", False, 2445 +selectedSite.AddIPAccessRule "192.168.26.13", False, 2446 +selectedSite.AddIPAccessRule "192.168.26.12", False, 2447 +selectedSite.AddIPAccessRule "192.168.26.11", False, 2448 +selectedSite.AddIPAccessRule "192.168.26.10", False, 2449 +selectedSite.AddIPAccessRule "192.168.26.9", False, 2450 +selectedSite.AddIPAccessRule "192.168.26.8", False, 2451 +selectedSite.AddIPAccessRule "192.168.26.7", False, 2452 +selectedSite.AddIPAccessRule "192.168.26.6", False, 2453 +selectedSite.AddIPAccessRule "192.168.26.5", False, 2454 +selectedSite.AddIPAccessRule "192.168.26.4", False, 2455 +selectedSite.AddIPAccessRule "192.168.26.3", False, 2456 +selectedSite.AddIPAccessRule "192.168.26.2", False, 2457 +selectedSite.AddIPAccessRule "192.168.26.1", False, 2458 +selectedSite.AddIPAccessRule "192.168.25.255", False, 2459 +selectedSite.AddIPAccessRule "192.168.25.254", False, 2460 +selectedSite.AddIPAccessRule "192.168.25.253", False, 2461 +selectedSite.AddIPAccessRule "192.168.25.252", False, 2462 +selectedSite.AddIPAccessRule "192.168.25.251", False, 2463 +selectedSite.AddIPAccessRule "192.168.25.250", False, 2464 +selectedSite.AddIPAccessRule "192.168.25.249", False, 2465 +selectedSite.AddIPAccessRule "192.168.25.248", False, 2466 +selectedSite.AddIPAccessRule "192.168.25.247", False, 2467 +selectedSite.AddIPAccessRule "192.168.25.246", False, 2468 +selectedSite.AddIPAccessRule "192.168.25.245", False, 2469 +selectedSite.AddIPAccessRule "192.168.25.244", False, 2470 +selectedSite.AddIPAccessRule "192.168.25.243", False, 2471 +selectedSite.AddIPAccessRule "192.168.25.242", False, 2472 +selectedSite.AddIPAccessRule "192.168.25.241", False, 2473 +selectedSite.AddIPAccessRule "192.168.25.240", False, 2474 +selectedSite.AddIPAccessRule "192.168.25.239", False, 2475 +selectedSite.AddIPAccessRule "192.168.25.238", False, 2476 +selectedSite.AddIPAccessRule "192.168.25.237", False, 2477 +selectedSite.AddIPAccessRule "192.168.25.236", False, 2478 +selectedSite.AddIPAccessRule "192.168.25.235", False, 2479 +selectedSite.AddIPAccessRule "192.168.25.234", False, 2480 +selectedSite.AddIPAccessRule "192.168.25.233", False, 2481 +selectedSite.AddIPAccessRule "192.168.25.232", False, 2482 +selectedSite.AddIPAccessRule "192.168.25.231", False, 2483 +selectedSite.AddIPAccessRule "192.168.25.230", False, 2484 +selectedSite.AddIPAccessRule "192.168.25.229", False, 2485 +selectedSite.AddIPAccessRule "192.168.25.228", False, 2486 +selectedSite.AddIPAccessRule "192.168.25.227", False, 2487 +selectedSite.AddIPAccessRule "192.168.25.226", False, 2488 +selectedSite.AddIPAccessRule "192.168.25.225", False, 2489 +selectedSite.AddIPAccessRule "192.168.25.224", False, 2490 +selectedSite.AddIPAccessRule "192.168.25.223", False, 2491 +selectedSite.AddIPAccessRule "192.168.25.222", False, 2492 +selectedSite.AddIPAccessRule "192.168.25.221", False, 2493 +selectedSite.AddIPAccessRule "192.168.25.220", False, 2494 +selectedSite.AddIPAccessRule "192.168.25.219", False, 2495 +selectedSite.AddIPAccessRule "192.168.25.218", False, 2496 +selectedSite.AddIPAccessRule "192.168.25.217", False, 2497 +selectedSite.AddIPAccessRule "192.168.25.216", False, 2498 +selectedSite.AddIPAccessRule "192.168.25.215", False, 2499 +selectedSite.AddIPAccessRule "192.168.25.214", False, 2500 +selectedSite.AddIPAccessRule "192.168.25.213", False, 2501 +selectedSite.AddIPAccessRule "192.168.25.212", False, 2502 +selectedSite.AddIPAccessRule "192.168.25.211", False, 2503 +selectedSite.AddIPAccessRule "192.168.25.210", False, 2504 +selectedSite.AddIPAccessRule "192.168.25.209", False, 2505 +selectedSite.AddIPAccessRule "192.168.25.208", False, 2506 +selectedSite.AddIPAccessRule "192.168.25.207", False, 2507 +selectedSite.AddIPAccessRule "192.168.25.206", False, 2508 +selectedSite.AddIPAccessRule "192.168.25.205", False, 2509 +selectedSite.AddIPAccessRule "192.168.25.204", False, 2510 +selectedSite.AddIPAccessRule "192.168.25.203", False, 2511 +selectedSite.AddIPAccessRule "192.168.25.202", False, 2512 +selectedSite.AddIPAccessRule "192.168.25.201", False, 2513 +selectedSite.AddIPAccessRule "192.168.25.200", False, 2514 +selectedSite.AddIPAccessRule "192.168.25.199", False, 2515 +selectedSite.AddIPAccessRule "192.168.25.198", False, 2516 +selectedSite.AddIPAccessRule "192.168.25.197", False, 2517 +selectedSite.AddIPAccessRule "192.168.25.196", False, 2518 +selectedSite.AddIPAccessRule "192.168.25.195", False, 2519 +selectedSite.AddIPAccessRule "192.168.25.194", False, 2520 +selectedSite.AddIPAccessRule "192.168.25.193", False, 2521 +selectedSite.AddIPAccessRule "192.168.25.192", False, 2522 +selectedSite.AddIPAccessRule "192.168.25.191", False, 2523 +selectedSite.AddIPAccessRule "192.168.25.190", False, 2524 +selectedSite.AddIPAccessRule "192.168.25.189", False, 2525 +selectedSite.AddIPAccessRule "192.168.25.188", False, 2526 +selectedSite.AddIPAccessRule "192.168.25.187", False, 2527 +selectedSite.AddIPAccessRule "192.168.25.186", False, 2528 +selectedSite.AddIPAccessRule "192.168.25.185", False, 2529 +selectedSite.AddIPAccessRule "192.168.25.184", False, 2530 +selectedSite.AddIPAccessRule "192.168.25.183", False, 2531 +selectedSite.AddIPAccessRule "192.168.25.182", False, 2532 +selectedSite.AddIPAccessRule "192.168.25.181", False, 2533 +selectedSite.AddIPAccessRule "192.168.25.180", False, 2534 +selectedSite.AddIPAccessRule "192.168.25.179", False, 2535 +selectedSite.AddIPAccessRule "192.168.25.178", False, 2536 +selectedSite.AddIPAccessRule "192.168.25.177", False, 2537 +selectedSite.AddIPAccessRule "192.168.25.176", False, 2538 +selectedSite.AddIPAccessRule "192.168.25.175", False, 2539 +selectedSite.AddIPAccessRule "192.168.25.174", False, 2540 +selectedSite.AddIPAccessRule "192.168.25.173", False, 2541 +selectedSite.AddIPAccessRule "192.168.25.172", False, 2542 +selectedSite.AddIPAccessRule "192.168.25.171", False, 2543 +selectedSite.AddIPAccessRule "192.168.25.170", False, 2544 +selectedSite.AddIPAccessRule "192.168.25.169", False, 2545 +selectedSite.AddIPAccessRule "192.168.25.168", False, 2546 +selectedSite.AddIPAccessRule "192.168.25.167", False, 2547 +selectedSite.AddIPAccessRule "192.168.25.166", False, 2548 +selectedSite.AddIPAccessRule "192.168.25.165", False, 2549 +selectedSite.AddIPAccessRule "192.168.25.164", False, 2550 +selectedSite.AddIPAccessRule "192.168.25.163", False, 2551 +selectedSite.AddIPAccessRule "192.168.25.162", False, 2552 +selectedSite.AddIPAccessRule "192.168.25.161", False, 2553 +selectedSite.AddIPAccessRule "192.168.25.160", False, 2554 +selectedSite.AddIPAccessRule "192.168.25.159", False, 2555 +selectedSite.AddIPAccessRule "192.168.25.158", False, 2556 +selectedSite.AddIPAccessRule "192.168.25.157", False, 2557 +selectedSite.AddIPAccessRule "192.168.25.156", False, 2558 +selectedSite.AddIPAccessRule "192.168.25.155", False, 2559 +selectedSite.AddIPAccessRule "192.168.25.154", False, 2560 +selectedSite.AddIPAccessRule "192.168.25.153", False, 2561 +selectedSite.AddIPAccessRule "192.168.25.152", False, 2562 +selectedSite.AddIPAccessRule "192.168.25.151", False, 2563 +selectedSite.AddIPAccessRule "192.168.25.150", False, 2564 +selectedSite.AddIPAccessRule "192.168.25.149", False, 2565 +selectedSite.AddIPAccessRule "192.168.25.148", False, 2566 +selectedSite.AddIPAccessRule "192.168.25.147", False, 2567 +selectedSite.AddIPAccessRule "192.168.25.146", False, 2568 +selectedSite.AddIPAccessRule "192.168.25.145", False, 2569 +selectedSite.AddIPAccessRule "192.168.25.144", False, 2570 +selectedSite.AddIPAccessRule "192.168.25.143", False, 2571 +selectedSite.AddIPAccessRule "192.168.25.142", False, 2572 +selectedSite.AddIPAccessRule "192.168.25.141", False, 2573 +selectedSite.AddIPAccessRule "192.168.25.140", False, 2574 +selectedSite.AddIPAccessRule "192.168.25.139", False, 2575 +selectedSite.AddIPAccessRule "192.168.25.138", False, 2576 +selectedSite.AddIPAccessRule "192.168.25.137", False, 2577 +selectedSite.AddIPAccessRule "192.168.25.136", False, 2578 +selectedSite.AddIPAccessRule "192.168.25.135", False, 2579 +selectedSite.AddIPAccessRule "192.168.25.134", False, 2580 +selectedSite.AddIPAccessRule "192.168.25.133", False, 2581 +selectedSite.AddIPAccessRule "192.168.25.132", False, 2582 +selectedSite.AddIPAccessRule "192.168.25.131", False, 2583 +selectedSite.AddIPAccessRule "192.168.25.130", False, 2584 +selectedSite.AddIPAccessRule "192.168.25.129", False, 2585 +selectedSite.AddIPAccessRule "192.168.25.128", False, 2586 +selectedSite.AddIPAccessRule "192.168.25.127", False, 2587 +selectedSite.AddIPAccessRule "192.168.25.126", False, 2588 +selectedSite.AddIPAccessRule "192.168.25.125", False, 2589 +selectedSite.AddIPAccessRule "192.168.25.124", False, 2590 +selectedSite.AddIPAccessRule "192.168.25.123", False, 2591 +selectedSite.AddIPAccessRule "192.168.25.122", False, 2592 +selectedSite.AddIPAccessRule "192.168.25.121", False, 2593 +selectedSite.AddIPAccessRule "192.168.25.120", False, 2594 +selectedSite.AddIPAccessRule "192.168.25.119", False, 2595 +selectedSite.AddIPAccessRule "192.168.25.118", False, 2596 +selectedSite.AddIPAccessRule "192.168.25.117", False, 2597 +selectedSite.AddIPAccessRule "192.168.25.116", False, 2598 +selectedSite.AddIPAccessRule "192.168.25.115", False, 2599 +selectedSite.AddIPAccessRule "192.168.25.114", False, 2600 +selectedSite.AddIPAccessRule "192.168.25.113", False, 2601 +selectedSite.AddIPAccessRule "192.168.25.112", False, 2602 +selectedSite.AddIPAccessRule "192.168.25.111", False, 2603 +selectedSite.AddIPAccessRule "192.168.25.110", False, 2604 +selectedSite.AddIPAccessRule "192.168.25.109", False, 2605 +selectedSite.AddIPAccessRule "192.168.25.108", False, 2606 +selectedSite.AddIPAccessRule "192.168.25.107", False, 2607 +selectedSite.AddIPAccessRule "192.168.25.106", False, 2608 +selectedSite.AddIPAccessRule "192.168.25.105", False, 2609 +selectedSite.AddIPAccessRule "192.168.25.104", False, 2610 +selectedSite.AddIPAccessRule "192.168.25.103", False, 2611 +selectedSite.AddIPAccessRule "192.168.25.102", False, 2612 +selectedSite.AddIPAccessRule "192.168.25.101", False, 2613 +selectedSite.AddIPAccessRule "192.168.25.100", False, 2614 +selectedSite.AddIPAccessRule "192.168.25.99", False, 2615 +selectedSite.AddIPAccessRule "192.168.25.98", False, 2616 +selectedSite.AddIPAccessRule "192.168.25.97", False, 2617 +selectedSite.AddIPAccessRule "192.168.25.96", False, 2618 +selectedSite.AddIPAccessRule "192.168.25.95", False, 2619 +selectedSite.AddIPAccessRule "192.168.25.94", False, 2620 +selectedSite.AddIPAccessRule "192.168.25.93", False, 2621 +selectedSite.AddIPAccessRule "192.168.25.92", False, 2622 +selectedSite.AddIPAccessRule "192.168.25.91", False, 2623 +selectedSite.AddIPAccessRule "192.168.25.90", False, 2624 +selectedSite.AddIPAccessRule "192.168.25.89", False, 2625 +selectedSite.AddIPAccessRule "192.168.25.88", False, 2626 +selectedSite.AddIPAccessRule "192.168.25.87", False, 2627 +selectedSite.AddIPAccessRule "192.168.25.86", False, 2628 +selectedSite.AddIPAccessRule "192.168.25.85", False, 2629 +selectedSite.AddIPAccessRule "192.168.25.84", False, 2630 +selectedSite.AddIPAccessRule "192.168.25.83", False, 2631 +selectedSite.AddIPAccessRule "192.168.25.82", False, 2632 +selectedSite.AddIPAccessRule "192.168.25.81", False, 2633 +selectedSite.AddIPAccessRule "192.168.25.80", False, 2634 +selectedSite.AddIPAccessRule "192.168.25.79", False, 2635 +selectedSite.AddIPAccessRule "192.168.25.78", False, 2636 +selectedSite.AddIPAccessRule "192.168.25.77", False, 2637 +selectedSite.AddIPAccessRule "192.168.25.76", False, 2638 +selectedSite.AddIPAccessRule "192.168.25.75", False, 2639 +selectedSite.AddIPAccessRule "192.168.25.74", False, 2640 +selectedSite.AddIPAccessRule "192.168.25.73", False, 2641 +selectedSite.AddIPAccessRule "192.168.25.72", False, 2642 +selectedSite.AddIPAccessRule "192.168.25.71", False, 2643 +selectedSite.AddIPAccessRule "192.168.25.70", False, 2644 +selectedSite.AddIPAccessRule "192.168.25.69", False, 2645 +selectedSite.AddIPAccessRule "192.168.25.68", False, 2646 +selectedSite.AddIPAccessRule "192.168.25.67", False, 2647 +selectedSite.AddIPAccessRule "192.168.25.66", False, 2648 +selectedSite.AddIPAccessRule "192.168.25.65", False, 2649 +selectedSite.AddIPAccessRule "192.168.25.64", False, 2650 +selectedSite.AddIPAccessRule "192.168.25.63", False, 2651 +selectedSite.AddIPAccessRule "192.168.25.62", False, 2652 +selectedSite.AddIPAccessRule "192.168.25.61", False, 2653 +selectedSite.AddIPAccessRule "192.168.25.60", False, 2654 +selectedSite.AddIPAccessRule "192.168.25.59", False, 2655 +selectedSite.AddIPAccessRule "192.168.25.58", False, 2656 +selectedSite.AddIPAccessRule "192.168.25.57", False, 2657 +selectedSite.AddIPAccessRule "192.168.25.56", False, 2658 +selectedSite.AddIPAccessRule "192.168.25.55", False, 2659 +selectedSite.AddIPAccessRule "192.168.25.54", False, 2660 +selectedSite.AddIPAccessRule "192.168.25.53", False, 2661 +selectedSite.AddIPAccessRule "192.168.25.52", False, 2662 +selectedSite.AddIPAccessRule "192.168.25.51", False, 2663 +selectedSite.AddIPAccessRule "192.168.25.50", False, 2664 +selectedSite.AddIPAccessRule "192.168.25.49", False, 2665 +selectedSite.AddIPAccessRule "192.168.25.48", False, 2666 +selectedSite.AddIPAccessRule "192.168.25.47", False, 2667 +selectedSite.AddIPAccessRule "192.168.25.46", False, 2668 +selectedSite.AddIPAccessRule "192.168.25.45", False, 2669 +selectedSite.AddIPAccessRule "192.168.25.44", False, 2670 +selectedSite.AddIPAccessRule "192.168.25.43", False, 2671 +selectedSite.AddIPAccessRule "192.168.25.42", False, 2672 +selectedSite.AddIPAccessRule "192.168.25.41", False, 2673 +selectedSite.AddIPAccessRule "192.168.25.40", False, 2674 +selectedSite.AddIPAccessRule "192.168.25.39", False, 2675 +selectedSite.AddIPAccessRule "192.168.25.38", False, 2676 +selectedSite.AddIPAccessRule "192.168.25.37", False, 2677 +selectedSite.AddIPAccessRule "192.168.25.36", False, 2678 +selectedSite.AddIPAccessRule "192.168.25.35", False, 2679 +selectedSite.AddIPAccessRule "192.168.25.34", False, 2680 +selectedSite.AddIPAccessRule "192.168.25.33", False, 2681 +selectedSite.AddIPAccessRule "192.168.25.32", False, 2682 +selectedSite.AddIPAccessRule "192.168.25.31", False, 2683 +selectedSite.AddIPAccessRule "192.168.25.30", False, 2684 +selectedSite.AddIPAccessRule "192.168.25.29", False, 2685 +selectedSite.AddIPAccessRule "192.168.25.28", False, 2686 +selectedSite.AddIPAccessRule "192.168.25.27", False, 2687 +selectedSite.AddIPAccessRule "192.168.25.26", False, 2688 +selectedSite.AddIPAccessRule "192.168.25.25", False, 2689 +selectedSite.AddIPAccessRule "192.168.25.24", False, 2690 +selectedSite.AddIPAccessRule "192.168.25.23", False, 2691 +selectedSite.AddIPAccessRule "192.168.25.22", False, 2692 +selectedSite.AddIPAccessRule "192.168.25.21", False, 2693 +selectedSite.AddIPAccessRule "192.168.25.20", False, 2694 +selectedSite.AddIPAccessRule "192.168.25.19", False, 2695 +selectedSite.AddIPAccessRule "192.168.25.18", False, 2696 +selectedSite.AddIPAccessRule "192.168.25.17", False, 2697 +selectedSite.AddIPAccessRule "192.168.25.16", False, 2698 +selectedSite.AddIPAccessRule "192.168.25.15", False, 2699 +selectedSite.AddIPAccessRule "192.168.25.14", False, 2700 +selectedSite.AddIPAccessRule "192.168.25.13", False, 2701 +selectedSite.AddIPAccessRule "192.168.25.12", False, 2702 +selectedSite.AddIPAccessRule "192.168.25.11", False, 2703 +selectedSite.AddIPAccessRule "192.168.25.10", False, 2704 +selectedSite.AddIPAccessRule "192.168.25.9", False, 2705 +selectedSite.AddIPAccessRule "192.168.25.8", False, 2706 +selectedSite.AddIPAccessRule "192.168.25.7", False, 2707 +selectedSite.AddIPAccessRule "192.168.25.6", False, 2708 +selectedSite.AddIPAccessRule "192.168.25.5", False, 2709 +selectedSite.AddIPAccessRule "192.168.25.4", False, 2710 +selectedSite.AddIPAccessRule "192.168.25.3", False, 2711 +selectedSite.AddIPAccessRule "192.168.25.2", False, 2712 +selectedSite.AddIPAccessRule "192.168.25.1", False, 2713 +selectedSite.AddIPAccessRule "192.168.24.255", False, 2714 +selectedSite.AddIPAccessRule "192.168.24.254", False, 2715 +selectedSite.AddIPAccessRule "192.168.24.253", False, 2716 +selectedSite.AddIPAccessRule "192.168.24.252", False, 2717 +selectedSite.AddIPAccessRule "192.168.24.251", False, 2718 +selectedSite.AddIPAccessRule "192.168.24.250", False, 2719 +selectedSite.AddIPAccessRule "192.168.24.249", False, 2720 +selectedSite.AddIPAccessRule "192.168.24.248", False, 2721 +selectedSite.AddIPAccessRule "192.168.24.247", False, 2722 +selectedSite.AddIPAccessRule "192.168.24.246", False, 2723 +selectedSite.AddIPAccessRule "192.168.24.245", False, 2724 +selectedSite.AddIPAccessRule "192.168.24.244", False, 2725 +selectedSite.AddIPAccessRule "192.168.24.243", False, 2726 +selectedSite.AddIPAccessRule "192.168.24.242", False, 2727 +selectedSite.AddIPAccessRule "192.168.24.241", False, 2728 +selectedSite.AddIPAccessRule "192.168.24.240", False, 2729 +selectedSite.AddIPAccessRule "192.168.24.239", False, 2730 +selectedSite.AddIPAccessRule "192.168.24.238", False, 2731 +selectedSite.AddIPAccessRule "192.168.24.237", False, 2732 +selectedSite.AddIPAccessRule "192.168.24.236", False, 2733 +selectedSite.AddIPAccessRule "192.168.24.235", False, 2734 +selectedSite.AddIPAccessRule "192.168.24.234", False, 2735 +selectedSite.AddIPAccessRule "192.168.24.233", False, 2736 +selectedSite.AddIPAccessRule "192.168.24.232", False, 2737 +selectedSite.AddIPAccessRule "192.168.24.231", False, 2738 +selectedSite.AddIPAccessRule "192.168.24.230", False, 2739 +selectedSite.AddIPAccessRule "192.168.24.229", False, 2740 +selectedSite.AddIPAccessRule "192.168.24.228", False, 2741 +selectedSite.AddIPAccessRule "192.168.24.227", False, 2742 +selectedSite.AddIPAccessRule "192.168.24.226", False, 2743 +selectedSite.AddIPAccessRule "192.168.24.225", False, 2744 +selectedSite.AddIPAccessRule "192.168.24.224", False, 2745 +selectedSite.AddIPAccessRule "192.168.24.223", False, 2746 +selectedSite.AddIPAccessRule "192.168.24.222", False, 2747 +selectedSite.AddIPAccessRule "192.168.24.221", False, 2748 +selectedSite.AddIPAccessRule "192.168.24.220", False, 2749 +selectedSite.AddIPAccessRule "192.168.24.219", False, 2750 +selectedSite.AddIPAccessRule "192.168.24.218", False, 2751 +selectedSite.AddIPAccessRule "192.168.24.217", False, 2752 +selectedSite.AddIPAccessRule "192.168.24.216", False, 2753 +selectedSite.AddIPAccessRule "192.168.24.215", False, 2754 +selectedSite.AddIPAccessRule "192.168.24.214", False, 2755 +selectedSite.AddIPAccessRule "192.168.24.213", False, 2756 +selectedSite.AddIPAccessRule "192.168.24.212", False, 2757 +selectedSite.AddIPAccessRule "192.168.24.211", False, 2758 +selectedSite.AddIPAccessRule "192.168.24.210", False, 2759 +selectedSite.AddIPAccessRule "192.168.24.209", False, 2760 +selectedSite.AddIPAccessRule "192.168.24.208", False, 2761 +selectedSite.AddIPAccessRule "192.168.24.207", False, 2762 +selectedSite.AddIPAccessRule "192.168.24.206", False, 2763 +selectedSite.AddIPAccessRule "192.168.24.205", False, 2764 +selectedSite.AddIPAccessRule "192.168.24.204", False, 2765 +selectedSite.AddIPAccessRule "192.168.24.203", False, 2766 +selectedSite.AddIPAccessRule "192.168.24.202", False, 2767 +selectedSite.AddIPAccessRule "192.168.24.201", False, 2768 +selectedSite.AddIPAccessRule "192.168.24.200", False, 2769 +selectedSite.AddIPAccessRule "192.168.24.199", False, 2770 +selectedSite.AddIPAccessRule "192.168.24.198", False, 2771 +selectedSite.AddIPAccessRule "192.168.24.197", False, 2772 +selectedSite.AddIPAccessRule "192.168.24.196", False, 2773 +selectedSite.AddIPAccessRule "192.168.24.195", False, 2774 +selectedSite.AddIPAccessRule "192.168.24.194", False, 2775 +selectedSite.AddIPAccessRule "192.168.24.193", False, 2776 +selectedSite.AddIPAccessRule "192.168.24.192", False, 2777 +selectedSite.AddIPAccessRule "192.168.24.191", False, 2778 +selectedSite.AddIPAccessRule "192.168.24.190", False, 2779 +selectedSite.AddIPAccessRule "192.168.24.189", False, 2780 +selectedSite.AddIPAccessRule "192.168.24.188", False, 2781 +selectedSite.AddIPAccessRule "192.168.24.187", False, 2782 +selectedSite.AddIPAccessRule "192.168.24.186", False, 2783 +selectedSite.AddIPAccessRule "192.168.24.185", False, 2784 +selectedSite.AddIPAccessRule "192.168.24.184", False, 2785 +selectedSite.AddIPAccessRule "192.168.24.183", False, 2786 +selectedSite.AddIPAccessRule "192.168.24.182", False, 2787 +selectedSite.AddIPAccessRule "192.168.24.181", False, 2788 +selectedSite.AddIPAccessRule "192.168.24.180", False, 2789 +selectedSite.AddIPAccessRule "192.168.24.179", False, 2790 +selectedSite.AddIPAccessRule "192.168.24.178", False, 2791 +selectedSite.AddIPAccessRule "192.168.24.177", False, 2792 +selectedSite.AddIPAccessRule "192.168.24.176", False, 2793 +selectedSite.AddIPAccessRule "192.168.24.175", False, 2794 +selectedSite.AddIPAccessRule "192.168.24.174", False, 2795 +selectedSite.AddIPAccessRule "192.168.24.173", False, 2796 +selectedSite.AddIPAccessRule "192.168.24.172", False, 2797 +selectedSite.AddIPAccessRule "192.168.24.171", False, 2798 +selectedSite.AddIPAccessRule "192.168.24.170", False, 2799 +selectedSite.AddIPAccessRule "192.168.24.169", False, 2800 +selectedSite.AddIPAccessRule "192.168.24.168", False, 2801 +selectedSite.AddIPAccessRule "192.168.24.167", False, 2802 +selectedSite.AddIPAccessRule "192.168.24.166", False, 2803 +selectedSite.AddIPAccessRule "192.168.24.165", False, 2804 +selectedSite.AddIPAccessRule "192.168.24.164", False, 2805 +selectedSite.AddIPAccessRule "192.168.24.163", False, 2806 +selectedSite.AddIPAccessRule "192.168.24.162", False, 2807 +selectedSite.AddIPAccessRule "192.168.24.161", False, 2808 +selectedSite.AddIPAccessRule "192.168.24.160", False, 2809 +selectedSite.AddIPAccessRule "192.168.24.159", False, 2810 +selectedSite.AddIPAccessRule "192.168.24.158", False, 2811 +selectedSite.AddIPAccessRule "192.168.24.157", False, 2812 +selectedSite.AddIPAccessRule "192.168.24.156", False, 2813 +selectedSite.AddIPAccessRule "192.168.24.155", False, 2814 +selectedSite.AddIPAccessRule "192.168.24.154", False, 2815 +selectedSite.AddIPAccessRule "192.168.24.153", False, 2816 +selectedSite.AddIPAccessRule "192.168.24.152", False, 2817 +selectedSite.AddIPAccessRule "192.168.24.151", False, 2818 +selectedSite.AddIPAccessRule "192.168.24.150", False, 2819 +selectedSite.AddIPAccessRule "192.168.24.149", False, 2820 +selectedSite.AddIPAccessRule "192.168.24.148", False, 2821 +selectedSite.AddIPAccessRule "192.168.24.147", False, 2822 +selectedSite.AddIPAccessRule "192.168.24.146", False, 2823 +selectedSite.AddIPAccessRule "192.168.24.145", False, 2824 +selectedSite.AddIPAccessRule "192.168.24.144", False, 2825 +selectedSite.AddIPAccessRule "192.168.24.143", False, 2826 +selectedSite.AddIPAccessRule "192.168.24.142", False, 2827 +selectedSite.AddIPAccessRule "192.168.24.141", False, 2828 +selectedSite.AddIPAccessRule "192.168.24.140", False, 2829 +selectedSite.AddIPAccessRule "192.168.24.139", False, 2830 +selectedSite.AddIPAccessRule "192.168.24.138", False, 2831 +selectedSite.AddIPAccessRule "192.168.24.137", False, 2832 +selectedSite.AddIPAccessRule "192.168.24.136", False, 2833 +selectedSite.AddIPAccessRule "192.168.24.135", False, 2834 +selectedSite.AddIPAccessRule "192.168.24.134", False, 2835 +selectedSite.AddIPAccessRule "192.168.24.133", False, 2836 +selectedSite.AddIPAccessRule "192.168.24.132", False, 2837 +selectedSite.AddIPAccessRule "192.168.24.131", False, 2838 +selectedSite.AddIPAccessRule "192.168.24.130", False, 2839 +selectedSite.AddIPAccessRule "192.168.24.129", False, 2840 +selectedSite.AddIPAccessRule "192.168.24.128", False, 2841 +selectedSite.AddIPAccessRule "192.168.24.127", False, 2842 +selectedSite.AddIPAccessRule "192.168.24.126", False, 2843 +selectedSite.AddIPAccessRule "192.168.24.125", False, 2844 +selectedSite.AddIPAccessRule "192.168.24.124", False, 2845 +selectedSite.AddIPAccessRule "192.168.24.123", False, 2846 +selectedSite.AddIPAccessRule "192.168.24.122", False, 2847 +selectedSite.AddIPAccessRule "192.168.24.121", False, 2848 +selectedSite.AddIPAccessRule "192.168.24.120", False, 2849 +selectedSite.AddIPAccessRule "192.168.24.119", False, 2850 +selectedSite.AddIPAccessRule "192.168.24.118", False, 2851 +selectedSite.AddIPAccessRule "192.168.24.117", False, 2852 +selectedSite.AddIPAccessRule "192.168.24.116", False, 2853 +selectedSite.AddIPAccessRule "192.168.24.115", False, 2854 +selectedSite.AddIPAccessRule "192.168.24.114", False, 2855 +selectedSite.AddIPAccessRule "192.168.24.113", False, 2856 +selectedSite.AddIPAccessRule "192.168.24.112", False, 2857 +selectedSite.AddIPAccessRule "192.168.24.111", False, 2858 +selectedSite.AddIPAccessRule "192.168.24.110", False, 2859 +selectedSite.AddIPAccessRule "192.168.24.109", False, 2860 +selectedSite.AddIPAccessRule "192.168.24.108", False, 2861 +selectedSite.AddIPAccessRule "192.168.24.107", False, 2862 +selectedSite.AddIPAccessRule "192.168.24.106", False, 2863 +selectedSite.AddIPAccessRule "192.168.24.105", False, 2864 +selectedSite.AddIPAccessRule "192.168.24.104", False, 2865 +selectedSite.AddIPAccessRule "192.168.24.103", False, 2866 +selectedSite.AddIPAccessRule "192.168.24.102", False, 2867 +selectedSite.AddIPAccessRule "192.168.24.101", False, 2868 +selectedSite.AddIPAccessRule "192.168.24.100", False, 2869 +selectedSite.AddIPAccessRule "192.168.24.99", False, 2870 +selectedSite.AddIPAccessRule "192.168.24.98", False, 2871 +selectedSite.AddIPAccessRule "192.168.24.97", False, 2872 +selectedSite.AddIPAccessRule "192.168.24.96", False, 2873 +selectedSite.AddIPAccessRule "192.168.24.95", False, 2874 +selectedSite.AddIPAccessRule "192.168.24.94", False, 2875 +selectedSite.AddIPAccessRule "192.168.24.93", False, 2876 +selectedSite.AddIPAccessRule "192.168.24.92", False, 2877 +selectedSite.AddIPAccessRule "192.168.24.91", False, 2878 +selectedSite.AddIPAccessRule "192.168.24.90", False, 2879 +selectedSite.AddIPAccessRule "192.168.24.89", False, 2880 +selectedSite.AddIPAccessRule "192.168.24.88", False, 2881 +selectedSite.AddIPAccessRule "192.168.24.87", False, 2882 +selectedSite.AddIPAccessRule "192.168.24.86", False, 2883 +selectedSite.AddIPAccessRule "192.168.24.85", False, 2884 +selectedSite.AddIPAccessRule "192.168.24.84", False, 2885 +selectedSite.AddIPAccessRule "192.168.24.83", False, 2886 +selectedSite.AddIPAccessRule "192.168.24.82", False, 2887 +selectedSite.AddIPAccessRule "192.168.24.81", False, 2888 +selectedSite.AddIPAccessRule "192.168.24.80", False, 2889 +selectedSite.AddIPAccessRule "192.168.24.79", False, 2890 +selectedSite.AddIPAccessRule "192.168.24.78", False, 2891 +selectedSite.AddIPAccessRule "192.168.24.77", False, 2892 +selectedSite.AddIPAccessRule "192.168.24.76", False, 2893 +selectedSite.AddIPAccessRule "192.168.24.75", False, 2894 +selectedSite.AddIPAccessRule "192.168.24.74", False, 2895 +selectedSite.AddIPAccessRule "192.168.24.73", False, 2896 +selectedSite.AddIPAccessRule "192.168.24.72", False, 2897 +selectedSite.AddIPAccessRule "192.168.24.71", False, 2898 +selectedSite.AddIPAccessRule "192.168.24.70", False, 2899 +selectedSite.AddIPAccessRule "192.168.24.69", False, 2900 +selectedSite.AddIPAccessRule "192.168.24.68", False, 2901 +selectedSite.AddIPAccessRule "192.168.24.67", False, 2902 +selectedSite.AddIPAccessRule "192.168.24.66", False, 2903 +selectedSite.AddIPAccessRule "192.168.24.65", False, 2904 +selectedSite.AddIPAccessRule "192.168.24.64", False, 2905 +selectedSite.AddIPAccessRule "192.168.24.63", False, 2906 +selectedSite.AddIPAccessRule "192.168.24.62", False, 2907 +selectedSite.AddIPAccessRule "192.168.24.61", False, 2908 +selectedSite.AddIPAccessRule "192.168.24.60", False, 2909 +selectedSite.AddIPAccessRule "192.168.24.59", False, 2910 +selectedSite.AddIPAccessRule "192.168.24.58", False, 2911 +selectedSite.AddIPAccessRule "192.168.24.57", False, 2912 +selectedSite.AddIPAccessRule "192.168.24.56", False, 2913 +selectedSite.AddIPAccessRule "192.168.24.55", False, 2914 +selectedSite.AddIPAccessRule "192.168.24.54", False, 2915 +selectedSite.AddIPAccessRule "192.168.24.53", False, 2916 +selectedSite.AddIPAccessRule "192.168.24.52", False, 2917 +selectedSite.AddIPAccessRule "192.168.24.51", False, 2918 +selectedSite.AddIPAccessRule "192.168.24.50", False, 2919 +selectedSite.AddIPAccessRule "192.168.24.49", False, 2920 +selectedSite.AddIPAccessRule "192.168.24.48", False, 2921 +selectedSite.AddIPAccessRule "192.168.24.47", False, 2922 +selectedSite.AddIPAccessRule "192.168.24.46", False, 2923 +selectedSite.AddIPAccessRule "192.168.24.45", False, 2924 +selectedSite.AddIPAccessRule "192.168.24.44", False, 2925 +selectedSite.AddIPAccessRule "192.168.24.43", False, 2926 +selectedSite.AddIPAccessRule "192.168.24.42", False, 2927 +selectedSite.AddIPAccessRule "192.168.24.41", False, 2928 +selectedSite.AddIPAccessRule "192.168.24.40", False, 2929 +selectedSite.AddIPAccessRule "192.168.24.39", False, 2930 +selectedSite.AddIPAccessRule "192.168.24.38", False, 2931 +selectedSite.AddIPAccessRule "192.168.24.37", False, 2932 +selectedSite.AddIPAccessRule "192.168.24.36", False, 2933 +selectedSite.AddIPAccessRule "192.168.24.35", False, 2934 +selectedSite.AddIPAccessRule "192.168.24.34", False, 2935 +selectedSite.AddIPAccessRule "192.168.24.33", False, 2936 +selectedSite.AddIPAccessRule "192.168.24.32", False, 2937 +selectedSite.AddIPAccessRule "192.168.24.31", False, 2938 +selectedSite.AddIPAccessRule "192.168.24.30", False, 2939 +selectedSite.AddIPAccessRule "192.168.24.29", False, 2940 +selectedSite.AddIPAccessRule "192.168.24.28", False, 2941 +selectedSite.AddIPAccessRule "192.168.24.27", False, 2942 +selectedSite.AddIPAccessRule "192.168.24.26", False, 2943 +selectedSite.AddIPAccessRule "192.168.24.25", False, 2944 +selectedSite.AddIPAccessRule "192.168.24.24", False, 2945 +selectedSite.AddIPAccessRule "192.168.24.23", False, 2946 +selectedSite.AddIPAccessRule "192.168.24.22", False, 2947 +selectedSite.AddIPAccessRule "192.168.24.21", False, 2948 +selectedSite.AddIPAccessRule "192.168.24.20", False, 2949 +selectedSite.AddIPAccessRule "192.168.24.19", False, 2950 +selectedSite.AddIPAccessRule "192.168.24.18", False, 2951 +selectedSite.AddIPAccessRule "192.168.24.17", False, 2952 +selectedSite.AddIPAccessRule "192.168.24.16", False, 2953 +selectedSite.AddIPAccessRule "192.168.24.15", False, 2954 +selectedSite.AddIPAccessRule "192.168.24.14", False, 2955 +selectedSite.AddIPAccessRule "192.168.24.13", False, 2956 +selectedSite.AddIPAccessRule "192.168.24.12", False, 2957 +selectedSite.AddIPAccessRule "192.168.24.11", False, 2958 +selectedSite.AddIPAccessRule "192.168.24.10", False, 2959 +selectedSite.AddIPAccessRule "192.168.24.9", False, 2960 +selectedSite.AddIPAccessRule "192.168.24.8", False, 2961 +selectedSite.AddIPAccessRule "192.168.24.7", False, 2962 +selectedSite.AddIPAccessRule "192.168.24.6", False, 2963 +selectedSite.AddIPAccessRule "192.168.24.5", False, 2964 +selectedSite.AddIPAccessRule "192.168.24.4", False, 2965 +selectedSite.AddIPAccessRule "192.168.24.3", False, 2966 +selectedSite.AddIPAccessRule "192.168.24.2", False, 2967 +selectedSite.AddIPAccessRule "192.168.24.1", False, 2968 +selectedSite.AddIPAccessRule "192.168.23.255", False, 2969 +selectedSite.AddIPAccessRule "192.168.23.254", False, 2970 +selectedSite.AddIPAccessRule "192.168.23.253", False, 2971 +selectedSite.AddIPAccessRule "192.168.23.252", False, 2972 +selectedSite.AddIPAccessRule "192.168.23.251", False, 2973 +selectedSite.AddIPAccessRule "192.168.23.250", False, 2974 +selectedSite.AddIPAccessRule "192.168.23.249", False, 2975 +selectedSite.AddIPAccessRule "192.168.23.248", False, 2976 +selectedSite.AddIPAccessRule "192.168.23.247", False, 2977 +selectedSite.AddIPAccessRule "192.168.23.246", False, 2978 +selectedSite.AddIPAccessRule "192.168.23.245", False, 2979 +selectedSite.AddIPAccessRule "192.168.23.244", False, 2980 +selectedSite.AddIPAccessRule "192.168.23.243", False, 2981 +selectedSite.AddIPAccessRule "192.168.23.242", False, 2982 +selectedSite.AddIPAccessRule "192.168.23.241", False, 2983 +selectedSite.AddIPAccessRule "192.168.23.240", False, 2984 +selectedSite.AddIPAccessRule "192.168.23.239", False, 2985 +selectedSite.AddIPAccessRule "192.168.23.238", False, 2986 +selectedSite.AddIPAccessRule "192.168.23.237", False, 2987 +selectedSite.AddIPAccessRule "192.168.23.236", False, 2988 +selectedSite.AddIPAccessRule "192.168.23.235", False, 2989 +selectedSite.AddIPAccessRule "192.168.23.234", False, 2990 +selectedSite.AddIPAccessRule "192.168.23.233", False, 2991 +selectedSite.AddIPAccessRule "192.168.23.232", False, 2992 +selectedSite.AddIPAccessRule "192.168.23.231", False, 2993 +selectedSite.AddIPAccessRule "192.168.23.230", False, 2994 +selectedSite.AddIPAccessRule "192.168.23.229", False, 2995 +selectedSite.AddIPAccessRule "192.168.23.228", False, 2996 +selectedSite.AddIPAccessRule "192.168.23.227", False, 2997 +selectedSite.AddIPAccessRule "192.168.23.226", False, 2998 +selectedSite.AddIPAccessRule "192.168.23.225", False, 2999 +selectedSite.AddIPAccessRule "192.168.23.224", False, 3000 +selectedSite.AddIPAccessRule "192.168.23.223", False, 3001 +selectedSite.AddIPAccessRule "192.168.23.222", False, 3002 +selectedSite.AddIPAccessRule "192.168.23.221", False, 3003 +selectedSite.AddIPAccessRule "192.168.23.220", False, 3004 +selectedSite.AddIPAccessRule "192.168.23.219", False, 3005 +selectedSite.AddIPAccessRule "192.168.23.218", False, 3006 +selectedSite.AddIPAccessRule "192.168.23.217", False, 3007 +selectedSite.AddIPAccessRule "192.168.23.216", False, 3008 +selectedSite.AddIPAccessRule "192.168.23.215", False, 3009 +selectedSite.AddIPAccessRule "192.168.23.214", False, 3010 +selectedSite.AddIPAccessRule "192.168.23.213", False, 3011 +selectedSite.AddIPAccessRule "192.168.23.212", False, 3012 +selectedSite.AddIPAccessRule "192.168.23.211", False, 3013 +selectedSite.AddIPAccessRule "192.168.23.210", False, 3014 +selectedSite.AddIPAccessRule "192.168.23.209", False, 3015 +selectedSite.AddIPAccessRule "192.168.23.208", False, 3016 +selectedSite.AddIPAccessRule "192.168.23.207", False, 3017 +selectedSite.AddIPAccessRule "192.168.23.206", False, 3018 +selectedSite.AddIPAccessRule "192.168.23.205", False, 3019 +selectedSite.AddIPAccessRule "192.168.23.204", False, 3020 +selectedSite.AddIPAccessRule "192.168.23.203", False, 3021 +selectedSite.AddIPAccessRule "192.168.23.202", False, 3022 +selectedSite.AddIPAccessRule "192.168.23.201", False, 3023 +selectedSite.AddIPAccessRule "192.168.23.200", False, 3024 +selectedSite.AddIPAccessRule "192.168.23.199", False, 3025 +selectedSite.AddIPAccessRule "192.168.23.198", False, 3026 +selectedSite.AddIPAccessRule "192.168.23.197", False, 3027 +selectedSite.AddIPAccessRule "192.168.23.196", False, 3028 +selectedSite.AddIPAccessRule "192.168.23.195", False, 3029 +selectedSite.AddIPAccessRule "192.168.23.194", False, 3030 +selectedSite.AddIPAccessRule "192.168.23.193", False, 3031 +selectedSite.AddIPAccessRule "192.168.23.192", False, 3032 +selectedSite.AddIPAccessRule "192.168.23.191", False, 3033 +selectedSite.AddIPAccessRule "192.168.23.190", False, 3034 +selectedSite.AddIPAccessRule "192.168.23.189", False, 3035 +selectedSite.AddIPAccessRule "192.168.23.188", False, 3036 +selectedSite.AddIPAccessRule "192.168.23.187", False, 3037 +selectedSite.AddIPAccessRule "192.168.23.186", False, 3038 +selectedSite.AddIPAccessRule "192.168.23.185", False, 3039 +selectedSite.AddIPAccessRule "192.168.23.184", False, 3040 +selectedSite.AddIPAccessRule "192.168.23.183", False, 3041 +selectedSite.AddIPAccessRule "192.168.23.182", False, 3042 +selectedSite.AddIPAccessRule "192.168.23.181", False, 3043 +selectedSite.AddIPAccessRule "192.168.23.180", False, 3044 +selectedSite.AddIPAccessRule "192.168.23.179", False, 3045 +selectedSite.AddIPAccessRule "192.168.23.178", False, 3046 +selectedSite.AddIPAccessRule "192.168.23.177", False, 3047 +selectedSite.AddIPAccessRule "192.168.23.176", False, 3048 +selectedSite.AddIPAccessRule "192.168.23.175", False, 3049 +selectedSite.AddIPAccessRule "192.168.23.174", False, 3050 +selectedSite.AddIPAccessRule "192.168.23.173", False, 3051 +selectedSite.AddIPAccessRule "192.168.23.172", False, 3052 +selectedSite.AddIPAccessRule "192.168.23.171", False, 3053 +selectedSite.AddIPAccessRule "192.168.23.170", False, 3054 +selectedSite.AddIPAccessRule "192.168.23.169", False, 3055 +selectedSite.AddIPAccessRule "192.168.23.168", False, 3056 +selectedSite.AddIPAccessRule "192.168.23.167", False, 3057 +selectedSite.AddIPAccessRule "192.168.23.166", False, 3058 +selectedSite.AddIPAccessRule "192.168.23.165", False, 3059 +selectedSite.AddIPAccessRule "192.168.23.164", False, 3060 +selectedSite.AddIPAccessRule "192.168.23.163", False, 3061 +selectedSite.AddIPAccessRule "192.168.23.162", False, 3062 +selectedSite.AddIPAccessRule "192.168.23.161", False, 3063 +selectedSite.AddIPAccessRule "192.168.23.160", False, 3064 +selectedSite.AddIPAccessRule "192.168.23.159", False, 3065 +selectedSite.AddIPAccessRule "192.168.23.158", False, 3066 +selectedSite.AddIPAccessRule "192.168.23.157", False, 3067 +selectedSite.AddIPAccessRule "192.168.23.156", False, 3068 +selectedSite.AddIPAccessRule "192.168.23.155", False, 3069 +selectedSite.AddIPAccessRule "192.168.23.154", False, 3070 +selectedSite.AddIPAccessRule "192.168.23.153", False, 3071 +selectedSite.AddIPAccessRule "192.168.23.152", False, 3072 +selectedSite.AddIPAccessRule "192.168.23.151", False, 3073 +selectedSite.AddIPAccessRule "192.168.23.150", False, 3074 +selectedSite.AddIPAccessRule "192.168.23.149", False, 3075 +selectedSite.AddIPAccessRule "192.168.23.148", False, 3076 +selectedSite.AddIPAccessRule "192.168.23.147", False, 3077 +selectedSite.AddIPAccessRule "192.168.23.146", False, 3078 +selectedSite.AddIPAccessRule "192.168.23.145", False, 3079 +selectedSite.AddIPAccessRule "192.168.23.144", False, 3080 +selectedSite.AddIPAccessRule "192.168.23.143", False, 3081 +selectedSite.AddIPAccessRule "192.168.23.142", False, 3082 +selectedSite.AddIPAccessRule "192.168.23.141", False, 3083 +selectedSite.AddIPAccessRule "192.168.23.140", False, 3084 +selectedSite.AddIPAccessRule "192.168.23.139", False, 3085 +selectedSite.AddIPAccessRule "192.168.23.138", False, 3086 +selectedSite.AddIPAccessRule "192.168.23.137", False, 3087 +selectedSite.AddIPAccessRule "192.168.23.136", False, 3088 +selectedSite.AddIPAccessRule "192.168.23.135", False, 3089 +selectedSite.AddIPAccessRule "192.168.23.134", False, 3090 +selectedSite.AddIPAccessRule "192.168.23.133", False, 3091 +selectedSite.AddIPAccessRule "192.168.23.132", False, 3092 +selectedSite.AddIPAccessRule "192.168.23.131", False, 3093 +selectedSite.AddIPAccessRule "192.168.23.130", False, 3094 +selectedSite.AddIPAccessRule "192.168.23.129", False, 3095 +selectedSite.AddIPAccessRule "192.168.23.128", False, 3096 +selectedSite.AddIPAccessRule "192.168.23.127", False, 3097 +selectedSite.AddIPAccessRule "192.168.23.126", False, 3098 +selectedSite.AddIPAccessRule "192.168.23.125", False, 3099 +selectedSite.AddIPAccessRule "192.168.23.124", False, 3100 +selectedSite.AddIPAccessRule "192.168.23.123", False, 3101 +selectedSite.AddIPAccessRule "192.168.23.122", False, 3102 +selectedSite.AddIPAccessRule "192.168.23.121", False, 3103 +selectedSite.AddIPAccessRule "192.168.23.120", False, 3104 +selectedSite.AddIPAccessRule "192.168.23.119", False, 3105 +selectedSite.AddIPAccessRule "192.168.23.118", False, 3106 +selectedSite.AddIPAccessRule "192.168.23.117", False, 3107 +selectedSite.AddIPAccessRule "192.168.23.116", False, 3108 +selectedSite.AddIPAccessRule "192.168.23.115", False, 3109 +selectedSite.AddIPAccessRule "192.168.23.114", False, 3110 +selectedSite.AddIPAccessRule "192.168.23.113", False, 3111 +selectedSite.AddIPAccessRule "192.168.23.112", False, 3112 +selectedSite.AddIPAccessRule "192.168.23.111", False, 3113 +selectedSite.AddIPAccessRule "192.168.23.110", False, 3114 +selectedSite.AddIPAccessRule "192.168.23.109", False, 3115 +selectedSite.AddIPAccessRule "192.168.23.108", False, 3116 +selectedSite.AddIPAccessRule "192.168.23.107", False, 3117 +selectedSite.AddIPAccessRule "192.168.23.106", False, 3118 +selectedSite.AddIPAccessRule "192.168.23.105", False, 3119 +selectedSite.AddIPAccessRule "192.168.23.104", False, 3120 +selectedSite.AddIPAccessRule "192.168.23.103", False, 3121 +selectedSite.AddIPAccessRule "192.168.23.102", False, 3122 +selectedSite.AddIPAccessRule "192.168.23.101", False, 3123 +selectedSite.AddIPAccessRule "192.168.23.100", False, 3124 +selectedSite.AddIPAccessRule "192.168.23.99", False, 3125 +selectedSite.AddIPAccessRule "192.168.23.98", False, 3126 +selectedSite.AddIPAccessRule "192.168.23.97", False, 3127 +selectedSite.AddIPAccessRule "192.168.23.96", False, 3128 +selectedSite.AddIPAccessRule "192.168.23.95", False, 3129 +selectedSite.AddIPAccessRule "192.168.23.94", False, 3130 +selectedSite.AddIPAccessRule "192.168.23.93", False, 3131 +selectedSite.AddIPAccessRule "192.168.23.92", False, 3132 +selectedSite.AddIPAccessRule "192.168.23.91", False, 3133 +selectedSite.AddIPAccessRule "192.168.23.90", False, 3134 +selectedSite.AddIPAccessRule "192.168.23.89", False, 3135 +selectedSite.AddIPAccessRule "192.168.23.88", False, 3136 +selectedSite.AddIPAccessRule "192.168.23.87", False, 3137 +selectedSite.AddIPAccessRule "192.168.23.86", False, 3138 +selectedSite.AddIPAccessRule "192.168.23.85", False, 3139 +selectedSite.AddIPAccessRule "192.168.23.84", False, 3140 +selectedSite.AddIPAccessRule "192.168.23.83", False, 3141 +selectedSite.AddIPAccessRule "192.168.23.82", False, 3142 +selectedSite.AddIPAccessRule "192.168.23.81", False, 3143 +selectedSite.AddIPAccessRule "192.168.23.80", False, 3144 +selectedSite.AddIPAccessRule "192.168.23.79", False, 3145 +selectedSite.AddIPAccessRule "192.168.23.78", False, 3146 +selectedSite.AddIPAccessRule "192.168.23.77", False, 3147 +selectedSite.AddIPAccessRule "192.168.23.76", False, 3148 +selectedSite.AddIPAccessRule "192.168.23.75", False, 3149 +selectedSite.AddIPAccessRule "192.168.23.74", False, 3150 +selectedSite.AddIPAccessRule "192.168.23.73", False, 3151 +selectedSite.AddIPAccessRule "192.168.23.72", False, 3152 +selectedSite.AddIPAccessRule "192.168.23.71", False, 3153 +selectedSite.AddIPAccessRule "192.168.23.70", False, 3154 +selectedSite.AddIPAccessRule "192.168.23.69", False, 3155 +selectedSite.AddIPAccessRule "192.168.23.68", False, 3156 +selectedSite.AddIPAccessRule "192.168.23.67", False, 3157 +selectedSite.AddIPAccessRule "192.168.23.66", False, 3158 +selectedSite.AddIPAccessRule "192.168.23.65", False, 3159 +selectedSite.AddIPAccessRule "192.168.23.64", False, 3160 +selectedSite.AddIPAccessRule "192.168.23.63", False, 3161 +selectedSite.AddIPAccessRule "192.168.23.62", False, 3162 +selectedSite.AddIPAccessRule "192.168.23.61", False, 3163 +selectedSite.AddIPAccessRule "192.168.23.60", False, 3164 +selectedSite.AddIPAccessRule "192.168.23.59", False, 3165 +selectedSite.AddIPAccessRule "192.168.23.58", False, 3166 +selectedSite.AddIPAccessRule "192.168.23.57", False, 3167 +selectedSite.AddIPAccessRule "192.168.23.56", False, 3168 +selectedSite.AddIPAccessRule "192.168.23.55", False, 3169 +selectedSite.AddIPAccessRule "192.168.23.54", False, 3170 +selectedSite.AddIPAccessRule "192.168.23.53", False, 3171 +selectedSite.AddIPAccessRule "192.168.23.52", False, 3172 +selectedSite.AddIPAccessRule "192.168.23.51", False, 3173 +selectedSite.AddIPAccessRule "192.168.23.50", False, 3174 +selectedSite.AddIPAccessRule "192.168.23.49", False, 3175 +selectedSite.AddIPAccessRule "192.168.23.48", False, 3176 +selectedSite.AddIPAccessRule "192.168.23.47", False, 3177 +selectedSite.AddIPAccessRule "192.168.23.46", False, 3178 +selectedSite.AddIPAccessRule "192.168.23.45", False, 3179 +selectedSite.AddIPAccessRule "192.168.23.44", False, 3180 +selectedSite.AddIPAccessRule "192.168.23.43", False, 3181 +selectedSite.AddIPAccessRule "192.168.23.42", False, 3182 +selectedSite.AddIPAccessRule "192.168.23.41", False, 3183 +selectedSite.AddIPAccessRule "192.168.23.40", False, 3184 +selectedSite.AddIPAccessRule "192.168.23.39", False, 3185 +selectedSite.AddIPAccessRule "192.168.23.38", False, 3186 +selectedSite.AddIPAccessRule "192.168.23.37", False, 3187 +selectedSite.AddIPAccessRule "192.168.23.36", False, 3188 +selectedSite.AddIPAccessRule "192.168.23.35", False, 3189 +selectedSite.AddIPAccessRule "192.168.23.34", False, 3190 +selectedSite.AddIPAccessRule "192.168.23.33", False, 3191 +selectedSite.AddIPAccessRule "192.168.23.32", False, 3192 +selectedSite.AddIPAccessRule "192.168.23.31", False, 3193 +selectedSite.AddIPAccessRule "192.168.23.30", False, 3194 +selectedSite.AddIPAccessRule "192.168.23.29", False, 3195 +selectedSite.AddIPAccessRule "192.168.23.28", False, 3196 +selectedSite.AddIPAccessRule "192.168.23.27", False, 3197 +selectedSite.AddIPAccessRule "192.168.23.26", False, 3198 +selectedSite.AddIPAccessRule "192.168.23.25", False, 3199 +selectedSite.AddIPAccessRule "192.168.23.24", False, 3200 +selectedSite.AddIPAccessRule "192.168.23.23", False, 3201 +selectedSite.AddIPAccessRule "192.168.23.22", False, 3202 +selectedSite.AddIPAccessRule "192.168.23.21", False, 3203 +selectedSite.AddIPAccessRule "192.168.23.20", False, 3204 +selectedSite.AddIPAccessRule "192.168.23.19", False, 3205 +selectedSite.AddIPAccessRule "192.168.23.18", False, 3206 +selectedSite.AddIPAccessRule "192.168.23.17", False, 3207 +selectedSite.AddIPAccessRule "192.168.23.16", False, 3208 +selectedSite.AddIPAccessRule "192.168.23.15", False, 3209 +selectedSite.AddIPAccessRule "192.168.23.14", False, 3210 +selectedSite.AddIPAccessRule "192.168.23.13", False, 3211 +selectedSite.AddIPAccessRule "192.168.23.12", False, 3212 +selectedSite.AddIPAccessRule "192.168.23.11", False, 3213 +selectedSite.AddIPAccessRule "192.168.23.10", False, 3214 +selectedSite.AddIPAccessRule "192.168.23.9", False, 3215 +selectedSite.AddIPAccessRule "192.168.23.8", False, 3216 +selectedSite.AddIPAccessRule "192.168.23.7", False, 3217 +selectedSite.AddIPAccessRule "192.168.23.6", False, 3218 +selectedSite.AddIPAccessRule "192.168.23.5", False, 3219 +selectedSite.AddIPAccessRule "192.168.23.4", False, 3220 +selectedSite.AddIPAccessRule "192.168.23.3", False, 3221 +selectedSite.AddIPAccessRule "192.168.23.2", False, 3222 +selectedSite.AddIPAccessRule "192.168.23.1", False, 3223 +selectedSite.AddIPAccessRule "192.168.22.255", False, 3224 +selectedSite.AddIPAccessRule "192.168.22.254", False, 3225 +selectedSite.AddIPAccessRule "192.168.22.253", False, 3226 +selectedSite.AddIPAccessRule "192.168.22.252", False, 3227 +selectedSite.AddIPAccessRule "192.168.22.251", False, 3228 +selectedSite.AddIPAccessRule "192.168.22.250", False, 3229 +selectedSite.AddIPAccessRule "192.168.22.249", False, 3230 +selectedSite.AddIPAccessRule "192.168.22.248", False, 3231 +selectedSite.AddIPAccessRule "192.168.22.247", False, 3232 +selectedSite.AddIPAccessRule "192.168.22.246", False, 3233 +selectedSite.AddIPAccessRule "192.168.22.245", False, 3234 +selectedSite.AddIPAccessRule "192.168.22.244", False, 3235 +selectedSite.AddIPAccessRule "192.168.22.243", False, 3236 +selectedSite.AddIPAccessRule "192.168.22.242", False, 3237 +selectedSite.AddIPAccessRule "192.168.22.241", False, 3238 +selectedSite.AddIPAccessRule "192.168.22.240", False, 3239 +selectedSite.AddIPAccessRule "192.168.22.239", False, 3240 +selectedSite.AddIPAccessRule "192.168.22.238", False, 3241 +selectedSite.AddIPAccessRule "192.168.22.237", False, 3242 +selectedSite.AddIPAccessRule "192.168.22.236", False, 3243 +selectedSite.AddIPAccessRule "192.168.22.235", False, 3244 +selectedSite.AddIPAccessRule "192.168.22.234", False, 3245 +selectedSite.AddIPAccessRule "192.168.22.233", False, 3246 +selectedSite.AddIPAccessRule "192.168.22.232", False, 3247 +selectedSite.AddIPAccessRule "192.168.22.231", False, 3248 +selectedSite.AddIPAccessRule "192.168.22.230", False, 3249 +selectedSite.AddIPAccessRule "192.168.22.229", False, 3250 +selectedSite.AddIPAccessRule "192.168.22.228", False, 3251 +selectedSite.AddIPAccessRule "192.168.22.227", False, 3252 +selectedSite.AddIPAccessRule "192.168.22.226", False, 3253 +selectedSite.AddIPAccessRule "192.168.22.225", False, 3254 +selectedSite.AddIPAccessRule "192.168.22.224", False, 3255 +selectedSite.AddIPAccessRule "192.168.22.223", False, 3256 +selectedSite.AddIPAccessRule "192.168.22.222", False, 3257 +selectedSite.AddIPAccessRule "192.168.22.221", False, 3258 +selectedSite.AddIPAccessRule "192.168.22.220", False, 3259 +selectedSite.AddIPAccessRule "192.168.22.219", False, 3260 +selectedSite.AddIPAccessRule "192.168.22.218", False, 3261 +selectedSite.AddIPAccessRule "192.168.22.217", False, 3262 +selectedSite.AddIPAccessRule "192.168.22.216", False, 3263 +selectedSite.AddIPAccessRule "192.168.22.215", False, 3264 +selectedSite.AddIPAccessRule "192.168.22.214", False, 3265 +selectedSite.AddIPAccessRule "192.168.22.213", False, 3266 +selectedSite.AddIPAccessRule "192.168.22.212", False, 3267 +selectedSite.AddIPAccessRule "192.168.22.211", False, 3268 +selectedSite.AddIPAccessRule "192.168.22.210", False, 3269 +selectedSite.AddIPAccessRule "192.168.22.209", False, 3270 +selectedSite.AddIPAccessRule "192.168.22.208", False, 3271 +selectedSite.AddIPAccessRule "192.168.22.207", False, 3272 +selectedSite.AddIPAccessRule "192.168.22.206", False, 3273 +selectedSite.AddIPAccessRule "192.168.22.205", False, 3274 +selectedSite.AddIPAccessRule "192.168.22.204", False, 3275 +selectedSite.AddIPAccessRule "192.168.22.203", False, 3276 +selectedSite.AddIPAccessRule "192.168.22.202", False, 3277 +selectedSite.AddIPAccessRule "192.168.22.201", False, 3278 +selectedSite.AddIPAccessRule "192.168.22.200", False, 3279 +selectedSite.AddIPAccessRule "192.168.22.199", False, 3280 +selectedSite.AddIPAccessRule "192.168.22.198", False, 3281 +selectedSite.AddIPAccessRule "192.168.22.197", False, 3282 +selectedSite.AddIPAccessRule "192.168.22.196", False, 3283 +selectedSite.AddIPAccessRule "192.168.22.195", False, 3284 +selectedSite.AddIPAccessRule "192.168.22.194", False, 3285 +selectedSite.AddIPAccessRule "192.168.22.193", False, 3286 +selectedSite.AddIPAccessRule "192.168.22.192", False, 3287 +selectedSite.AddIPAccessRule "192.168.22.191", False, 3288 +selectedSite.AddIPAccessRule "192.168.22.190", False, 3289 +selectedSite.AddIPAccessRule "192.168.22.189", False, 3290 +selectedSite.AddIPAccessRule "192.168.22.188", False, 3291 +selectedSite.AddIPAccessRule "192.168.22.187", False, 3292 +selectedSite.AddIPAccessRule "192.168.22.186", False, 3293 +selectedSite.AddIPAccessRule "192.168.22.185", False, 3294 +selectedSite.AddIPAccessRule "192.168.22.184", False, 3295 +selectedSite.AddIPAccessRule "192.168.22.183", False, 3296 +selectedSite.AddIPAccessRule "192.168.22.182", False, 3297 +selectedSite.AddIPAccessRule "192.168.22.181", False, 3298 +selectedSite.AddIPAccessRule "192.168.22.180", False, 3299 +selectedSite.AddIPAccessRule "192.168.22.179", False, 3300 +selectedSite.AddIPAccessRule "192.168.22.178", False, 3301 +selectedSite.AddIPAccessRule "192.168.22.177", False, 3302 +selectedSite.AddIPAccessRule "192.168.22.176", False, 3303 +selectedSite.AddIPAccessRule "192.168.22.175", False, 3304 +selectedSite.AddIPAccessRule "192.168.22.174", False, 3305 +selectedSite.AddIPAccessRule "192.168.22.173", False, 3306 +selectedSite.AddIPAccessRule "192.168.22.172", False, 3307 +selectedSite.AddIPAccessRule "192.168.22.171", False, 3308 +selectedSite.AddIPAccessRule "192.168.22.170", False, 3309 +selectedSite.AddIPAccessRule "192.168.22.169", False, 3310 +selectedSite.AddIPAccessRule "192.168.22.168", False, 3311 +selectedSite.AddIPAccessRule "192.168.22.167", False, 3312 +selectedSite.AddIPAccessRule "192.168.22.166", False, 3313 +selectedSite.AddIPAccessRule "192.168.22.165", False, 3314 +selectedSite.AddIPAccessRule "192.168.22.164", False, 3315 +selectedSite.AddIPAccessRule "192.168.22.163", False, 3316 +selectedSite.AddIPAccessRule "192.168.22.162", False, 3317 +selectedSite.AddIPAccessRule "192.168.22.161", False, 3318 +selectedSite.AddIPAccessRule "192.168.22.160", False, 3319 +selectedSite.AddIPAccessRule "192.168.22.159", False, 3320 +selectedSite.AddIPAccessRule "192.168.22.158", False, 3321 +selectedSite.AddIPAccessRule "192.168.22.157", False, 3322 +selectedSite.AddIPAccessRule "192.168.22.156", False, 3323 +selectedSite.AddIPAccessRule "192.168.22.155", False, 3324 +selectedSite.AddIPAccessRule "192.168.22.154", False, 3325 +selectedSite.AddIPAccessRule "192.168.22.153", False, 3326 +selectedSite.AddIPAccessRule "192.168.22.152", False, 3327 +selectedSite.AddIPAccessRule "192.168.22.151", False, 3328 +selectedSite.AddIPAccessRule "192.168.22.150", False, 3329 +selectedSite.AddIPAccessRule "192.168.22.149", False, 3330 +selectedSite.AddIPAccessRule "192.168.22.148", False, 3331 +selectedSite.AddIPAccessRule "192.168.22.147", False, 3332 +selectedSite.AddIPAccessRule "192.168.22.146", False, 3333 +selectedSite.AddIPAccessRule "192.168.22.145", False, 3334 +selectedSite.AddIPAccessRule "192.168.22.144", False, 3335 +selectedSite.AddIPAccessRule "192.168.22.143", False, 3336 +selectedSite.AddIPAccessRule "192.168.22.142", False, 3337 +selectedSite.AddIPAccessRule "192.168.22.141", False, 3338 +selectedSite.AddIPAccessRule "192.168.22.140", False, 3339 +selectedSite.AddIPAccessRule "192.168.22.139", False, 3340 +selectedSite.AddIPAccessRule "192.168.22.138", False, 3341 +selectedSite.AddIPAccessRule "192.168.22.137", False, 3342 +selectedSite.AddIPAccessRule "192.168.22.136", False, 3343 +selectedSite.AddIPAccessRule "192.168.22.135", False, 3344 +selectedSite.AddIPAccessRule "192.168.22.134", False, 3345 +selectedSite.AddIPAccessRule "192.168.22.133", False, 3346 +selectedSite.AddIPAccessRule "192.168.22.132", False, 3347 +selectedSite.AddIPAccessRule "192.168.22.131", False, 3348 +selectedSite.AddIPAccessRule "192.168.22.130", False, 3349 +selectedSite.AddIPAccessRule "192.168.22.129", False, 3350 +selectedSite.AddIPAccessRule "192.168.22.128", False, 3351 +selectedSite.AddIPAccessRule "192.168.22.127", False, 3352 +selectedSite.AddIPAccessRule "192.168.22.126", False, 3353 +selectedSite.AddIPAccessRule "192.168.22.125", False, 3354 +selectedSite.AddIPAccessRule "192.168.22.124", False, 3355 +selectedSite.AddIPAccessRule "192.168.22.123", False, 3356 +selectedSite.AddIPAccessRule "192.168.22.122", False, 3357 +selectedSite.AddIPAccessRule "192.168.22.121", False, 3358 +selectedSite.AddIPAccessRule "192.168.22.120", False, 3359 +selectedSite.AddIPAccessRule "192.168.22.119", False, 3360 +selectedSite.AddIPAccessRule "192.168.22.118", False, 3361 +selectedSite.AddIPAccessRule "192.168.22.117", False, 3362 +selectedSite.AddIPAccessRule "192.168.22.116", False, 3363 +selectedSite.AddIPAccessRule "192.168.22.115", False, 3364 +selectedSite.AddIPAccessRule "192.168.22.114", False, 3365 +selectedSite.AddIPAccessRule "192.168.22.113", False, 3366 +selectedSite.AddIPAccessRule "192.168.22.112", False, 3367 +selectedSite.AddIPAccessRule "192.168.22.111", False, 3368 +selectedSite.AddIPAccessRule "192.168.22.110", False, 3369 +selectedSite.AddIPAccessRule "192.168.22.109", False, 3370 +selectedSite.AddIPAccessRule "192.168.22.108", False, 3371 +selectedSite.AddIPAccessRule "192.168.22.107", False, 3372 +selectedSite.AddIPAccessRule "192.168.22.106", False, 3373 +selectedSite.AddIPAccessRule "192.168.22.105", False, 3374 +selectedSite.AddIPAccessRule "192.168.22.104", False, 3375 +selectedSite.AddIPAccessRule "192.168.22.103", False, 3376 +selectedSite.AddIPAccessRule "192.168.22.102", False, 3377 +selectedSite.AddIPAccessRule "192.168.22.101", False, 3378 +selectedSite.AddIPAccessRule "192.168.22.100", False, 3379 +selectedSite.AddIPAccessRule "192.168.22.99", False, 3380 +selectedSite.AddIPAccessRule "192.168.22.98", False, 3381 +selectedSite.AddIPAccessRule "192.168.22.97", False, 3382 +selectedSite.AddIPAccessRule "192.168.22.96", False, 3383 +selectedSite.AddIPAccessRule "192.168.22.95", False, 3384 +selectedSite.AddIPAccessRule "192.168.22.94", False, 3385 +selectedSite.AddIPAccessRule "192.168.22.93", False, 3386 +selectedSite.AddIPAccessRule "192.168.22.92", False, 3387 +selectedSite.AddIPAccessRule "192.168.22.91", False, 3388 +selectedSite.AddIPAccessRule "192.168.22.90", False, 3389 +selectedSite.AddIPAccessRule "192.168.22.89", False, 3390 +selectedSite.AddIPAccessRule "192.168.22.88", False, 3391 +selectedSite.AddIPAccessRule "192.168.22.87", False, 3392 +selectedSite.AddIPAccessRule "192.168.22.86", False, 3393 +selectedSite.AddIPAccessRule "192.168.22.85", False, 3394 +selectedSite.AddIPAccessRule "192.168.22.84", False, 3395 +selectedSite.AddIPAccessRule "192.168.22.83", False, 3396 +selectedSite.AddIPAccessRule "192.168.22.82", False, 3397 +selectedSite.AddIPAccessRule "192.168.22.81", False, 3398 +selectedSite.AddIPAccessRule "192.168.22.80", False, 3399 +selectedSite.AddIPAccessRule "192.168.22.79", False, 3400 +selectedSite.AddIPAccessRule "192.168.22.78", False, 3401 +selectedSite.AddIPAccessRule "192.168.22.77", False, 3402 +selectedSite.AddIPAccessRule "192.168.22.76", False, 3403 +selectedSite.AddIPAccessRule "192.168.22.75", False, 3404 +selectedSite.AddIPAccessRule "192.168.22.74", False, 3405 +selectedSite.AddIPAccessRule "192.168.22.73", False, 3406 +selectedSite.AddIPAccessRule "192.168.22.72", False, 3407 +selectedSite.AddIPAccessRule "192.168.22.71", False, 3408 +selectedSite.AddIPAccessRule "192.168.22.70", False, 3409 +selectedSite.AddIPAccessRule "192.168.22.69", False, 3410 +selectedSite.AddIPAccessRule "192.168.22.68", False, 3411 +selectedSite.AddIPAccessRule "192.168.22.67", False, 3412 +selectedSite.AddIPAccessRule "192.168.22.66", False, 3413 +selectedSite.AddIPAccessRule "192.168.22.65", False, 3414 +selectedSite.AddIPAccessRule "192.168.22.64", False, 3415 +selectedSite.AddIPAccessRule "192.168.22.63", False, 3416 +selectedSite.AddIPAccessRule "192.168.22.62", False, 3417 +selectedSite.AddIPAccessRule "192.168.22.61", False, 3418 +selectedSite.AddIPAccessRule "192.168.22.60", False, 3419 +selectedSite.AddIPAccessRule "192.168.22.59", False, 3420 +selectedSite.AddIPAccessRule "192.168.22.58", False, 3421 +selectedSite.AddIPAccessRule "192.168.22.57", False, 3422 +selectedSite.AddIPAccessRule "192.168.22.56", False, 3423 +selectedSite.AddIPAccessRule "192.168.22.55", False, 3424 +selectedSite.AddIPAccessRule "192.168.22.54", False, 3425 +selectedSite.AddIPAccessRule "192.168.22.53", False, 3426 +selectedSite.AddIPAccessRule "192.168.22.52", False, 3427 +selectedSite.AddIPAccessRule "192.168.22.51", False, 3428 +selectedSite.AddIPAccessRule "192.168.22.50", False, 3429 +selectedSite.AddIPAccessRule "192.168.22.49", False, 3430 +selectedSite.AddIPAccessRule "192.168.22.48", False, 3431 +selectedSite.AddIPAccessRule "192.168.22.47", False, 3432 +selectedSite.AddIPAccessRule "192.168.22.46", False, 3433 +selectedSite.AddIPAccessRule "192.168.22.45", False, 3434 +selectedSite.AddIPAccessRule "192.168.22.44", False, 3435 +selectedSite.AddIPAccessRule "192.168.22.43", False, 3436 +selectedSite.AddIPAccessRule "192.168.22.42", False, 3437 +selectedSite.AddIPAccessRule "192.168.22.41", False, 3438 +selectedSite.AddIPAccessRule "192.168.22.40", False, 3439 +selectedSite.AddIPAccessRule "192.168.22.39", False, 3440 +selectedSite.AddIPAccessRule "192.168.22.38", False, 3441 +selectedSite.AddIPAccessRule "192.168.22.37", False, 3442 +selectedSite.AddIPAccessRule "192.168.22.36", False, 3443 +selectedSite.AddIPAccessRule "192.168.22.35", False, 3444 +selectedSite.AddIPAccessRule "192.168.22.34", False, 3445 +selectedSite.AddIPAccessRule "192.168.22.33", False, 3446 +selectedSite.AddIPAccessRule "192.168.22.32", False, 3447 +selectedSite.AddIPAccessRule "192.168.22.31", False, 3448 +selectedSite.AddIPAccessRule "192.168.22.30", False, 3449 +selectedSite.AddIPAccessRule "192.168.22.29", False, 3450 +selectedSite.AddIPAccessRule "192.168.22.28", False, 3451 +selectedSite.AddIPAccessRule "192.168.22.27", False, 3452 +selectedSite.AddIPAccessRule "192.168.22.26", False, 3453 +selectedSite.AddIPAccessRule "192.168.22.25", False, 3454 +selectedSite.AddIPAccessRule "192.168.22.24", False, 3455 +selectedSite.AddIPAccessRule "192.168.22.23", False, 3456 +selectedSite.AddIPAccessRule "192.168.22.22", False, 3457 +selectedSite.AddIPAccessRule "192.168.22.21", False, 3458 +selectedSite.AddIPAccessRule "192.168.22.20", False, 3459 +selectedSite.AddIPAccessRule "192.168.22.19", False, 3460 +selectedSite.AddIPAccessRule "192.168.22.18", False, 3461 +selectedSite.AddIPAccessRule "192.168.22.17", False, 3462 +selectedSite.AddIPAccessRule "192.168.22.16", False, 3463 +selectedSite.AddIPAccessRule "192.168.22.15", False, 3464 +selectedSite.AddIPAccessRule "192.168.22.14", False, 3465 +selectedSite.AddIPAccessRule "192.168.22.13", False, 3466 +selectedSite.AddIPAccessRule "192.168.22.12", False, 3467 +selectedSite.AddIPAccessRule "192.168.22.11", False, 3468 +selectedSite.AddIPAccessRule "192.168.22.10", False, 3469 +selectedSite.AddIPAccessRule "192.168.22.9", False, 3470 +selectedSite.AddIPAccessRule "192.168.22.8", False, 3471 +selectedSite.AddIPAccessRule "192.168.22.7", False, 3472 +selectedSite.AddIPAccessRule "192.168.22.6", False, 3473 +selectedSite.AddIPAccessRule "192.168.22.5", False, 3474 +selectedSite.AddIPAccessRule "192.168.22.4", False, 3475 +selectedSite.AddIPAccessRule "192.168.22.3", False, 3476 +selectedSite.AddIPAccessRule "192.168.22.2", False, 3477 +selectedSite.AddIPAccessRule "192.168.22.1", False, 3478 +selectedSite.AddIPAccessRule "192.168.21.255", False, 3479 +selectedSite.AddIPAccessRule "192.168.21.254", False, 3480 +selectedSite.AddIPAccessRule "192.168.21.253", False, 3481 +selectedSite.AddIPAccessRule "192.168.21.252", False, 3482 +selectedSite.AddIPAccessRule "192.168.21.251", False, 3483 +selectedSite.AddIPAccessRule "192.168.21.250", False, 3484 +selectedSite.AddIPAccessRule "192.168.21.249", False, 3485 +selectedSite.AddIPAccessRule "192.168.21.248", False, 3486 +selectedSite.AddIPAccessRule "192.168.21.247", False, 3487 +selectedSite.AddIPAccessRule "192.168.21.246", False, 3488 +selectedSite.AddIPAccessRule "192.168.21.245", False, 3489 +selectedSite.AddIPAccessRule "192.168.21.244", False, 3490 +selectedSite.AddIPAccessRule "192.168.21.243", False, 3491 +selectedSite.AddIPAccessRule "192.168.21.242", False, 3492 +selectedSite.AddIPAccessRule "192.168.21.241", False, 3493 +selectedSite.AddIPAccessRule "192.168.21.240", False, 3494 +selectedSite.AddIPAccessRule "192.168.21.239", False, 3495 +selectedSite.AddIPAccessRule "192.168.21.238", False, 3496 +selectedSite.AddIPAccessRule "192.168.21.237", False, 3497 +selectedSite.AddIPAccessRule "192.168.21.236", False, 3498 +selectedSite.AddIPAccessRule "192.168.21.235", False, 3499 +selectedSite.AddIPAccessRule "192.168.21.234", False, 3500 +selectedSite.AddIPAccessRule "192.168.21.233", False, 3501 +selectedSite.AddIPAccessRule "192.168.21.232", False, 3502 +selectedSite.AddIPAccessRule "192.168.21.231", False, 3503 +selectedSite.AddIPAccessRule "192.168.21.230", False, 3504 +selectedSite.AddIPAccessRule "192.168.21.229", False, 3505 +selectedSite.AddIPAccessRule "192.168.21.228", False, 3506 +selectedSite.AddIPAccessRule "192.168.21.227", False, 3507 +selectedSite.AddIPAccessRule "192.168.21.226", False, 3508 +selectedSite.AddIPAccessRule "192.168.21.225", False, 3509 +selectedSite.AddIPAccessRule "192.168.21.224", False, 3510 +selectedSite.AddIPAccessRule "192.168.21.223", False, 3511 +selectedSite.AddIPAccessRule "192.168.21.222", False, 3512 +selectedSite.AddIPAccessRule "192.168.21.221", False, 3513 +selectedSite.AddIPAccessRule "192.168.21.220", False, 3514 +selectedSite.AddIPAccessRule "192.168.21.219", False, 3515 +selectedSite.AddIPAccessRule "192.168.21.218", False, 3516 +selectedSite.AddIPAccessRule "192.168.21.217", False, 3517 +selectedSite.AddIPAccessRule "192.168.21.216", False, 3518 +selectedSite.AddIPAccessRule "192.168.21.215", False, 3519 +selectedSite.AddIPAccessRule "192.168.21.214", False, 3520 +selectedSite.AddIPAccessRule "192.168.21.213", False, 3521 +selectedSite.AddIPAccessRule "192.168.21.212", False, 3522 +selectedSite.AddIPAccessRule "192.168.21.211", False, 3523 +selectedSite.AddIPAccessRule "192.168.21.210", False, 3524 +selectedSite.AddIPAccessRule "192.168.21.209", False, 3525 +selectedSite.AddIPAccessRule "192.168.21.208", False, 3526 +selectedSite.AddIPAccessRule "192.168.21.207", False, 3527 +selectedSite.AddIPAccessRule "192.168.21.206", False, 3528 +selectedSite.AddIPAccessRule "192.168.21.205", False, 3529 +selectedSite.AddIPAccessRule "192.168.21.204", False, 3530 +selectedSite.AddIPAccessRule "192.168.21.203", False, 3531 +selectedSite.AddIPAccessRule "192.168.21.202", False, 3532 +selectedSite.AddIPAccessRule "192.168.21.201", False, 3533 +selectedSite.AddIPAccessRule "192.168.21.200", False, 3534 +selectedSite.AddIPAccessRule "192.168.21.199", False, 3535 +selectedSite.AddIPAccessRule "192.168.21.198", False, 3536 +selectedSite.AddIPAccessRule "192.168.21.197", False, 3537 +selectedSite.AddIPAccessRule "192.168.21.196", False, 3538 +selectedSite.AddIPAccessRule "192.168.21.195", False, 3539 +selectedSite.AddIPAccessRule "192.168.21.194", False, 3540 +selectedSite.AddIPAccessRule "192.168.21.193", False, 3541 +selectedSite.AddIPAccessRule "192.168.21.192", False, 3542 +selectedSite.AddIPAccessRule "192.168.21.191", False, 3543 +selectedSite.AddIPAccessRule "192.168.21.190", False, 3544 +selectedSite.AddIPAccessRule "192.168.21.189", False, 3545 +selectedSite.AddIPAccessRule "192.168.21.188", False, 3546 +selectedSite.AddIPAccessRule "192.168.21.187", False, 3547 +selectedSite.AddIPAccessRule "192.168.21.186", False, 3548 +selectedSite.AddIPAccessRule "192.168.21.185", False, 3549 +selectedSite.AddIPAccessRule "192.168.21.184", False, 3550 +selectedSite.AddIPAccessRule "192.168.21.183", False, 3551 +selectedSite.AddIPAccessRule "192.168.21.182", False, 3552 +selectedSite.AddIPAccessRule "192.168.21.181", False, 3553 +selectedSite.AddIPAccessRule "192.168.21.180", False, 3554 +selectedSite.AddIPAccessRule "192.168.21.179", False, 3555 +selectedSite.AddIPAccessRule "192.168.21.178", False, 3556 +selectedSite.AddIPAccessRule "192.168.21.177", False, 3557 +selectedSite.AddIPAccessRule "192.168.21.176", False, 3558 +selectedSite.AddIPAccessRule "192.168.21.175", False, 3559 +selectedSite.AddIPAccessRule "192.168.21.174", False, 3560 +selectedSite.AddIPAccessRule "192.168.21.173", False, 3561 +selectedSite.AddIPAccessRule "192.168.21.172", False, 3562 +selectedSite.AddIPAccessRule "192.168.21.171", False, 3563 +selectedSite.AddIPAccessRule "192.168.21.170", False, 3564 +selectedSite.AddIPAccessRule "192.168.21.169", False, 3565 +selectedSite.AddIPAccessRule "192.168.21.168", False, 3566 +selectedSite.AddIPAccessRule "192.168.21.167", False, 3567 +selectedSite.AddIPAccessRule "192.168.21.166", False, 3568 +selectedSite.AddIPAccessRule "192.168.21.165", False, 3569 +selectedSite.AddIPAccessRule "192.168.21.164", False, 3570 +selectedSite.AddIPAccessRule "192.168.21.163", False, 3571 +selectedSite.AddIPAccessRule "192.168.21.162", False, 3572 +selectedSite.AddIPAccessRule "192.168.21.161", False, 3573 +selectedSite.AddIPAccessRule "192.168.21.160", False, 3574 +selectedSite.AddIPAccessRule "192.168.21.159", False, 3575 +selectedSite.AddIPAccessRule "192.168.21.158", False, 3576 +selectedSite.AddIPAccessRule "192.168.21.157", False, 3577 +selectedSite.AddIPAccessRule "192.168.21.156", False, 3578 +selectedSite.AddIPAccessRule "192.168.21.155", False, 3579 +selectedSite.AddIPAccessRule "192.168.21.154", False, 3580 +selectedSite.AddIPAccessRule "192.168.21.153", False, 3581 +selectedSite.AddIPAccessRule "192.168.21.152", False, 3582 +selectedSite.AddIPAccessRule "192.168.21.151", False, 3583 +selectedSite.AddIPAccessRule "192.168.21.150", False, 3584 +selectedSite.AddIPAccessRule "192.168.21.149", False, 3585 +selectedSite.AddIPAccessRule "192.168.21.148", False, 3586 +selectedSite.AddIPAccessRule "192.168.21.147", False, 3587 +selectedSite.AddIPAccessRule "192.168.21.146", False, 3588 +selectedSite.AddIPAccessRule "192.168.21.145", False, 3589 +selectedSite.AddIPAccessRule "192.168.21.144", False, 3590 +selectedSite.AddIPAccessRule "192.168.21.143", False, 3591 +selectedSite.AddIPAccessRule "192.168.21.142", False, 3592 +selectedSite.AddIPAccessRule "192.168.21.141", False, 3593 +selectedSite.AddIPAccessRule "192.168.21.140", False, 3594 +selectedSite.AddIPAccessRule "192.168.21.139", False, 3595 +selectedSite.AddIPAccessRule "192.168.21.138", False, 3596 +selectedSite.AddIPAccessRule "192.168.21.137", False, 3597 +selectedSite.AddIPAccessRule "192.168.21.136", False, 3598 +selectedSite.AddIPAccessRule "192.168.21.135", False, 3599 +selectedSite.AddIPAccessRule "192.168.21.134", False, 3600 +selectedSite.AddIPAccessRule "192.168.21.133", False, 3601 +selectedSite.AddIPAccessRule "192.168.21.132", False, 3602 +selectedSite.AddIPAccessRule "192.168.21.131", False, 3603 +selectedSite.AddIPAccessRule "192.168.21.130", False, 3604 +selectedSite.AddIPAccessRule "192.168.21.129", False, 3605 +selectedSite.AddIPAccessRule "192.168.21.128", False, 3606 +selectedSite.AddIPAccessRule "192.168.21.127", False, 3607 +selectedSite.AddIPAccessRule "192.168.21.126", False, 3608 +selectedSite.AddIPAccessRule "192.168.21.125", False, 3609 +selectedSite.AddIPAccessRule "192.168.21.124", False, 3610 +selectedSite.AddIPAccessRule "192.168.21.123", False, 3611 +selectedSite.AddIPAccessRule "192.168.21.122", False, 3612 +selectedSite.AddIPAccessRule "192.168.21.121", False, 3613 +selectedSite.AddIPAccessRule "192.168.21.120", False, 3614 +selectedSite.AddIPAccessRule "192.168.21.119", False, 3615 +selectedSite.AddIPAccessRule "192.168.21.118", False, 3616 +selectedSite.AddIPAccessRule "192.168.21.117", False, 3617 +selectedSite.AddIPAccessRule "192.168.21.116", False, 3618 +selectedSite.AddIPAccessRule "192.168.21.115", False, 3619 +selectedSite.AddIPAccessRule "192.168.21.114", False, 3620 +selectedSite.AddIPAccessRule "192.168.21.113", False, 3621 +selectedSite.AddIPAccessRule "192.168.21.112", False, 3622 +selectedSite.AddIPAccessRule "192.168.21.111", False, 3623 +selectedSite.AddIPAccessRule "192.168.21.110", False, 3624 +selectedSite.AddIPAccessRule "192.168.21.109", False, 3625 +selectedSite.AddIPAccessRule "192.168.21.108", False, 3626 +selectedSite.AddIPAccessRule "192.168.21.107", False, 3627 +selectedSite.AddIPAccessRule "192.168.21.106", False, 3628 +selectedSite.AddIPAccessRule "192.168.21.105", False, 3629 +selectedSite.AddIPAccessRule "192.168.21.104", False, 3630 +selectedSite.AddIPAccessRule "192.168.21.103", False, 3631 +selectedSite.AddIPAccessRule "192.168.21.102", False, 3632 +selectedSite.AddIPAccessRule "192.168.21.101", False, 3633 +selectedSite.AddIPAccessRule "192.168.21.100", False, 3634 +selectedSite.AddIPAccessRule "192.168.21.99", False, 3635 +selectedSite.AddIPAccessRule "192.168.21.98", False, 3636 +selectedSite.AddIPAccessRule "192.168.21.97", False, 3637 +selectedSite.AddIPAccessRule "192.168.21.96", False, 3638 +selectedSite.AddIPAccessRule "192.168.21.95", False, 3639 +selectedSite.AddIPAccessRule "192.168.21.94", False, 3640 +selectedSite.AddIPAccessRule "192.168.21.93", False, 3641 +selectedSite.AddIPAccessRule "192.168.21.92", False, 3642 +selectedSite.AddIPAccessRule "192.168.21.91", False, 3643 +selectedSite.AddIPAccessRule "192.168.21.90", False, 3644 +selectedSite.AddIPAccessRule "192.168.21.89", False, 3645 +selectedSite.AddIPAccessRule "192.168.21.88", False, 3646 +selectedSite.AddIPAccessRule "192.168.21.87", False, 3647 +selectedSite.AddIPAccessRule "192.168.21.86", False, 3648 +selectedSite.AddIPAccessRule "192.168.21.85", False, 3649 +selectedSite.AddIPAccessRule "192.168.21.84", False, 3650 +selectedSite.AddIPAccessRule "192.168.21.83", False, 3651 +selectedSite.AddIPAccessRule "192.168.21.82", False, 3652 +selectedSite.AddIPAccessRule "192.168.21.81", False, 3653 +selectedSite.AddIPAccessRule "192.168.21.80", False, 3654 +selectedSite.AddIPAccessRule "192.168.21.79", False, 3655 +selectedSite.AddIPAccessRule "192.168.21.78", False, 3656 +selectedSite.AddIPAccessRule "192.168.21.77", False, 3657 +selectedSite.AddIPAccessRule "192.168.21.76", False, 3658 +selectedSite.AddIPAccessRule "192.168.21.75", False, 3659 +selectedSite.AddIPAccessRule "192.168.21.74", False, 3660 +selectedSite.AddIPAccessRule "192.168.21.73", False, 3661 +selectedSite.AddIPAccessRule "192.168.21.72", False, 3662 +selectedSite.AddIPAccessRule "192.168.21.71", False, 3663 +selectedSite.AddIPAccessRule "192.168.21.70", False, 3664 +selectedSite.AddIPAccessRule "192.168.21.69", False, 3665 +selectedSite.AddIPAccessRule "192.168.21.68", False, 3666 +selectedSite.AddIPAccessRule "192.168.21.67", False, 3667 +selectedSite.AddIPAccessRule "192.168.21.66", False, 3668 +selectedSite.AddIPAccessRule "192.168.21.65", False, 3669 +selectedSite.AddIPAccessRule "192.168.21.64", False, 3670 +selectedSite.AddIPAccessRule "192.168.21.63", False, 3671 +selectedSite.AddIPAccessRule "192.168.21.62", False, 3672 +selectedSite.AddIPAccessRule "192.168.21.61", False, 3673 +selectedSite.AddIPAccessRule "192.168.21.60", False, 3674 +selectedSite.AddIPAccessRule "192.168.21.59", False, 3675 +selectedSite.AddIPAccessRule "192.168.21.58", False, 3676 +selectedSite.AddIPAccessRule "192.168.21.57", False, 3677 +selectedSite.AddIPAccessRule "192.168.21.56", False, 3678 +selectedSite.AddIPAccessRule "192.168.21.55", False, 3679 +selectedSite.AddIPAccessRule "192.168.21.54", False, 3680 +selectedSite.AddIPAccessRule "192.168.21.53", False, 3681 +selectedSite.AddIPAccessRule "192.168.21.52", False, 3682 +selectedSite.AddIPAccessRule "192.168.21.51", False, 3683 +selectedSite.AddIPAccessRule "192.168.21.50", False, 3684 +selectedSite.AddIPAccessRule "192.168.21.49", False, 3685 +selectedSite.AddIPAccessRule "192.168.21.48", False, 3686 +selectedSite.AddIPAccessRule "192.168.21.47", False, 3687 +selectedSite.AddIPAccessRule "192.168.21.46", False, 3688 +selectedSite.AddIPAccessRule "192.168.21.45", False, 3689 +selectedSite.AddIPAccessRule "192.168.21.44", False, 3690 +selectedSite.AddIPAccessRule "192.168.21.43", False, 3691 +selectedSite.AddIPAccessRule "192.168.21.42", False, 3692 +selectedSite.AddIPAccessRule "192.168.21.41", False, 3693 +selectedSite.AddIPAccessRule "192.168.21.40", False, 3694 +selectedSite.AddIPAccessRule "192.168.21.39", False, 3695 +selectedSite.AddIPAccessRule "192.168.21.38", False, 3696 +selectedSite.AddIPAccessRule "192.168.21.37", False, 3697 +selectedSite.AddIPAccessRule "192.168.21.36", False, 3698 +selectedSite.AddIPAccessRule "192.168.21.35", False, 3699 +selectedSite.AddIPAccessRule "192.168.21.34", False, 3700 +selectedSite.AddIPAccessRule "192.168.21.33", False, 3701 +selectedSite.AddIPAccessRule "192.168.21.32", False, 3702 +selectedSite.AddIPAccessRule "192.168.21.31", False, 3703 +selectedSite.AddIPAccessRule "192.168.21.30", False, 3704 +selectedSite.AddIPAccessRule "192.168.21.29", False, 3705 +selectedSite.AddIPAccessRule "192.168.21.28", False, 3706 +selectedSite.AddIPAccessRule "192.168.21.27", False, 3707 +selectedSite.AddIPAccessRule "192.168.21.26", False, 3708 +selectedSite.AddIPAccessRule "192.168.21.25", False, 3709 +selectedSite.AddIPAccessRule "192.168.21.24", False, 3710 +selectedSite.AddIPAccessRule "192.168.21.23", False, 3711 +selectedSite.AddIPAccessRule "192.168.21.22", False, 3712 +selectedSite.AddIPAccessRule "192.168.21.21", False, 3713 +selectedSite.AddIPAccessRule "192.168.21.20", False, 3714 +selectedSite.AddIPAccessRule "192.168.21.19", False, 3715 +selectedSite.AddIPAccessRule "192.168.21.18", False, 3716 +selectedSite.AddIPAccessRule "192.168.21.17", False, 3717 +selectedSite.AddIPAccessRule "192.168.21.16", False, 3718 +selectedSite.AddIPAccessRule "192.168.21.15", False, 3719 +selectedSite.AddIPAccessRule "192.168.21.14", False, 3720 +selectedSite.AddIPAccessRule "192.168.21.13", False, 3721 +selectedSite.AddIPAccessRule "192.168.21.12", False, 3722 +selectedSite.AddIPAccessRule "192.168.21.11", False, 3723 +selectedSite.AddIPAccessRule "192.168.21.10", False, 3724 +selectedSite.AddIPAccessRule "192.168.21.9", False, 3725 +selectedSite.AddIPAccessRule "192.168.21.8", False, 3726 +selectedSite.AddIPAccessRule "192.168.21.7", False, 3727 +selectedSite.AddIPAccessRule "192.168.21.6", False, 3728 +selectedSite.AddIPAccessRule "192.168.21.5", False, 3729 +selectedSite.AddIPAccessRule "192.168.21.4", False, 3730 +selectedSite.AddIPAccessRule "192.168.21.3", False, 3731 +selectedSite.AddIPAccessRule "192.168.21.2", False, 3732 +selectedSite.AddIPAccessRule "192.168.21.1", False, 3733 +selectedSite.AddIPAccessRule "192.168.20.255", False, 3734 +selectedSite.AddIPAccessRule "192.168.20.254", False, 3735 +selectedSite.AddIPAccessRule "192.168.20.253", False, 3736 +selectedSite.AddIPAccessRule "192.168.20.252", False, 3737 +selectedSite.AddIPAccessRule "192.168.20.251", False, 3738 +selectedSite.AddIPAccessRule "192.168.20.250", False, 3739 +selectedSite.AddIPAccessRule "192.168.20.249", False, 3740 +selectedSite.AddIPAccessRule "192.168.20.248", False, 3741 +selectedSite.AddIPAccessRule "192.168.20.247", False, 3742 +selectedSite.AddIPAccessRule "192.168.20.246", False, 3743 +selectedSite.AddIPAccessRule "192.168.20.245", False, 3744 +selectedSite.AddIPAccessRule "192.168.20.244", False, 3745 +selectedSite.AddIPAccessRule "192.168.20.243", False, 3746 +selectedSite.AddIPAccessRule "192.168.20.242", False, 3747 +selectedSite.AddIPAccessRule "192.168.20.241", False, 3748 +selectedSite.AddIPAccessRule "192.168.20.240", False, 3749 +selectedSite.AddIPAccessRule "192.168.20.239", False, 3750 +selectedSite.AddIPAccessRule "192.168.20.238", False, 3751 +selectedSite.AddIPAccessRule "192.168.20.237", False, 3752 +selectedSite.AddIPAccessRule "192.168.20.236", False, 3753 +selectedSite.AddIPAccessRule "192.168.20.235", False, 3754 +selectedSite.AddIPAccessRule "192.168.20.234", False, 3755 +selectedSite.AddIPAccessRule "192.168.20.233", False, 3756 +selectedSite.AddIPAccessRule "192.168.20.232", False, 3757 +selectedSite.AddIPAccessRule "192.168.20.231", False, 3758 +selectedSite.AddIPAccessRule "192.168.20.230", False, 3759 +selectedSite.AddIPAccessRule "192.168.20.229", False, 3760 +selectedSite.AddIPAccessRule "192.168.20.228", False, 3761 +selectedSite.AddIPAccessRule "192.168.20.227", False, 3762 +selectedSite.AddIPAccessRule "192.168.20.226", False, 3763 +selectedSite.AddIPAccessRule "192.168.20.225", False, 3764 +selectedSite.AddIPAccessRule "192.168.20.224", False, 3765 +selectedSite.AddIPAccessRule "192.168.20.223", False, 3766 +selectedSite.AddIPAccessRule "192.168.20.222", False, 3767 +selectedSite.AddIPAccessRule "192.168.20.221", False, 3768 +selectedSite.AddIPAccessRule "192.168.20.220", False, 3769 +selectedSite.AddIPAccessRule "192.168.20.219", False, 3770 +selectedSite.AddIPAccessRule "192.168.20.218", False, 3771 +selectedSite.AddIPAccessRule "192.168.20.217", False, 3772 +selectedSite.AddIPAccessRule "192.168.20.216", False, 3773 +selectedSite.AddIPAccessRule "192.168.20.215", False, 3774 +selectedSite.AddIPAccessRule "192.168.20.214", False, 3775 +selectedSite.AddIPAccessRule "192.168.20.213", False, 3776 +selectedSite.AddIPAccessRule "192.168.20.212", False, 3777 +selectedSite.AddIPAccessRule "192.168.20.211", False, 3778 +selectedSite.AddIPAccessRule "192.168.20.210", False, 3779 +selectedSite.AddIPAccessRule "192.168.20.209", False, 3780 +selectedSite.AddIPAccessRule "192.168.20.208", False, 3781 +selectedSite.AddIPAccessRule "192.168.20.207", False, 3782 +selectedSite.AddIPAccessRule "192.168.20.206", False, 3783 +selectedSite.AddIPAccessRule "192.168.20.205", False, 3784 +selectedSite.AddIPAccessRule "192.168.20.204", False, 3785 +selectedSite.AddIPAccessRule "192.168.20.203", False, 3786 +selectedSite.AddIPAccessRule "192.168.20.202", False, 3787 +selectedSite.AddIPAccessRule "192.168.20.201", False, 3788 +selectedSite.AddIPAccessRule "192.168.20.200", False, 3789 +selectedSite.AddIPAccessRule "192.168.20.199", False, 3790 +selectedSite.AddIPAccessRule "192.168.20.198", False, 3791 +selectedSite.AddIPAccessRule "192.168.20.197", False, 3792 +selectedSite.AddIPAccessRule "192.168.20.196", False, 3793 +selectedSite.AddIPAccessRule "192.168.20.195", False, 3794 +selectedSite.AddIPAccessRule "192.168.20.194", False, 3795 +selectedSite.AddIPAccessRule "192.168.20.193", False, 3796 +selectedSite.AddIPAccessRule "192.168.20.192", False, 3797 +selectedSite.AddIPAccessRule "192.168.20.191", False, 3798 +selectedSite.AddIPAccessRule "192.168.20.190", False, 3799 +selectedSite.AddIPAccessRule "192.168.20.189", False, 3800 +selectedSite.AddIPAccessRule "192.168.20.188", False, 3801 +selectedSite.AddIPAccessRule "192.168.20.187", False, 3802 +selectedSite.AddIPAccessRule "192.168.20.186", False, 3803 +selectedSite.AddIPAccessRule "192.168.20.185", False, 3804 +selectedSite.AddIPAccessRule "192.168.20.184", False, 3805 +selectedSite.AddIPAccessRule "192.168.20.183", False, 3806 +selectedSite.AddIPAccessRule "192.168.20.182", False, 3807 +selectedSite.AddIPAccessRule "192.168.20.181", False, 3808 +selectedSite.AddIPAccessRule "192.168.20.180", False, 3809 +selectedSite.AddIPAccessRule "192.168.20.179", False, 3810 +selectedSite.AddIPAccessRule "192.168.20.178", False, 3811 +selectedSite.AddIPAccessRule "192.168.20.177", False, 3812 +selectedSite.AddIPAccessRule "192.168.20.176", False, 3813 +selectedSite.AddIPAccessRule "192.168.20.175", False, 3814 +selectedSite.AddIPAccessRule "192.168.20.174", False, 3815 +selectedSite.AddIPAccessRule "192.168.20.173", False, 3816 +selectedSite.AddIPAccessRule "192.168.20.172", False, 3817 +selectedSite.AddIPAccessRule "192.168.20.171", False, 3818 +selectedSite.AddIPAccessRule "192.168.20.170", False, 3819 +selectedSite.AddIPAccessRule "192.168.20.169", False, 3820 +selectedSite.AddIPAccessRule "192.168.20.168", False, 3821 +selectedSite.AddIPAccessRule "192.168.20.167", False, 3822 +selectedSite.AddIPAccessRule "192.168.20.166", False, 3823 +selectedSite.AddIPAccessRule "192.168.20.165", False, 3824 +selectedSite.AddIPAccessRule "192.168.20.164", False, 3825 +selectedSite.AddIPAccessRule "192.168.20.163", False, 3826 +selectedSite.AddIPAccessRule "192.168.20.162", False, 3827 +selectedSite.AddIPAccessRule "192.168.20.161", False, 3828 +selectedSite.AddIPAccessRule "192.168.20.160", False, 3829 +selectedSite.AddIPAccessRule "192.168.20.159", False, 3830 +selectedSite.AddIPAccessRule "192.168.20.158", False, 3831 +selectedSite.AddIPAccessRule "192.168.20.157", False, 3832 +selectedSite.AddIPAccessRule "192.168.20.156", False, 3833 +selectedSite.AddIPAccessRule "192.168.20.155", False, 3834 +selectedSite.AddIPAccessRule "192.168.20.154", False, 3835 +selectedSite.AddIPAccessRule "192.168.20.153", False, 3836 +selectedSite.AddIPAccessRule "192.168.20.152", False, 3837 +selectedSite.AddIPAccessRule "192.168.20.151", False, 3838 +selectedSite.AddIPAccessRule "192.168.20.150", False, 3839 +selectedSite.AddIPAccessRule "192.168.20.149", False, 3840 +selectedSite.AddIPAccessRule "192.168.20.148", False, 3841 +selectedSite.AddIPAccessRule "192.168.20.147", False, 3842 +selectedSite.AddIPAccessRule "192.168.20.146", False, 3843 +selectedSite.AddIPAccessRule "192.168.20.145", False, 3844 +selectedSite.AddIPAccessRule "192.168.20.144", False, 3845 +selectedSite.AddIPAccessRule "192.168.20.143", False, 3846 +selectedSite.AddIPAccessRule "192.168.20.142", False, 3847 +selectedSite.AddIPAccessRule "192.168.20.141", False, 3848 +selectedSite.AddIPAccessRule "192.168.20.140", False, 3849 +selectedSite.AddIPAccessRule "192.168.20.139", False, 3850 +selectedSite.AddIPAccessRule "192.168.20.138", False, 3851 +selectedSite.AddIPAccessRule "192.168.20.137", False, 3852 +selectedSite.AddIPAccessRule "192.168.20.136", False, 3853 +selectedSite.AddIPAccessRule "192.168.20.135", False, 3854 +selectedSite.AddIPAccessRule "192.168.20.134", False, 3855 +selectedSite.AddIPAccessRule "192.168.20.133", False, 3856 +selectedSite.AddIPAccessRule "192.168.20.132", False, 3857 +selectedSite.AddIPAccessRule "192.168.20.131", False, 3858 +selectedSite.AddIPAccessRule "192.168.20.130", False, 3859 +selectedSite.AddIPAccessRule "192.168.20.129", False, 3860 +selectedSite.AddIPAccessRule "192.168.20.128", False, 3861 +selectedSite.AddIPAccessRule "192.168.20.127", False, 3862 +selectedSite.AddIPAccessRule "192.168.20.126", False, 3863 +selectedSite.AddIPAccessRule "192.168.20.125", False, 3864 +selectedSite.AddIPAccessRule "192.168.20.124", False, 3865 +selectedSite.AddIPAccessRule "192.168.20.123", False, 3866 +selectedSite.AddIPAccessRule "192.168.20.122", False, 3867 +selectedSite.AddIPAccessRule "192.168.20.121", False, 3868 +selectedSite.AddIPAccessRule "192.168.20.120", False, 3869 +selectedSite.AddIPAccessRule "192.168.20.119", False, 3870 +selectedSite.AddIPAccessRule "192.168.20.118", False, 3871 +selectedSite.AddIPAccessRule "192.168.20.117", False, 3872 +selectedSite.AddIPAccessRule "192.168.20.116", False, 3873 +selectedSite.AddIPAccessRule "192.168.20.115", False, 3874 +selectedSite.AddIPAccessRule "192.168.20.114", False, 3875 +selectedSite.AddIPAccessRule "192.168.20.113", False, 3876 +selectedSite.AddIPAccessRule "192.168.20.112", False, 3877 +selectedSite.AddIPAccessRule "192.168.20.111", False, 3878 +selectedSite.AddIPAccessRule "192.168.20.110", False, 3879 +selectedSite.AddIPAccessRule "192.168.20.109", False, 3880 +selectedSite.AddIPAccessRule "192.168.20.108", False, 3881 +selectedSite.AddIPAccessRule "192.168.20.107", False, 3882 +selectedSite.AddIPAccessRule "192.168.20.106", False, 3883 +selectedSite.AddIPAccessRule "192.168.20.105", False, 3884 +selectedSite.AddIPAccessRule "192.168.20.104", False, 3885 +selectedSite.AddIPAccessRule "192.168.20.103", False, 3886 +selectedSite.AddIPAccessRule "192.168.20.102", False, 3887 +selectedSite.AddIPAccessRule "192.168.20.101", False, 3888 +selectedSite.AddIPAccessRule "192.168.20.100", False, 3889 +selectedSite.AddIPAccessRule "192.168.20.99", False, 3890 +selectedSite.AddIPAccessRule "192.168.20.98", False, 3891 +selectedSite.AddIPAccessRule "192.168.20.97", False, 3892 +selectedSite.AddIPAccessRule "192.168.20.96", False, 3893 +selectedSite.AddIPAccessRule "192.168.20.95", False, 3894 +selectedSite.AddIPAccessRule "192.168.20.94", False, 3895 +selectedSite.AddIPAccessRule "192.168.20.93", False, 3896 +selectedSite.AddIPAccessRule "192.168.20.92", False, 3897 +selectedSite.AddIPAccessRule "192.168.20.91", False, 3898 +selectedSite.AddIPAccessRule "192.168.20.90", False, 3899 +selectedSite.AddIPAccessRule "192.168.20.89", False, 3900 +selectedSite.AddIPAccessRule "192.168.20.88", False, 3901 +selectedSite.AddIPAccessRule "192.168.20.87", False, 3902 +selectedSite.AddIPAccessRule "192.168.20.86", False, 3903 +selectedSite.AddIPAccessRule "192.168.20.85", False, 3904 +selectedSite.AddIPAccessRule "192.168.20.84", False, 3905 +selectedSite.AddIPAccessRule "192.168.20.83", False, 3906 +selectedSite.AddIPAccessRule "192.168.20.82", False, 3907 +selectedSite.AddIPAccessRule "192.168.20.81", False, 3908 +selectedSite.AddIPAccessRule "192.168.20.80", False, 3909 +selectedSite.AddIPAccessRule "192.168.20.79", False, 3910 +selectedSite.AddIPAccessRule "192.168.20.78", False, 3911 +selectedSite.AddIPAccessRule "192.168.20.77", False, 3912 +selectedSite.AddIPAccessRule "192.168.20.76", False, 3913 +selectedSite.AddIPAccessRule "192.168.20.75", False, 3914 +selectedSite.AddIPAccessRule "192.168.20.74", False, 3915 +selectedSite.AddIPAccessRule "192.168.20.73", False, 3916 +selectedSite.AddIPAccessRule "192.168.20.72", False, 3917 +selectedSite.AddIPAccessRule "192.168.20.71", False, 3918 +selectedSite.AddIPAccessRule "192.168.20.70", False, 3919 +selectedSite.AddIPAccessRule "192.168.20.69", False, 3920 +selectedSite.AddIPAccessRule "192.168.20.68", False, 3921 +selectedSite.AddIPAccessRule "192.168.20.67", False, 3922 +selectedSite.AddIPAccessRule "192.168.20.66", False, 3923 +selectedSite.AddIPAccessRule "192.168.20.65", False, 3924 +selectedSite.AddIPAccessRule "192.168.20.64", False, 3925 +selectedSite.AddIPAccessRule "192.168.20.63", False, 3926 +selectedSite.AddIPAccessRule "192.168.20.62", False, 3927 +selectedSite.AddIPAccessRule "192.168.20.61", False, 3928 +selectedSite.AddIPAccessRule "192.168.20.60", False, 3929 +selectedSite.AddIPAccessRule "192.168.20.59", False, 3930 +selectedSite.AddIPAccessRule "192.168.20.58", False, 3931 +selectedSite.AddIPAccessRule "192.168.20.57", False, 3932 +selectedSite.AddIPAccessRule "192.168.20.56", False, 3933 +selectedSite.AddIPAccessRule "192.168.20.55", False, 3934 +selectedSite.AddIPAccessRule "192.168.20.54", False, 3935 +selectedSite.AddIPAccessRule "192.168.20.53", False, 3936 +selectedSite.AddIPAccessRule "192.168.20.52", False, 3937 +selectedSite.AddIPAccessRule "192.168.20.51", False, 3938 +selectedSite.AddIPAccessRule "192.168.20.50", False, 3939 +selectedSite.AddIPAccessRule "192.168.20.49", False, 3940 +selectedSite.AddIPAccessRule "192.168.20.48", False, 3941 +selectedSite.AddIPAccessRule "192.168.20.47", False, 3942 +selectedSite.AddIPAccessRule "192.168.20.46", False, 3943 +selectedSite.AddIPAccessRule "192.168.20.45", False, 3944 +selectedSite.AddIPAccessRule "192.168.20.44", False, 3945 +selectedSite.AddIPAccessRule "192.168.20.43", False, 3946 +selectedSite.AddIPAccessRule "192.168.20.42", False, 3947 +selectedSite.AddIPAccessRule "192.168.20.41", False, 3948 +selectedSite.AddIPAccessRule "192.168.20.40", False, 3949 +selectedSite.AddIPAccessRule "192.168.20.39", False, 3950 +selectedSite.AddIPAccessRule "192.168.20.38", False, 3951 +selectedSite.AddIPAccessRule "192.168.20.37", False, 3952 +selectedSite.AddIPAccessRule "192.168.20.36", False, 3953 +selectedSite.AddIPAccessRule "192.168.20.35", False, 3954 +selectedSite.AddIPAccessRule "192.168.20.34", False, 3955 +selectedSite.AddIPAccessRule "192.168.20.33", False, 3956 +selectedSite.AddIPAccessRule "192.168.20.32", False, 3957 +selectedSite.AddIPAccessRule "192.168.20.31", False, 3958 +selectedSite.AddIPAccessRule "192.168.20.30", False, 3959 +selectedSite.AddIPAccessRule "192.168.20.29", False, 3960 +selectedSite.AddIPAccessRule "192.168.20.28", False, 3961 +selectedSite.AddIPAccessRule "192.168.20.27", False, 3962 +selectedSite.AddIPAccessRule "192.168.20.26", False, 3963 +selectedSite.AddIPAccessRule "192.168.20.25", False, 3964 +selectedSite.AddIPAccessRule "192.168.20.24", False, 3965 +selectedSite.AddIPAccessRule "192.168.20.23", False, 3966 +selectedSite.AddIPAccessRule "192.168.20.22", False, 3967 +selectedSite.AddIPAccessRule "192.168.20.21", False, 3968 +selectedSite.AddIPAccessRule "192.168.20.20", False, 3969 +selectedSite.AddIPAccessRule "192.168.20.19", False, 3970 +selectedSite.AddIPAccessRule "192.168.20.18", False, 3971 +selectedSite.AddIPAccessRule "192.168.20.17", False, 3972 +selectedSite.AddIPAccessRule "192.168.20.16", False, 3973 +selectedSite.AddIPAccessRule "192.168.20.15", False, 3974 +selectedSite.AddIPAccessRule "192.168.20.14", False, 3975 +selectedSite.AddIPAccessRule "192.168.20.13", False, 3976 +selectedSite.AddIPAccessRule "192.168.20.12", False, 3977 +selectedSite.AddIPAccessRule "192.168.20.11", False, 3978 +selectedSite.AddIPAccessRule "192.168.20.10", False, 3979 +selectedSite.AddIPAccessRule "192.168.20.9", False, 3980 +selectedSite.AddIPAccessRule "192.168.20.8", False, 3981 +selectedSite.AddIPAccessRule "192.168.20.7", False, 3982 +selectedSite.AddIPAccessRule "192.168.20.6", False, 3983 +selectedSite.AddIPAccessRule "192.168.20.5", False, 3984 +selectedSite.AddIPAccessRule "192.168.20.4", False, 3985 +selectedSite.AddIPAccessRule "192.168.20.3", False, 3986 +selectedSite.AddIPAccessRule "192.168.20.2", False, 3987 +selectedSite.AddIPAccessRule "192.168.20.1", False, 3988 +selectedSite.AddIPAccessRule "192.168.19.255", False, 3989 +selectedSite.AddIPAccessRule "192.168.19.254", False, 3990 +selectedSite.AddIPAccessRule "192.168.19.253", False, 3991 +selectedSite.AddIPAccessRule "192.168.19.252", False, 3992 +selectedSite.AddIPAccessRule "192.168.19.251", False, 3993 +selectedSite.AddIPAccessRule "192.168.19.250", False, 3994 +selectedSite.AddIPAccessRule "192.168.19.249", False, 3995 +selectedSite.AddIPAccessRule "192.168.19.248", False, 3996 +selectedSite.AddIPAccessRule "192.168.19.247", False, 3997 +selectedSite.AddIPAccessRule "192.168.19.246", False, 3998 +selectedSite.AddIPAccessRule "192.168.19.245", False, 3999 +selectedSite.AddIPAccessRule "192.168.19.244", False, 4000 +selectedSite.AddIPAccessRule "192.168.19.243", False, 4001 +selectedSite.AddIPAccessRule "192.168.19.242", False, 4002 +selectedSite.AddIPAccessRule "192.168.19.241", False, 4003 +selectedSite.AddIPAccessRule "192.168.19.240", False, 4004 +selectedSite.AddIPAccessRule "192.168.19.239", False, 4005 +selectedSite.AddIPAccessRule "192.168.19.238", False, 4006 +selectedSite.AddIPAccessRule "192.168.19.237", False, 4007 +selectedSite.AddIPAccessRule "192.168.19.236", False, 4008 +selectedSite.AddIPAccessRule "192.168.19.235", False, 4009 +selectedSite.AddIPAccessRule "192.168.19.234", False, 4010 +selectedSite.AddIPAccessRule "192.168.19.233", False, 4011 +selectedSite.AddIPAccessRule "192.168.19.232", False, 4012 +selectedSite.AddIPAccessRule "192.168.19.231", False, 4013 +selectedSite.AddIPAccessRule "192.168.19.230", False, 4014 +selectedSite.AddIPAccessRule "192.168.19.229", False, 4015 +selectedSite.AddIPAccessRule "192.168.19.228", False, 4016 +selectedSite.AddIPAccessRule "192.168.19.227", False, 4017 +selectedSite.AddIPAccessRule "192.168.19.226", False, 4018 +selectedSite.AddIPAccessRule "192.168.19.225", False, 4019 +selectedSite.AddIPAccessRule "192.168.19.224", False, 4020 +selectedSite.AddIPAccessRule "192.168.19.223", False, 4021 +selectedSite.AddIPAccessRule "192.168.19.222", False, 4022 +selectedSite.AddIPAccessRule "192.168.19.221", False, 4023 +selectedSite.AddIPAccessRule "192.168.19.220", False, 4024 +selectedSite.AddIPAccessRule "192.168.19.219", False, 4025 +selectedSite.AddIPAccessRule "192.168.19.218", False, 4026 +selectedSite.AddIPAccessRule "192.168.19.217", False, 4027 +selectedSite.AddIPAccessRule "192.168.19.216", False, 4028 +selectedSite.AddIPAccessRule "192.168.19.215", False, 4029 +selectedSite.AddIPAccessRule "192.168.19.214", False, 4030 +selectedSite.AddIPAccessRule "192.168.19.213", False, 4031 +selectedSite.AddIPAccessRule "192.168.19.212", False, 4032 +selectedSite.AddIPAccessRule "192.168.19.211", False, 4033 +selectedSite.AddIPAccessRule "192.168.19.210", False, 4034 +selectedSite.AddIPAccessRule "192.168.19.209", False, 4035 +selectedSite.AddIPAccessRule "192.168.19.208", False, 4036 +selectedSite.AddIPAccessRule "192.168.19.207", False, 4037 +selectedSite.AddIPAccessRule "192.168.19.206", False, 4038 +selectedSite.AddIPAccessRule "192.168.19.205", False, 4039 +selectedSite.AddIPAccessRule "192.168.19.204", False, 4040 +selectedSite.AddIPAccessRule "192.168.19.203", False, 4041 +selectedSite.AddIPAccessRule "192.168.19.202", False, 4042 +selectedSite.AddIPAccessRule "192.168.19.201", False, 4043 +selectedSite.AddIPAccessRule "192.168.19.200", False, 4044 +selectedSite.AddIPAccessRule "192.168.19.199", False, 4045 +selectedSite.AddIPAccessRule "192.168.19.198", False, 4046 +selectedSite.AddIPAccessRule "192.168.19.197", False, 4047 +selectedSite.AddIPAccessRule "192.168.19.196", False, 4048 +selectedSite.AddIPAccessRule "192.168.19.195", False, 4049 +selectedSite.AddIPAccessRule "192.168.19.194", False, 4050 +selectedSite.AddIPAccessRule "192.168.19.193", False, 4051 +selectedSite.AddIPAccessRule "192.168.19.192", False, 4052 +selectedSite.AddIPAccessRule "192.168.19.191", False, 4053 +selectedSite.AddIPAccessRule "192.168.19.190", False, 4054 +selectedSite.AddIPAccessRule "192.168.19.189", False, 4055 +selectedSite.AddIPAccessRule "192.168.19.188", False, 4056 +selectedSite.AddIPAccessRule "192.168.19.187", False, 4057 +selectedSite.AddIPAccessRule "192.168.19.186", False, 4058 +selectedSite.AddIPAccessRule "192.168.19.185", False, 4059 +selectedSite.AddIPAccessRule "192.168.19.184", False, 4060 +selectedSite.AddIPAccessRule "192.168.19.183", False, 4061 +selectedSite.AddIPAccessRule "192.168.19.182", False, 4062 +selectedSite.AddIPAccessRule "192.168.19.181", False, 4063 +selectedSite.AddIPAccessRule "192.168.19.180", False, 4064 +selectedSite.AddIPAccessRule "192.168.19.179", False, 4065 +selectedSite.AddIPAccessRule "192.168.19.178", False, 4066 +selectedSite.AddIPAccessRule "192.168.19.177", False, 4067 +selectedSite.AddIPAccessRule "192.168.19.176", False, 4068 +selectedSite.AddIPAccessRule "192.168.19.175", False, 4069 +selectedSite.AddIPAccessRule "192.168.19.174", False, 4070 +selectedSite.AddIPAccessRule "192.168.19.173", False, 4071 +selectedSite.AddIPAccessRule "192.168.19.172", False, 4072 +selectedSite.AddIPAccessRule "192.168.19.171", False, 4073 +selectedSite.AddIPAccessRule "192.168.19.170", False, 4074 +selectedSite.AddIPAccessRule "192.168.19.169", False, 4075 +selectedSite.AddIPAccessRule "192.168.19.168", False, 4076 +selectedSite.AddIPAccessRule "192.168.19.167", False, 4077 +selectedSite.AddIPAccessRule "192.168.19.166", False, 4078 +selectedSite.AddIPAccessRule "192.168.19.165", False, 4079 +selectedSite.AddIPAccessRule "192.168.19.164", False, 4080 +selectedSite.AddIPAccessRule "192.168.19.163", False, 4081 +selectedSite.AddIPAccessRule "192.168.19.162", False, 4082 +selectedSite.AddIPAccessRule "192.168.19.161", False, 4083 +selectedSite.AddIPAccessRule "192.168.19.160", False, 4084 +selectedSite.AddIPAccessRule "192.168.19.159", False, 4085 +selectedSite.AddIPAccessRule "192.168.19.158", False, 4086 +selectedSite.AddIPAccessRule "192.168.19.157", False, 4087 +selectedSite.AddIPAccessRule "192.168.19.156", False, 4088 +selectedSite.AddIPAccessRule "192.168.19.155", False, 4089 +selectedSite.AddIPAccessRule "192.168.19.154", False, 4090 +selectedSite.AddIPAccessRule "192.168.19.153", False, 4091 +selectedSite.AddIPAccessRule "192.168.19.152", False, 4092 +selectedSite.AddIPAccessRule "192.168.19.151", False, 4093 +selectedSite.AddIPAccessRule "192.168.19.150", False, 4094 +selectedSite.AddIPAccessRule "192.168.19.149", False, 4095 +selectedSite.AddIPAccessRule "192.168.19.148", False, 4096 +selectedSite.AddIPAccessRule "192.168.19.147", False, 4097 +selectedSite.AddIPAccessRule "192.168.19.146", False, 4098 +selectedSite.AddIPAccessRule "192.168.19.145", False, 4099 +selectedSite.AddIPAccessRule "192.168.19.144", False, 4100 +selectedSite.AddIPAccessRule "192.168.19.143", False, 4101 +selectedSite.AddIPAccessRule "192.168.19.142", False, 4102 +selectedSite.AddIPAccessRule "192.168.19.141", False, 4103 +selectedSite.AddIPAccessRule "192.168.19.140", False, 4104 +selectedSite.AddIPAccessRule "192.168.19.139", False, 4105 +selectedSite.AddIPAccessRule "192.168.19.138", False, 4106 +selectedSite.AddIPAccessRule "192.168.19.137", False, 4107 +selectedSite.AddIPAccessRule "192.168.19.136", False, 4108 +selectedSite.AddIPAccessRule "192.168.19.135", False, 4109 +selectedSite.AddIPAccessRule "192.168.19.134", False, 4110 +selectedSite.AddIPAccessRule "192.168.19.133", False, 4111 +selectedSite.AddIPAccessRule "192.168.19.132", False, 4112 +selectedSite.AddIPAccessRule "192.168.19.131", False, 4113 +selectedSite.AddIPAccessRule "192.168.19.130", False, 4114 +selectedSite.AddIPAccessRule "192.168.19.129", False, 4115 +selectedSite.AddIPAccessRule "192.168.19.128", False, 4116 +selectedSite.AddIPAccessRule "192.168.19.127", False, 4117 +selectedSite.AddIPAccessRule "192.168.19.126", False, 4118 +selectedSite.AddIPAccessRule "192.168.19.125", False, 4119 +selectedSite.AddIPAccessRule "192.168.19.124", False, 4120 +selectedSite.AddIPAccessRule "192.168.19.123", False, 4121 +selectedSite.AddIPAccessRule "192.168.19.122", False, 4122 +selectedSite.AddIPAccessRule "192.168.19.121", False, 4123 +selectedSite.AddIPAccessRule "192.168.19.120", False, 4124 +selectedSite.AddIPAccessRule "192.168.19.119", False, 4125 +selectedSite.AddIPAccessRule "192.168.19.118", False, 4126 +selectedSite.AddIPAccessRule "192.168.19.117", False, 4127 +selectedSite.AddIPAccessRule "192.168.19.116", False, 4128 +selectedSite.AddIPAccessRule "192.168.19.115", False, 4129 +selectedSite.AddIPAccessRule "192.168.19.114", False, 4130 +selectedSite.AddIPAccessRule "192.168.19.113", False, 4131 +selectedSite.AddIPAccessRule "192.168.19.112", False, 4132 +selectedSite.AddIPAccessRule "192.168.19.111", False, 4133 +selectedSite.AddIPAccessRule "192.168.19.110", False, 4134 +selectedSite.AddIPAccessRule "192.168.19.109", False, 4135 +selectedSite.AddIPAccessRule "192.168.19.108", False, 4136 +selectedSite.AddIPAccessRule "192.168.19.107", False, 4137 +selectedSite.AddIPAccessRule "192.168.19.106", False, 4138 +selectedSite.AddIPAccessRule "192.168.19.105", False, 4139 +selectedSite.AddIPAccessRule "192.168.19.104", False, 4140 +selectedSite.AddIPAccessRule "192.168.19.103", False, 4141 +selectedSite.AddIPAccessRule "192.168.19.102", False, 4142 +selectedSite.AddIPAccessRule "192.168.19.101", False, 4143 +selectedSite.AddIPAccessRule "192.168.19.100", False, 4144 +selectedSite.AddIPAccessRule "192.168.19.99", False, 4145 +selectedSite.AddIPAccessRule "192.168.19.98", False, 4146 +selectedSite.AddIPAccessRule "192.168.19.97", False, 4147 +selectedSite.AddIPAccessRule "192.168.19.96", False, 4148 +selectedSite.AddIPAccessRule "192.168.19.95", False, 4149 +selectedSite.AddIPAccessRule "192.168.19.94", False, 4150 +selectedSite.AddIPAccessRule "192.168.19.93", False, 4151 +selectedSite.AddIPAccessRule "192.168.19.92", False, 4152 +selectedSite.AddIPAccessRule "192.168.19.91", False, 4153 +selectedSite.AddIPAccessRule "192.168.19.90", False, 4154 +selectedSite.AddIPAccessRule "192.168.19.89", False, 4155 +selectedSite.AddIPAccessRule "192.168.19.88", False, 4156 +selectedSite.AddIPAccessRule "192.168.19.87", False, 4157 +selectedSite.AddIPAccessRule "192.168.19.86", False, 4158 +selectedSite.AddIPAccessRule "192.168.19.85", False, 4159 +selectedSite.AddIPAccessRule "192.168.19.84", False, 4160 +selectedSite.AddIPAccessRule "192.168.19.83", False, 4161 +selectedSite.AddIPAccessRule "192.168.19.82", False, 4162 +selectedSite.AddIPAccessRule "192.168.19.81", False, 4163 +selectedSite.AddIPAccessRule "192.168.19.80", False, 4164 +selectedSite.AddIPAccessRule "192.168.19.79", False, 4165 +selectedSite.AddIPAccessRule "192.168.19.78", False, 4166 +selectedSite.AddIPAccessRule "192.168.19.77", False, 4167 +selectedSite.AddIPAccessRule "192.168.19.76", False, 4168 +selectedSite.AddIPAccessRule "192.168.19.75", False, 4169 +selectedSite.AddIPAccessRule "192.168.19.74", False, 4170 +selectedSite.AddIPAccessRule "192.168.19.73", False, 4171 +selectedSite.AddIPAccessRule "192.168.19.72", False, 4172 +selectedSite.AddIPAccessRule "192.168.19.71", False, 4173 +selectedSite.AddIPAccessRule "192.168.19.70", False, 4174 +selectedSite.AddIPAccessRule "192.168.19.69", False, 4175 +selectedSite.AddIPAccessRule "192.168.19.68", False, 4176 +selectedSite.AddIPAccessRule "192.168.19.67", False, 4177 +selectedSite.AddIPAccessRule "192.168.19.66", False, 4178 +selectedSite.AddIPAccessRule "192.168.19.65", False, 4179 +selectedSite.AddIPAccessRule "192.168.19.64", False, 4180 +selectedSite.AddIPAccessRule "192.168.19.63", False, 4181 +selectedSite.AddIPAccessRule "192.168.19.62", False, 4182 +selectedSite.AddIPAccessRule "192.168.19.61", False, 4183 +selectedSite.AddIPAccessRule "192.168.19.60", False, 4184 +selectedSite.AddIPAccessRule "192.168.19.59", False, 4185 +selectedSite.AddIPAccessRule "192.168.19.58", False, 4186 +selectedSite.AddIPAccessRule "192.168.19.57", False, 4187 +selectedSite.AddIPAccessRule "192.168.19.56", False, 4188 +selectedSite.AddIPAccessRule "192.168.19.55", False, 4189 +selectedSite.AddIPAccessRule "192.168.19.54", False, 4190 +selectedSite.AddIPAccessRule "192.168.19.53", False, 4191 +selectedSite.AddIPAccessRule "192.168.19.52", False, 4192 +selectedSite.AddIPAccessRule "192.168.19.51", False, 4193 +selectedSite.AddIPAccessRule "192.168.19.50", False, 4194 +selectedSite.AddIPAccessRule "192.168.19.49", False, 4195 +selectedSite.AddIPAccessRule "192.168.19.48", False, 4196 +selectedSite.AddIPAccessRule "192.168.19.47", False, 4197 +selectedSite.AddIPAccessRule "192.168.19.46", False, 4198 +selectedSite.AddIPAccessRule "192.168.19.45", False, 4199 +selectedSite.AddIPAccessRule "192.168.19.44", False, 4200 +selectedSite.AddIPAccessRule "192.168.19.43", False, 4201 +selectedSite.AddIPAccessRule "192.168.19.42", False, 4202 +selectedSite.AddIPAccessRule "192.168.19.41", False, 4203 +selectedSite.AddIPAccessRule "192.168.19.40", False, 4204 +selectedSite.AddIPAccessRule "192.168.19.39", False, 4205 +selectedSite.AddIPAccessRule "192.168.19.38", False, 4206 +selectedSite.AddIPAccessRule "192.168.19.37", False, 4207 +selectedSite.AddIPAccessRule "192.168.19.36", False, 4208 +selectedSite.AddIPAccessRule "192.168.19.35", False, 4209 +selectedSite.AddIPAccessRule "192.168.19.34", False, 4210 +selectedSite.AddIPAccessRule "192.168.19.33", False, 4211 +selectedSite.AddIPAccessRule "192.168.19.32", False, 4212 +selectedSite.AddIPAccessRule "192.168.19.31", False, 4213 +selectedSite.AddIPAccessRule "192.168.19.30", False, 4214 +selectedSite.AddIPAccessRule "192.168.19.29", False, 4215 +selectedSite.AddIPAccessRule "192.168.19.28", False, 4216 +selectedSite.AddIPAccessRule "192.168.19.27", False, 4217 +selectedSite.AddIPAccessRule "192.168.19.26", False, 4218 +selectedSite.AddIPAccessRule "192.168.19.25", False, 4219 +selectedSite.AddIPAccessRule "192.168.19.24", False, 4220 +selectedSite.AddIPAccessRule "192.168.19.23", False, 4221 +selectedSite.AddIPAccessRule "192.168.19.22", False, 4222 +selectedSite.AddIPAccessRule "192.168.19.21", False, 4223 +selectedSite.AddIPAccessRule "192.168.19.20", False, 4224 +selectedSite.AddIPAccessRule "192.168.19.19", False, 4225 +selectedSite.AddIPAccessRule "192.168.19.18", False, 4226 +selectedSite.AddIPAccessRule "192.168.19.17", False, 4227 +selectedSite.AddIPAccessRule "192.168.19.16", False, 4228 +selectedSite.AddIPAccessRule "192.168.19.15", False, 4229 +selectedSite.AddIPAccessRule "192.168.19.14", False, 4230 +selectedSite.AddIPAccessRule "192.168.19.13", False, 4231 +selectedSite.AddIPAccessRule "192.168.19.12", False, 4232 +selectedSite.AddIPAccessRule "192.168.19.11", False, 4233 +selectedSite.AddIPAccessRule "192.168.19.10", False, 4234 +selectedSite.AddIPAccessRule "192.168.19.9", False, 4235 +selectedSite.AddIPAccessRule "192.168.19.8", False, 4236 +selectedSite.AddIPAccessRule "192.168.19.7", False, 4237 +selectedSite.AddIPAccessRule "192.168.19.6", False, 4238 +selectedSite.AddIPAccessRule "192.168.19.5", False, 4239 +selectedSite.AddIPAccessRule "192.168.19.4", False, 4240 +selectedSite.AddIPAccessRule "192.168.19.3", False, 4241 +selectedSite.AddIPAccessRule "192.168.19.2", False, 4242 +selectedSite.AddIPAccessRule "192.168.19.1", False, 4243 +selectedSite.AddIPAccessRule "192.168.18.255", False, 4244 +selectedSite.AddIPAccessRule "192.168.18.254", False, 4245 +selectedSite.AddIPAccessRule "192.168.18.253", False, 4246 +selectedSite.AddIPAccessRule "192.168.18.252", False, 4247 +selectedSite.AddIPAccessRule "192.168.18.251", False, 4248 +selectedSite.AddIPAccessRule "192.168.18.250", False, 4249 +selectedSite.AddIPAccessRule "192.168.18.249", False, 4250 +selectedSite.AddIPAccessRule "192.168.18.248", False, 4251 +selectedSite.AddIPAccessRule "192.168.18.247", False, 4252 +selectedSite.AddIPAccessRule "192.168.18.246", False, 4253 +selectedSite.AddIPAccessRule "192.168.18.245", False, 4254 +selectedSite.AddIPAccessRule "192.168.18.244", False, 4255 +selectedSite.AddIPAccessRule "192.168.18.243", False, 4256 +selectedSite.AddIPAccessRule "192.168.18.242", False, 4257 +selectedSite.AddIPAccessRule "192.168.18.241", False, 4258 +selectedSite.AddIPAccessRule "192.168.18.240", False, 4259 +selectedSite.AddIPAccessRule "192.168.18.239", False, 4260 +selectedSite.AddIPAccessRule "192.168.18.238", False, 4261 +selectedSite.AddIPAccessRule "192.168.18.237", False, 4262 +selectedSite.AddIPAccessRule "192.168.18.236", False, 4263 +selectedSite.AddIPAccessRule "192.168.18.235", False, 4264 +selectedSite.AddIPAccessRule "192.168.18.234", False, 4265 +selectedSite.AddIPAccessRule "192.168.18.233", False, 4266 +selectedSite.AddIPAccessRule "192.168.18.232", False, 4267 +selectedSite.AddIPAccessRule "192.168.18.231", False, 4268 +selectedSite.AddIPAccessRule "192.168.18.230", False, 4269 +selectedSite.AddIPAccessRule "192.168.18.229", False, 4270 +selectedSite.AddIPAccessRule "192.168.18.228", False, 4271 +selectedSite.AddIPAccessRule "192.168.18.227", False, 4272 +selectedSite.AddIPAccessRule "192.168.18.226", False, 4273 +selectedSite.AddIPAccessRule "192.168.18.225", False, 4274 +selectedSite.AddIPAccessRule "192.168.18.224", False, 4275 +selectedSite.AddIPAccessRule "192.168.18.223", False, 4276 +selectedSite.AddIPAccessRule "192.168.18.222", False, 4277 +selectedSite.AddIPAccessRule "192.168.18.221", False, 4278 +selectedSite.AddIPAccessRule "192.168.18.220", False, 4279 +selectedSite.AddIPAccessRule "192.168.18.219", False, 4280 +selectedSite.AddIPAccessRule "192.168.18.218", False, 4281 +selectedSite.AddIPAccessRule "192.168.18.217", False, 4282 +selectedSite.AddIPAccessRule "192.168.18.216", False, 4283 +selectedSite.AddIPAccessRule "192.168.18.215", False, 4284 +selectedSite.AddIPAccessRule "192.168.18.214", False, 4285 +selectedSite.AddIPAccessRule "192.168.18.213", False, 4286 +selectedSite.AddIPAccessRule "192.168.18.212", False, 4287 +selectedSite.AddIPAccessRule "192.168.18.211", False, 4288 +selectedSite.AddIPAccessRule "192.168.18.210", False, 4289 +selectedSite.AddIPAccessRule "192.168.18.209", False, 4290 +selectedSite.AddIPAccessRule "192.168.18.208", False, 4291 +selectedSite.AddIPAccessRule "192.168.18.207", False, 4292 +selectedSite.AddIPAccessRule "192.168.18.206", False, 4293 +selectedSite.AddIPAccessRule "192.168.18.205", False, 4294 +selectedSite.AddIPAccessRule "192.168.18.204", False, 4295 +selectedSite.AddIPAccessRule "192.168.18.203", False, 4296 +selectedSite.AddIPAccessRule "192.168.18.202", False, 4297 +selectedSite.AddIPAccessRule "192.168.18.201", False, 4298 +selectedSite.AddIPAccessRule "192.168.18.200", False, 4299 +selectedSite.AddIPAccessRule "192.168.18.199", False, 4300 +selectedSite.AddIPAccessRule "192.168.18.198", False, 4301 +selectedSite.AddIPAccessRule "192.168.18.197", False, 4302 +selectedSite.AddIPAccessRule "192.168.18.196", False, 4303 +selectedSite.AddIPAccessRule "192.168.18.195", False, 4304 +selectedSite.AddIPAccessRule "192.168.18.194", False, 4305 +selectedSite.AddIPAccessRule "192.168.18.193", False, 4306 +selectedSite.AddIPAccessRule "192.168.18.192", False, 4307 +selectedSite.AddIPAccessRule "192.168.18.191", False, 4308 +selectedSite.AddIPAccessRule "192.168.18.190", False, 4309 +selectedSite.AddIPAccessRule "192.168.18.189", False, 4310 +selectedSite.AddIPAccessRule "192.168.18.188", False, 4311 +selectedSite.AddIPAccessRule "192.168.18.187", False, 4312 +selectedSite.AddIPAccessRule "192.168.18.186", False, 4313 +selectedSite.AddIPAccessRule "192.168.18.185", False, 4314 +selectedSite.AddIPAccessRule "192.168.18.184", False, 4315 +selectedSite.AddIPAccessRule "192.168.18.183", False, 4316 +selectedSite.AddIPAccessRule "192.168.18.182", False, 4317 +selectedSite.AddIPAccessRule "192.168.18.181", False, 4318 +selectedSite.AddIPAccessRule "192.168.18.180", False, 4319 +selectedSite.AddIPAccessRule "192.168.18.179", False, 4320 +selectedSite.AddIPAccessRule "192.168.18.178", False, 4321 +selectedSite.AddIPAccessRule "192.168.18.177", False, 4322 +selectedSite.AddIPAccessRule "192.168.18.176", False, 4323 +selectedSite.AddIPAccessRule "192.168.18.175", False, 4324 +selectedSite.AddIPAccessRule "192.168.18.174", False, 4325 +selectedSite.AddIPAccessRule "192.168.18.173", False, 4326 +selectedSite.AddIPAccessRule "192.168.18.172", False, 4327 +selectedSite.AddIPAccessRule "192.168.18.171", False, 4328 +selectedSite.AddIPAccessRule "192.168.18.170", False, 4329 +selectedSite.AddIPAccessRule "192.168.18.169", False, 4330 +selectedSite.AddIPAccessRule "192.168.18.168", False, 4331 +selectedSite.AddIPAccessRule "192.168.18.167", False, 4332 +selectedSite.AddIPAccessRule "192.168.18.166", False, 4333 +selectedSite.AddIPAccessRule "192.168.18.165", False, 4334 +selectedSite.AddIPAccessRule "192.168.18.164", False, 4335 +selectedSite.AddIPAccessRule "192.168.18.163", False, 4336 +selectedSite.AddIPAccessRule "192.168.18.162", False, 4337 +selectedSite.AddIPAccessRule "192.168.18.161", False, 4338 +selectedSite.AddIPAccessRule "192.168.18.160", False, 4339 +selectedSite.AddIPAccessRule "192.168.18.159", False, 4340 +selectedSite.AddIPAccessRule "192.168.18.158", False, 4341 +selectedSite.AddIPAccessRule "192.168.18.157", False, 4342 +selectedSite.AddIPAccessRule "192.168.18.156", False, 4343 +selectedSite.AddIPAccessRule "192.168.18.155", False, 4344 +selectedSite.AddIPAccessRule "192.168.18.154", False, 4345 +selectedSite.AddIPAccessRule "192.168.18.153", False, 4346 +selectedSite.AddIPAccessRule "192.168.18.152", False, 4347 +selectedSite.AddIPAccessRule "192.168.18.151", False, 4348 +selectedSite.AddIPAccessRule "192.168.18.150", False, 4349 +selectedSite.AddIPAccessRule "192.168.18.149", False, 4350 +selectedSite.AddIPAccessRule "192.168.18.148", False, 4351 +selectedSite.AddIPAccessRule "192.168.18.147", False, 4352 +selectedSite.AddIPAccessRule "192.168.18.146", False, 4353 +selectedSite.AddIPAccessRule "192.168.18.145", False, 4354 +selectedSite.AddIPAccessRule "192.168.18.144", False, 4355 +selectedSite.AddIPAccessRule "192.168.18.143", False, 4356 +selectedSite.AddIPAccessRule "192.168.18.142", False, 4357 +selectedSite.AddIPAccessRule "192.168.18.141", False, 4358 +selectedSite.AddIPAccessRule "192.168.18.140", False, 4359 +selectedSite.AddIPAccessRule "192.168.18.139", False, 4360 +selectedSite.AddIPAccessRule "192.168.18.138", False, 4361 +selectedSite.AddIPAccessRule "192.168.18.137", False, 4362 +selectedSite.AddIPAccessRule "192.168.18.136", False, 4363 +selectedSite.AddIPAccessRule "192.168.18.135", False, 4364 +selectedSite.AddIPAccessRule "192.168.18.134", False, 4365 +selectedSite.AddIPAccessRule "192.168.18.133", False, 4366 +selectedSite.AddIPAccessRule "192.168.18.132", False, 4367 +selectedSite.AddIPAccessRule "192.168.18.131", False, 4368 +selectedSite.AddIPAccessRule "192.168.18.130", False, 4369 +selectedSite.AddIPAccessRule "192.168.18.129", False, 4370 +selectedSite.AddIPAccessRule "192.168.18.128", False, 4371 +selectedSite.AddIPAccessRule "192.168.18.127", False, 4372 +selectedSite.AddIPAccessRule "192.168.18.126", False, 4373 +selectedSite.AddIPAccessRule "192.168.18.125", False, 4374 +selectedSite.AddIPAccessRule "192.168.18.124", False, 4375 +selectedSite.AddIPAccessRule "192.168.18.123", False, 4376 +selectedSite.AddIPAccessRule "192.168.18.122", False, 4377 +selectedSite.AddIPAccessRule "192.168.18.121", False, 4378 +selectedSite.AddIPAccessRule "192.168.18.120", False, 4379 +selectedSite.AddIPAccessRule "192.168.18.119", False, 4380 +selectedSite.AddIPAccessRule "192.168.18.118", False, 4381 +selectedSite.AddIPAccessRule "192.168.18.117", False, 4382 +selectedSite.AddIPAccessRule "192.168.18.116", False, 4383 +selectedSite.AddIPAccessRule "192.168.18.115", False, 4384 +selectedSite.AddIPAccessRule "192.168.18.114", False, 4385 +selectedSite.AddIPAccessRule "192.168.18.113", False, 4386 +selectedSite.AddIPAccessRule "192.168.18.112", False, 4387 +selectedSite.AddIPAccessRule "192.168.18.111", False, 4388 +selectedSite.AddIPAccessRule "192.168.18.110", False, 4389 +selectedSite.AddIPAccessRule "192.168.18.109", False, 4390 +selectedSite.AddIPAccessRule "192.168.18.108", False, 4391 +selectedSite.AddIPAccessRule "192.168.18.107", False, 4392 +selectedSite.AddIPAccessRule "192.168.18.106", False, 4393 +selectedSite.AddIPAccessRule "192.168.18.105", False, 4394 +selectedSite.AddIPAccessRule "192.168.18.104", False, 4395 +selectedSite.AddIPAccessRule "192.168.18.103", False, 4396 +selectedSite.AddIPAccessRule "192.168.18.102", False, 4397 +selectedSite.AddIPAccessRule "192.168.18.101", False, 4398 +selectedSite.AddIPAccessRule "192.168.18.100", False, 4399 +selectedSite.AddIPAccessRule "192.168.18.99", False, 4400 +selectedSite.AddIPAccessRule "192.168.18.98", False, 4401 +selectedSite.AddIPAccessRule "192.168.18.97", False, 4402 +selectedSite.AddIPAccessRule "192.168.18.96", False, 4403 +selectedSite.AddIPAccessRule "192.168.18.95", False, 4404 +selectedSite.AddIPAccessRule "192.168.18.94", False, 4405 +selectedSite.AddIPAccessRule "192.168.18.93", False, 4406 +selectedSite.AddIPAccessRule "192.168.18.92", False, 4407 +selectedSite.AddIPAccessRule "192.168.18.91", False, 4408 +selectedSite.AddIPAccessRule "192.168.18.90", False, 4409 +selectedSite.AddIPAccessRule "192.168.18.89", False, 4410 +selectedSite.AddIPAccessRule "192.168.18.88", False, 4411 +selectedSite.AddIPAccessRule "192.168.18.87", False, 4412 +selectedSite.AddIPAccessRule "192.168.18.86", False, 4413 +selectedSite.AddIPAccessRule "192.168.18.85", False, 4414 +selectedSite.AddIPAccessRule "192.168.18.84", False, 4415 +selectedSite.AddIPAccessRule "192.168.18.83", False, 4416 +selectedSite.AddIPAccessRule "192.168.18.82", False, 4417 +selectedSite.AddIPAccessRule "192.168.18.81", False, 4418 +selectedSite.AddIPAccessRule "192.168.18.80", False, 4419 +selectedSite.AddIPAccessRule "192.168.18.79", False, 4420 +selectedSite.AddIPAccessRule "192.168.18.78", False, 4421 +selectedSite.AddIPAccessRule "192.168.18.77", False, 4422 +selectedSite.AddIPAccessRule "192.168.18.76", False, 4423 +selectedSite.AddIPAccessRule "192.168.18.75", False, 4424 +selectedSite.AddIPAccessRule "192.168.18.74", False, 4425 +selectedSite.AddIPAccessRule "192.168.18.73", False, 4426 +selectedSite.AddIPAccessRule "192.168.18.72", False, 4427 +selectedSite.AddIPAccessRule "192.168.18.71", False, 4428 +selectedSite.AddIPAccessRule "192.168.18.70", False, 4429 +selectedSite.AddIPAccessRule "192.168.18.69", False, 4430 +selectedSite.AddIPAccessRule "192.168.18.68", False, 4431 +selectedSite.AddIPAccessRule "192.168.18.67", False, 4432 +selectedSite.AddIPAccessRule "192.168.18.66", False, 4433 +selectedSite.AddIPAccessRule "192.168.18.65", False, 4434 +selectedSite.AddIPAccessRule "192.168.18.64", False, 4435 +selectedSite.AddIPAccessRule "192.168.18.63", False, 4436 +selectedSite.AddIPAccessRule "192.168.18.62", False, 4437 +selectedSite.AddIPAccessRule "192.168.18.61", False, 4438 +selectedSite.AddIPAccessRule "192.168.18.60", False, 4439 +selectedSite.AddIPAccessRule "192.168.18.59", False, 4440 +selectedSite.AddIPAccessRule "192.168.18.58", False, 4441 +selectedSite.AddIPAccessRule "192.168.18.57", False, 4442 +selectedSite.AddIPAccessRule "192.168.18.56", False, 4443 +selectedSite.AddIPAccessRule "192.168.18.55", False, 4444 +selectedSite.AddIPAccessRule "192.168.18.54", False, 4445 +selectedSite.AddIPAccessRule "192.168.18.53", False, 4446 +selectedSite.AddIPAccessRule "192.168.18.52", False, 4447 +selectedSite.AddIPAccessRule "192.168.18.51", False, 4448 +selectedSite.AddIPAccessRule "192.168.18.50", False, 4449 +selectedSite.AddIPAccessRule "192.168.18.49", False, 4450 +selectedSite.AddIPAccessRule "192.168.18.48", False, 4451 +selectedSite.AddIPAccessRule "192.168.18.47", False, 4452 +selectedSite.AddIPAccessRule "192.168.18.46", False, 4453 +selectedSite.AddIPAccessRule "192.168.18.45", False, 4454 +selectedSite.AddIPAccessRule "192.168.18.44", False, 4455 +selectedSite.AddIPAccessRule "192.168.18.43", False, 4456 +selectedSite.AddIPAccessRule "192.168.18.42", False, 4457 +selectedSite.AddIPAccessRule "192.168.18.41", False, 4458 +selectedSite.AddIPAccessRule "192.168.18.40", False, 4459 +selectedSite.AddIPAccessRule "192.168.18.39", False, 4460 +selectedSite.AddIPAccessRule "192.168.18.38", False, 4461 +selectedSite.AddIPAccessRule "192.168.18.37", False, 4462 +selectedSite.AddIPAccessRule "192.168.18.36", False, 4463 +selectedSite.AddIPAccessRule "192.168.18.35", False, 4464 +selectedSite.AddIPAccessRule "192.168.18.34", False, 4465 +selectedSite.AddIPAccessRule "192.168.18.33", False, 4466 +selectedSite.AddIPAccessRule "192.168.18.32", False, 4467 +selectedSite.AddIPAccessRule "192.168.18.31", False, 4468 +selectedSite.AddIPAccessRule "192.168.18.30", False, 4469 +selectedSite.AddIPAccessRule "192.168.18.29", False, 4470 +selectedSite.AddIPAccessRule "192.168.18.28", False, 4471 +selectedSite.AddIPAccessRule "192.168.18.27", False, 4472 +selectedSite.AddIPAccessRule "192.168.18.26", False, 4473 +selectedSite.AddIPAccessRule "192.168.18.25", False, 4474 +selectedSite.AddIPAccessRule "192.168.18.24", False, 4475 +selectedSite.AddIPAccessRule "192.168.18.23", False, 4476 +selectedSite.AddIPAccessRule "192.168.18.22", False, 4477 +selectedSite.AddIPAccessRule "192.168.18.21", False, 4478 +selectedSite.AddIPAccessRule "192.168.18.20", False, 4479 +selectedSite.AddIPAccessRule "192.168.18.19", False, 4480 +selectedSite.AddIPAccessRule "192.168.18.18", False, 4481 +selectedSite.AddIPAccessRule "192.168.18.17", False, 4482 +selectedSite.AddIPAccessRule "192.168.18.16", False, 4483 +selectedSite.AddIPAccessRule "192.168.18.15", False, 4484 +selectedSite.AddIPAccessRule "192.168.18.14", False, 4485 +selectedSite.AddIPAccessRule "192.168.18.13", False, 4486 +selectedSite.AddIPAccessRule "192.168.18.12", False, 4487 +selectedSite.AddIPAccessRule "192.168.18.11", False, 4488 +selectedSite.AddIPAccessRule "192.168.18.10", False, 4489 +selectedSite.AddIPAccessRule "192.168.18.9", False, 4490 +selectedSite.AddIPAccessRule "192.168.18.8", False, 4491 +selectedSite.AddIPAccessRule "192.168.18.7", False, 4492 +selectedSite.AddIPAccessRule "192.168.18.6", False, 4493 +selectedSite.AddIPAccessRule "192.168.18.5", False, 4494 +selectedSite.AddIPAccessRule "192.168.18.4", False, 4495 +selectedSite.AddIPAccessRule "192.168.18.3", False, 4496 +selectedSite.AddIPAccessRule "192.168.18.2", False, 4497 +selectedSite.AddIPAccessRule "192.168.18.1", False, 4498 +selectedSite.AddIPAccessRule "192.168.17.255", False, 4499 +selectedSite.AddIPAccessRule "192.168.17.254", False, 4500 +selectedSite.AddIPAccessRule "192.168.17.253", False, 4501 +selectedSite.AddIPAccessRule "192.168.17.252", False, 4502 +selectedSite.AddIPAccessRule "192.168.17.251", False, 4503 +selectedSite.AddIPAccessRule "192.168.17.250", False, 4504 +selectedSite.AddIPAccessRule "192.168.17.249", False, 4505 +selectedSite.AddIPAccessRule "192.168.17.248", False, 4506 +selectedSite.AddIPAccessRule "192.168.17.247", False, 4507 +selectedSite.AddIPAccessRule "192.168.17.246", False, 4508 +selectedSite.AddIPAccessRule "192.168.17.245", False, 4509 +selectedSite.AddIPAccessRule "192.168.17.244", False, 4510 +selectedSite.AddIPAccessRule "192.168.17.243", False, 4511 +selectedSite.AddIPAccessRule "192.168.17.242", False, 4512 +selectedSite.AddIPAccessRule "192.168.17.241", False, 4513 +selectedSite.AddIPAccessRule "192.168.17.240", False, 4514 +selectedSite.AddIPAccessRule "192.168.17.239", False, 4515 +selectedSite.AddIPAccessRule "192.168.17.238", False, 4516 +selectedSite.AddIPAccessRule "192.168.17.237", False, 4517 +selectedSite.AddIPAccessRule "192.168.17.236", False, 4518 +selectedSite.AddIPAccessRule "192.168.17.235", False, 4519 +selectedSite.AddIPAccessRule "192.168.17.234", False, 4520 +selectedSite.AddIPAccessRule "192.168.17.233", False, 4521 +selectedSite.AddIPAccessRule "192.168.17.232", False, 4522 +selectedSite.AddIPAccessRule "192.168.17.231", False, 4523 +selectedSite.AddIPAccessRule "192.168.17.230", False, 4524 +selectedSite.AddIPAccessRule "192.168.17.229", False, 4525 +selectedSite.AddIPAccessRule "192.168.17.228", False, 4526 +selectedSite.AddIPAccessRule "192.168.17.227", False, 4527 +selectedSite.AddIPAccessRule "192.168.17.226", False, 4528 +selectedSite.AddIPAccessRule "192.168.17.225", False, 4529 +selectedSite.AddIPAccessRule "192.168.17.224", False, 4530 +selectedSite.AddIPAccessRule "192.168.17.223", False, 4531 +selectedSite.AddIPAccessRule "192.168.17.222", False, 4532 +selectedSite.AddIPAccessRule "192.168.17.221", False, 4533 +selectedSite.AddIPAccessRule "192.168.17.220", False, 4534 +selectedSite.AddIPAccessRule "192.168.17.219", False, 4535 +selectedSite.AddIPAccessRule "192.168.17.218", False, 4536 +selectedSite.AddIPAccessRule "192.168.17.217", False, 4537 +selectedSite.AddIPAccessRule "192.168.17.216", False, 4538 +selectedSite.AddIPAccessRule "192.168.17.215", False, 4539 +selectedSite.AddIPAccessRule "192.168.17.214", False, 4540 +selectedSite.AddIPAccessRule "192.168.17.213", False, 4541 +selectedSite.AddIPAccessRule "192.168.17.212", False, 4542 +selectedSite.AddIPAccessRule "192.168.17.211", False, 4543 +selectedSite.AddIPAccessRule "192.168.17.210", False, 4544 +selectedSite.AddIPAccessRule "192.168.17.209", False, 4545 +selectedSite.AddIPAccessRule "192.168.17.208", False, 4546 +selectedSite.AddIPAccessRule "192.168.17.207", False, 4547 +selectedSite.AddIPAccessRule "192.168.17.206", False, 4548 +selectedSite.AddIPAccessRule "192.168.17.205", False, 4549 +selectedSite.AddIPAccessRule "192.168.17.204", False, 4550 +selectedSite.AddIPAccessRule "192.168.17.203", False, 4551 +selectedSite.AddIPAccessRule "192.168.17.202", False, 4552 +selectedSite.AddIPAccessRule "192.168.17.201", False, 4553 +selectedSite.AddIPAccessRule "192.168.17.200", False, 4554 +selectedSite.AddIPAccessRule "192.168.17.199", False, 4555 +selectedSite.AddIPAccessRule "192.168.17.198", False, 4556 +selectedSite.AddIPAccessRule "192.168.17.197", False, 4557 +selectedSite.AddIPAccessRule "192.168.17.196", False, 4558 +selectedSite.AddIPAccessRule "192.168.17.195", False, 4559 +selectedSite.AddIPAccessRule "192.168.17.194", False, 4560 +selectedSite.AddIPAccessRule "192.168.17.193", False, 4561 +selectedSite.AddIPAccessRule "192.168.17.192", False, 4562 +selectedSite.AddIPAccessRule "192.168.17.191", False, 4563 +selectedSite.AddIPAccessRule "192.168.17.190", False, 4564 +selectedSite.AddIPAccessRule "192.168.17.189", False, 4565 +selectedSite.AddIPAccessRule "192.168.17.188", False, 4566 +selectedSite.AddIPAccessRule "192.168.17.187", False, 4567 +selectedSite.AddIPAccessRule "192.168.17.186", False, 4568 +selectedSite.AddIPAccessRule "192.168.17.185", False, 4569 +selectedSite.AddIPAccessRule "192.168.17.184", False, 4570 +selectedSite.AddIPAccessRule "192.168.17.183", False, 4571 +selectedSite.AddIPAccessRule "192.168.17.182", False, 4572 +selectedSite.AddIPAccessRule "192.168.17.181", False, 4573 +selectedSite.AddIPAccessRule "192.168.17.180", False, 4574 +selectedSite.AddIPAccessRule "192.168.17.179", False, 4575 +selectedSite.AddIPAccessRule "192.168.17.178", False, 4576 +selectedSite.AddIPAccessRule "192.168.17.177", False, 4577 +selectedSite.AddIPAccessRule "192.168.17.176", False, 4578 +selectedSite.AddIPAccessRule "192.168.17.175", False, 4579 +selectedSite.AddIPAccessRule "192.168.17.174", False, 4580 +selectedSite.AddIPAccessRule "192.168.17.173", False, 4581 +selectedSite.AddIPAccessRule "192.168.17.172", False, 4582 +selectedSite.AddIPAccessRule "192.168.17.171", False, 4583 +selectedSite.AddIPAccessRule "192.168.17.170", False, 4584 +selectedSite.AddIPAccessRule "192.168.17.169", False, 4585 +selectedSite.AddIPAccessRule "192.168.17.168", False, 4586 +selectedSite.AddIPAccessRule "192.168.17.167", False, 4587 +selectedSite.AddIPAccessRule "192.168.17.166", False, 4588 +selectedSite.AddIPAccessRule "192.168.17.165", False, 4589 +selectedSite.AddIPAccessRule "192.168.17.164", False, 4590 +selectedSite.AddIPAccessRule "192.168.17.163", False, 4591 +selectedSite.AddIPAccessRule "192.168.17.162", False, 4592 +selectedSite.AddIPAccessRule "192.168.17.161", False, 4593 +selectedSite.AddIPAccessRule "192.168.17.160", False, 4594 +selectedSite.AddIPAccessRule "192.168.17.159", False, 4595 +selectedSite.AddIPAccessRule "192.168.17.158", False, 4596 +selectedSite.AddIPAccessRule "192.168.17.157", False, 4597 +selectedSite.AddIPAccessRule "192.168.17.156", False, 4598 +selectedSite.AddIPAccessRule "192.168.17.155", False, 4599 +selectedSite.AddIPAccessRule "192.168.17.154", False, 4600 +selectedSite.AddIPAccessRule "192.168.17.153", False, 4601 +selectedSite.AddIPAccessRule "192.168.17.152", False, 4602 +selectedSite.AddIPAccessRule "192.168.17.151", False, 4603 +selectedSite.AddIPAccessRule "192.168.17.150", False, 4604 +selectedSite.AddIPAccessRule "192.168.17.149", False, 4605 +selectedSite.AddIPAccessRule "192.168.17.148", False, 4606 +selectedSite.AddIPAccessRule "192.168.17.147", False, 4607 +selectedSite.AddIPAccessRule "192.168.17.146", False, 4608 +selectedSite.AddIPAccessRule "192.168.17.145", False, 4609 +selectedSite.AddIPAccessRule "192.168.17.144", False, 4610 +selectedSite.AddIPAccessRule "192.168.17.143", False, 4611 +selectedSite.AddIPAccessRule "192.168.17.142", False, 4612 +selectedSite.AddIPAccessRule "192.168.17.141", False, 4613 +selectedSite.AddIPAccessRule "192.168.17.140", False, 4614 +selectedSite.AddIPAccessRule "192.168.17.139", False, 4615 +selectedSite.AddIPAccessRule "192.168.17.138", False, 4616 +selectedSite.AddIPAccessRule "192.168.17.137", False, 4617 +selectedSite.AddIPAccessRule "192.168.17.136", False, 4618 +selectedSite.AddIPAccessRule "192.168.17.135", False, 4619 +selectedSite.AddIPAccessRule "192.168.17.134", False, 4620 +selectedSite.AddIPAccessRule "192.168.17.133", False, 4621 +selectedSite.AddIPAccessRule "192.168.17.132", False, 4622 +selectedSite.AddIPAccessRule "192.168.17.131", False, 4623 +selectedSite.AddIPAccessRule "192.168.17.130", False, 4624 +selectedSite.AddIPAccessRule "192.168.17.129", False, 4625 +selectedSite.AddIPAccessRule "192.168.17.128", False, 4626 +selectedSite.AddIPAccessRule "192.168.17.127", False, 4627 +selectedSite.AddIPAccessRule "192.168.17.126", False, 4628 +selectedSite.AddIPAccessRule "192.168.17.125", False, 4629 +selectedSite.AddIPAccessRule "192.168.17.124", False, 4630 +selectedSite.AddIPAccessRule "192.168.17.123", False, 4631 +selectedSite.AddIPAccessRule "192.168.17.122", False, 4632 +selectedSite.AddIPAccessRule "192.168.17.121", False, 4633 +selectedSite.AddIPAccessRule "192.168.17.120", False, 4634 +selectedSite.AddIPAccessRule "192.168.17.119", False, 4635 +selectedSite.AddIPAccessRule "192.168.17.118", False, 4636 +selectedSite.AddIPAccessRule "192.168.17.117", False, 4637 +selectedSite.AddIPAccessRule "192.168.17.116", False, 4638 +selectedSite.AddIPAccessRule "192.168.17.115", False, 4639 +selectedSite.AddIPAccessRule "192.168.17.114", False, 4640 +selectedSite.AddIPAccessRule "192.168.17.113", False, 4641 +selectedSite.AddIPAccessRule "192.168.17.112", False, 4642 +selectedSite.AddIPAccessRule "192.168.17.111", False, 4643 +selectedSite.AddIPAccessRule "192.168.17.110", False, 4644 +selectedSite.AddIPAccessRule "192.168.17.109", False, 4645 +selectedSite.AddIPAccessRule "192.168.17.108", False, 4646 +selectedSite.AddIPAccessRule "192.168.17.107", False, 4647 +selectedSite.AddIPAccessRule "192.168.17.106", False, 4648 +selectedSite.AddIPAccessRule "192.168.17.105", False, 4649 +selectedSite.AddIPAccessRule "192.168.17.104", False, 4650 +selectedSite.AddIPAccessRule "192.168.17.103", False, 4651 +selectedSite.AddIPAccessRule "192.168.17.102", False, 4652 +selectedSite.AddIPAccessRule "192.168.17.101", False, 4653 +selectedSite.AddIPAccessRule "192.168.17.100", False, 4654 +selectedSite.AddIPAccessRule "192.168.17.99", False, 4655 +selectedSite.AddIPAccessRule "192.168.17.98", False, 4656 +selectedSite.AddIPAccessRule "192.168.17.97", False, 4657 +selectedSite.AddIPAccessRule "192.168.17.96", False, 4658 +selectedSite.AddIPAccessRule "192.168.17.95", False, 4659 +selectedSite.AddIPAccessRule "192.168.17.94", False, 4660 +selectedSite.AddIPAccessRule "192.168.17.93", False, 4661 +selectedSite.AddIPAccessRule "192.168.17.92", False, 4662 +selectedSite.AddIPAccessRule "192.168.17.91", False, 4663 +selectedSite.AddIPAccessRule "192.168.17.90", False, 4664 +selectedSite.AddIPAccessRule "192.168.17.89", False, 4665 +selectedSite.AddIPAccessRule "192.168.17.88", False, 4666 +selectedSite.AddIPAccessRule "192.168.17.87", False, 4667 +selectedSite.AddIPAccessRule "192.168.17.86", False, 4668 +selectedSite.AddIPAccessRule "192.168.17.85", False, 4669 +selectedSite.AddIPAccessRule "192.168.17.84", False, 4670 +selectedSite.AddIPAccessRule "192.168.17.83", False, 4671 +selectedSite.AddIPAccessRule "192.168.17.82", False, 4672 +selectedSite.AddIPAccessRule "192.168.17.81", False, 4673 +selectedSite.AddIPAccessRule "192.168.17.80", False, 4674 +selectedSite.AddIPAccessRule "192.168.17.79", False, 4675 +selectedSite.AddIPAccessRule "192.168.17.78", False, 4676 +selectedSite.AddIPAccessRule "192.168.17.77", False, 4677 +selectedSite.AddIPAccessRule "192.168.17.76", False, 4678 +selectedSite.AddIPAccessRule "192.168.17.75", False, 4679 +selectedSite.AddIPAccessRule "192.168.17.74", False, 4680 +selectedSite.AddIPAccessRule "192.168.17.73", False, 4681 +selectedSite.AddIPAccessRule "192.168.17.72", False, 4682 +selectedSite.AddIPAccessRule "192.168.17.71", False, 4683 +selectedSite.AddIPAccessRule "192.168.17.70", False, 4684 +selectedSite.AddIPAccessRule "192.168.17.69", False, 4685 +selectedSite.AddIPAccessRule "192.168.17.68", False, 4686 +selectedSite.AddIPAccessRule "192.168.17.67", False, 4687 +selectedSite.AddIPAccessRule "192.168.17.66", False, 4688 +selectedSite.AddIPAccessRule "192.168.17.65", False, 4689 +selectedSite.AddIPAccessRule "192.168.17.64", False, 4690 +selectedSite.AddIPAccessRule "192.168.17.63", False, 4691 +selectedSite.AddIPAccessRule "192.168.17.62", False, 4692 +selectedSite.AddIPAccessRule "192.168.17.61", False, 4693 +selectedSite.AddIPAccessRule "192.168.17.60", False, 4694 +selectedSite.AddIPAccessRule "192.168.17.59", False, 4695 +selectedSite.AddIPAccessRule "192.168.17.58", False, 4696 +selectedSite.AddIPAccessRule "192.168.17.57", False, 4697 +selectedSite.AddIPAccessRule "192.168.17.56", False, 4698 +selectedSite.AddIPAccessRule "192.168.17.55", False, 4699 +selectedSite.AddIPAccessRule "192.168.17.54", False, 4700 +selectedSite.AddIPAccessRule "192.168.17.53", False, 4701 +selectedSite.AddIPAccessRule "192.168.17.52", False, 4702 +selectedSite.AddIPAccessRule "192.168.17.51", False, 4703 +selectedSite.AddIPAccessRule "192.168.17.50", False, 4704 +selectedSite.AddIPAccessRule "192.168.17.49", False, 4705 +selectedSite.AddIPAccessRule "192.168.17.48", False, 4706 +selectedSite.AddIPAccessRule "192.168.17.47", False, 4707 +selectedSite.AddIPAccessRule "192.168.17.46", False, 4708 +selectedSite.AddIPAccessRule "192.168.17.45", False, 4709 +selectedSite.AddIPAccessRule "192.168.17.44", False, 4710 +selectedSite.AddIPAccessRule "192.168.17.43", False, 4711 +selectedSite.AddIPAccessRule "192.168.17.42", False, 4712 +selectedSite.AddIPAccessRule "192.168.17.41", False, 4713 +selectedSite.AddIPAccessRule "192.168.17.40", False, 4714 +selectedSite.AddIPAccessRule "192.168.17.39", False, 4715 +selectedSite.AddIPAccessRule "192.168.17.38", False, 4716 +selectedSite.AddIPAccessRule "192.168.17.37", False, 4717 +selectedSite.AddIPAccessRule "192.168.17.36", False, 4718 +selectedSite.AddIPAccessRule "192.168.17.35", False, 4719 +selectedSite.AddIPAccessRule "192.168.17.34", False, 4720 +selectedSite.AddIPAccessRule "192.168.17.33", False, 4721 +selectedSite.AddIPAccessRule "192.168.17.32", False, 4722 +selectedSite.AddIPAccessRule "192.168.17.31", False, 4723 +selectedSite.AddIPAccessRule "192.168.17.30", False, 4724 +selectedSite.AddIPAccessRule "192.168.17.29", False, 4725 +selectedSite.AddIPAccessRule "192.168.17.28", False, 4726 +selectedSite.AddIPAccessRule "192.168.17.27", False, 4727 +selectedSite.AddIPAccessRule "192.168.17.26", False, 4728 +selectedSite.AddIPAccessRule "192.168.17.25", False, 4729 +selectedSite.AddIPAccessRule "192.168.17.24", False, 4730 +selectedSite.AddIPAccessRule "192.168.17.23", False, 4731 +selectedSite.AddIPAccessRule "192.168.17.22", False, 4732 +selectedSite.AddIPAccessRule "192.168.17.21", False, 4733 +selectedSite.AddIPAccessRule "192.168.17.20", False, 4734 +selectedSite.AddIPAccessRule "192.168.17.19", False, 4735 +selectedSite.AddIPAccessRule "192.168.17.18", False, 4736 +selectedSite.AddIPAccessRule "192.168.17.17", False, 4737 +selectedSite.AddIPAccessRule "192.168.17.16", False, 4738 +selectedSite.AddIPAccessRule "192.168.17.15", False, 4739 +selectedSite.AddIPAccessRule "192.168.17.14", False, 4740 +selectedSite.AddIPAccessRule "192.168.17.13", False, 4741 +selectedSite.AddIPAccessRule "192.168.17.12", False, 4742 +selectedSite.AddIPAccessRule "192.168.17.11", False, 4743 +selectedSite.AddIPAccessRule "192.168.17.10", False, 4744 +selectedSite.AddIPAccessRule "192.168.17.9", False, 4745 +selectedSite.AddIPAccessRule "192.168.17.8", False, 4746 +selectedSite.AddIPAccessRule "192.168.17.7", False, 4747 +selectedSite.AddIPAccessRule "192.168.17.6", False, 4748 +selectedSite.AddIPAccessRule "192.168.17.5", False, 4749 +selectedSite.AddIPAccessRule "192.168.17.4", False, 4750 +selectedSite.AddIPAccessRule "192.168.17.3", False, 4751 +selectedSite.AddIPAccessRule "192.168.17.2", False, 4752 +selectedSite.AddIPAccessRule "192.168.17.1", False, 4753 +selectedSite.AddIPAccessRule "192.168.16.255", False, 4754 +selectedSite.AddIPAccessRule "192.168.16.254", False, 4755 +selectedSite.AddIPAccessRule "192.168.16.253", False, 4756 +selectedSite.AddIPAccessRule "192.168.16.252", False, 4757 +selectedSite.AddIPAccessRule "192.168.16.251", False, 4758 +selectedSite.AddIPAccessRule "192.168.16.250", False, 4759 +selectedSite.AddIPAccessRule "192.168.16.249", False, 4760 +selectedSite.AddIPAccessRule "192.168.16.248", False, 4761 +selectedSite.AddIPAccessRule "192.168.16.247", False, 4762 +selectedSite.AddIPAccessRule "192.168.16.246", False, 4763 +selectedSite.AddIPAccessRule "192.168.16.245", False, 4764 +selectedSite.AddIPAccessRule "192.168.16.244", False, 4765 +selectedSite.AddIPAccessRule "192.168.16.243", False, 4766 +selectedSite.AddIPAccessRule "192.168.16.242", False, 4767 +selectedSite.AddIPAccessRule "192.168.16.241", False, 4768 +selectedSite.AddIPAccessRule "192.168.16.240", False, 4769 +selectedSite.AddIPAccessRule "192.168.16.239", False, 4770 +selectedSite.AddIPAccessRule "192.168.16.238", False, 4771 +selectedSite.AddIPAccessRule "192.168.16.237", False, 4772 +selectedSite.AddIPAccessRule "192.168.16.236", False, 4773 +selectedSite.AddIPAccessRule "192.168.16.235", False, 4774 +selectedSite.AddIPAccessRule "192.168.16.234", False, 4775 +selectedSite.AddIPAccessRule "192.168.16.233", False, 4776 +selectedSite.AddIPAccessRule "192.168.16.232", False, 4777 +selectedSite.AddIPAccessRule "192.168.16.231", False, 4778 +selectedSite.AddIPAccessRule "192.168.16.230", False, 4779 +selectedSite.AddIPAccessRule "192.168.16.229", False, 4780 +selectedSite.AddIPAccessRule "192.168.16.228", False, 4781 +selectedSite.AddIPAccessRule "192.168.16.227", False, 4782 +selectedSite.AddIPAccessRule "192.168.16.226", False, 4783 +selectedSite.AddIPAccessRule "192.168.16.225", False, 4784 +selectedSite.AddIPAccessRule "192.168.16.224", False, 4785 +selectedSite.AddIPAccessRule "192.168.16.223", False, 4786 +selectedSite.AddIPAccessRule "192.168.16.222", False, 4787 +selectedSite.AddIPAccessRule "192.168.16.221", False, 4788 +selectedSite.AddIPAccessRule "192.168.16.220", False, 4789 +selectedSite.AddIPAccessRule "192.168.16.219", False, 4790 +selectedSite.AddIPAccessRule "192.168.16.218", False, 4791 +selectedSite.AddIPAccessRule "192.168.16.217", False, 4792 +selectedSite.AddIPAccessRule "192.168.16.216", False, 4793 +selectedSite.AddIPAccessRule "192.168.16.215", False, 4794 +selectedSite.AddIPAccessRule "192.168.16.214", False, 4795 +selectedSite.AddIPAccessRule "192.168.16.213", False, 4796 +selectedSite.AddIPAccessRule "192.168.16.212", False, 4797 +selectedSite.AddIPAccessRule "192.168.16.211", False, 4798 +selectedSite.AddIPAccessRule "192.168.16.210", False, 4799 +selectedSite.AddIPAccessRule "192.168.16.209", False, 4800 +selectedSite.AddIPAccessRule "192.168.16.208", False, 4801 +selectedSite.AddIPAccessRule "192.168.16.207", False, 4802 +selectedSite.AddIPAccessRule "192.168.16.206", False, 4803 +selectedSite.AddIPAccessRule "192.168.16.205", False, 4804 +selectedSite.AddIPAccessRule "192.168.16.204", False, 4805 +selectedSite.AddIPAccessRule "192.168.16.203", False, 4806 +selectedSite.AddIPAccessRule "192.168.16.202", False, 4807 +selectedSite.AddIPAccessRule "192.168.16.201", False, 4808 +selectedSite.AddIPAccessRule "192.168.16.200", False, 4809 +selectedSite.AddIPAccessRule "192.168.16.199", False, 4810 +selectedSite.AddIPAccessRule "192.168.16.198", False, 4811 +selectedSite.AddIPAccessRule "192.168.16.197", False, 4812 +selectedSite.AddIPAccessRule "192.168.16.196", False, 4813 +selectedSite.AddIPAccessRule "192.168.16.195", False, 4814 +selectedSite.AddIPAccessRule "192.168.16.194", False, 4815 +selectedSite.AddIPAccessRule "192.168.16.193", False, 4816 +selectedSite.AddIPAccessRule "192.168.16.192", False, 4817 +selectedSite.AddIPAccessRule "192.168.16.191", False, 4818 +selectedSite.AddIPAccessRule "192.168.16.190", False, 4819 +selectedSite.AddIPAccessRule "192.168.16.189", False, 4820 +selectedSite.AddIPAccessRule "192.168.16.188", False, 4821 +selectedSite.AddIPAccessRule "192.168.16.187", False, 4822 +selectedSite.AddIPAccessRule "192.168.16.186", False, 4823 +selectedSite.AddIPAccessRule "192.168.16.185", False, 4824 +selectedSite.AddIPAccessRule "192.168.16.184", False, 4825 +selectedSite.AddIPAccessRule "192.168.16.183", False, 4826 +selectedSite.AddIPAccessRule "192.168.16.182", False, 4827 +selectedSite.AddIPAccessRule "192.168.16.181", False, 4828 +selectedSite.AddIPAccessRule "192.168.16.180", False, 4829 +selectedSite.AddIPAccessRule "192.168.16.179", False, 4830 +selectedSite.AddIPAccessRule "192.168.16.178", False, 4831 +selectedSite.AddIPAccessRule "192.168.16.177", False, 4832 +selectedSite.AddIPAccessRule "192.168.16.176", False, 4833 +selectedSite.AddIPAccessRule "192.168.16.175", False, 4834 +selectedSite.AddIPAccessRule "192.168.16.174", False, 4835 +selectedSite.AddIPAccessRule "192.168.16.173", False, 4836 +selectedSite.AddIPAccessRule "192.168.16.172", False, 4837 +selectedSite.AddIPAccessRule "192.168.16.171", False, 4838 +selectedSite.AddIPAccessRule "192.168.16.170", False, 4839 +selectedSite.AddIPAccessRule "192.168.16.169", False, 4840 +selectedSite.AddIPAccessRule "192.168.16.168", False, 4841 +selectedSite.AddIPAccessRule "192.168.16.167", False, 4842 +selectedSite.AddIPAccessRule "192.168.16.166", False, 4843 +selectedSite.AddIPAccessRule "192.168.16.165", False, 4844 +selectedSite.AddIPAccessRule "192.168.16.164", False, 4845 +selectedSite.AddIPAccessRule "192.168.16.163", False, 4846 +selectedSite.AddIPAccessRule "192.168.16.162", False, 4847 +selectedSite.AddIPAccessRule "192.168.16.161", False, 4848 +selectedSite.AddIPAccessRule "192.168.16.160", False, 4849 +selectedSite.AddIPAccessRule "192.168.16.159", False, 4850 +selectedSite.AddIPAccessRule "192.168.16.158", False, 4851 +selectedSite.AddIPAccessRule "192.168.16.157", False, 4852 +selectedSite.AddIPAccessRule "192.168.16.156", False, 4853 +selectedSite.AddIPAccessRule "192.168.16.155", False, 4854 +selectedSite.AddIPAccessRule "192.168.16.154", False, 4855 +selectedSite.AddIPAccessRule "192.168.16.153", False, 4856 +selectedSite.AddIPAccessRule "192.168.16.152", False, 4857 +selectedSite.AddIPAccessRule "192.168.16.151", False, 4858 +selectedSite.AddIPAccessRule "192.168.16.150", False, 4859 +selectedSite.AddIPAccessRule "192.168.16.149", False, 4860 +selectedSite.AddIPAccessRule "192.168.16.148", False, 4861 +selectedSite.AddIPAccessRule "192.168.16.147", False, 4862 +selectedSite.AddIPAccessRule "192.168.16.146", False, 4863 +selectedSite.AddIPAccessRule "192.168.16.145", False, 4864 +selectedSite.AddIPAccessRule "192.168.16.144", False, 4865 +selectedSite.AddIPAccessRule "192.168.16.143", False, 4866 +selectedSite.AddIPAccessRule "192.168.16.142", False, 4867 +selectedSite.AddIPAccessRule "192.168.16.141", False, 4868 +selectedSite.AddIPAccessRule "192.168.16.140", False, 4869 +selectedSite.AddIPAccessRule "192.168.16.139", False, 4870 +selectedSite.AddIPAccessRule "192.168.16.138", False, 4871 +selectedSite.AddIPAccessRule "192.168.16.137", False, 4872 +selectedSite.AddIPAccessRule "192.168.16.136", False, 4873 +selectedSite.AddIPAccessRule "192.168.16.135", False, 4874 +selectedSite.AddIPAccessRule "192.168.16.134", False, 4875 +selectedSite.AddIPAccessRule "192.168.16.133", False, 4876 +selectedSite.AddIPAccessRule "192.168.16.132", False, 4877 +selectedSite.AddIPAccessRule "192.168.16.131", False, 4878 +selectedSite.AddIPAccessRule "192.168.16.130", False, 4879 +selectedSite.AddIPAccessRule "192.168.16.129", False, 4880 +selectedSite.AddIPAccessRule "192.168.16.128", False, 4881 +selectedSite.AddIPAccessRule "192.168.16.127", False, 4882 +selectedSite.AddIPAccessRule "192.168.16.126", False, 4883 +selectedSite.AddIPAccessRule "192.168.16.125", False, 4884 +selectedSite.AddIPAccessRule "192.168.16.124", False, 4885 +selectedSite.AddIPAccessRule "192.168.16.123", False, 4886 +selectedSite.AddIPAccessRule "192.168.16.122", False, 4887 +selectedSite.AddIPAccessRule "192.168.16.121", False, 4888 +selectedSite.AddIPAccessRule "192.168.16.120", False, 4889 +selectedSite.AddIPAccessRule "192.168.16.119", False, 4890 +selectedSite.AddIPAccessRule "192.168.16.118", False, 4891 +selectedSite.AddIPAccessRule "192.168.16.117", False, 4892 +selectedSite.AddIPAccessRule "192.168.16.116", False, 4893 +selectedSite.AddIPAccessRule "192.168.16.115", False, 4894 +selectedSite.AddIPAccessRule "192.168.16.114", False, 4895 +selectedSite.AddIPAccessRule "192.168.16.113", False, 4896 +selectedSite.AddIPAccessRule "192.168.16.112", False, 4897 +selectedSite.AddIPAccessRule "192.168.16.111", False, 4898 +selectedSite.AddIPAccessRule "192.168.16.110", False, 4899 +selectedSite.AddIPAccessRule "192.168.16.109", False, 4900 +selectedSite.AddIPAccessRule "192.168.16.108", False, 4901 +selectedSite.AddIPAccessRule "192.168.16.107", False, 4902 +selectedSite.AddIPAccessRule "192.168.16.106", False, 4903 +selectedSite.AddIPAccessRule "192.168.16.105", False, 4904 +selectedSite.AddIPAccessRule "192.168.16.104", False, 4905 +selectedSite.AddIPAccessRule "192.168.16.103", False, 4906 +selectedSite.AddIPAccessRule "192.168.16.102", False, 4907 +selectedSite.AddIPAccessRule "192.168.16.101", False, 4908 +selectedSite.AddIPAccessRule "192.168.16.100", False, 4909 +selectedSite.AddIPAccessRule "192.168.16.99", False, 4910 +selectedSite.AddIPAccessRule "192.168.16.98", False, 4911 +selectedSite.AddIPAccessRule "192.168.16.97", False, 4912 +selectedSite.AddIPAccessRule "192.168.16.96", False, 4913 +selectedSite.AddIPAccessRule "192.168.16.95", False, 4914 +selectedSite.AddIPAccessRule "192.168.16.94", False, 4915 +selectedSite.AddIPAccessRule "192.168.16.93", False, 4916 +selectedSite.AddIPAccessRule "192.168.16.92", False, 4917 +selectedSite.AddIPAccessRule "192.168.16.91", False, 4918 +selectedSite.AddIPAccessRule "192.168.16.90", False, 4919 +selectedSite.AddIPAccessRule "192.168.16.89", False, 4920 +selectedSite.AddIPAccessRule "192.168.16.88", False, 4921 +selectedSite.AddIPAccessRule "192.168.16.87", False, 4922 +selectedSite.AddIPAccessRule "192.168.16.86", False, 4923 +selectedSite.AddIPAccessRule "192.168.16.85", False, 4924 +selectedSite.AddIPAccessRule "192.168.16.84", False, 4925 +selectedSite.AddIPAccessRule "192.168.16.83", False, 4926 +selectedSite.AddIPAccessRule "192.168.16.82", False, 4927 +selectedSite.AddIPAccessRule "192.168.16.81", False, 4928 +selectedSite.AddIPAccessRule "192.168.16.80", False, 4929 +selectedSite.AddIPAccessRule "192.168.16.79", False, 4930 +selectedSite.AddIPAccessRule "192.168.16.78", False, 4931 +selectedSite.AddIPAccessRule "192.168.16.77", False, 4932 +selectedSite.AddIPAccessRule "192.168.16.76", False, 4933 +selectedSite.AddIPAccessRule "192.168.16.75", False, 4934 +selectedSite.AddIPAccessRule "192.168.16.74", False, 4935 +selectedSite.AddIPAccessRule "192.168.16.73", False, 4936 +selectedSite.AddIPAccessRule "192.168.16.72", False, 4937 +selectedSite.AddIPAccessRule "192.168.16.71", False, 4938 +selectedSite.AddIPAccessRule "192.168.16.70", False, 4939 +selectedSite.AddIPAccessRule "192.168.16.69", False, 4940 +selectedSite.AddIPAccessRule "192.168.16.68", False, 4941 +selectedSite.AddIPAccessRule "192.168.16.67", False, 4942 +selectedSite.AddIPAccessRule "192.168.16.66", False, 4943 +selectedSite.AddIPAccessRule "192.168.16.65", False, 4944 +selectedSite.AddIPAccessRule "192.168.16.64", False, 4945 +selectedSite.AddIPAccessRule "192.168.16.63", False, 4946 +selectedSite.AddIPAccessRule "192.168.16.62", False, 4947 +selectedSite.AddIPAccessRule "192.168.16.61", False, 4948 +selectedSite.AddIPAccessRule "192.168.16.60", False, 4949 +selectedSite.AddIPAccessRule "192.168.16.59", False, 4950 +selectedSite.AddIPAccessRule "192.168.16.58", False, 4951 +selectedSite.AddIPAccessRule "192.168.16.57", False, 4952 +selectedSite.AddIPAccessRule "192.168.16.56", False, 4953 +selectedSite.AddIPAccessRule "192.168.16.55", False, 4954 +selectedSite.AddIPAccessRule "192.168.16.54", False, 4955 +selectedSite.AddIPAccessRule "192.168.16.53", False, 4956 +selectedSite.AddIPAccessRule "192.168.16.52", False, 4957 +selectedSite.AddIPAccessRule "192.168.16.51", False, 4958 +selectedSite.AddIPAccessRule "192.168.16.50", False, 4959 +selectedSite.AddIPAccessRule "192.168.16.49", False, 4960 +selectedSite.AddIPAccessRule "192.168.16.48", False, 4961 +selectedSite.AddIPAccessRule "192.168.16.47", False, 4962 +selectedSite.AddIPAccessRule "192.168.16.46", False, 4963 +selectedSite.AddIPAccessRule "192.168.16.45", False, 4964 +selectedSite.AddIPAccessRule "192.168.16.44", False, 4965 +selectedSite.AddIPAccessRule "192.168.16.43", False, 4966 +selectedSite.AddIPAccessRule "192.168.16.42", False, 4967 +selectedSite.AddIPAccessRule "192.168.16.41", False, 4968 +selectedSite.AddIPAccessRule "192.168.16.40", False, 4969 +selectedSite.AddIPAccessRule "192.168.16.39", False, 4970 +selectedSite.AddIPAccessRule "192.168.16.38", False, 4971 +selectedSite.AddIPAccessRule "192.168.16.37", False, 4972 +selectedSite.AddIPAccessRule "192.168.16.36", False, 4973 +selectedSite.AddIPAccessRule "192.168.16.35", False, 4974 +selectedSite.AddIPAccessRule "192.168.16.34", False, 4975 +selectedSite.AddIPAccessRule "192.168.16.33", False, 4976 +selectedSite.AddIPAccessRule "192.168.16.32", False, 4977 +selectedSite.AddIPAccessRule "192.168.16.31", False, 4978 +selectedSite.AddIPAccessRule "192.168.16.30", False, 4979 +selectedSite.AddIPAccessRule "192.168.16.29", False, 4980 +selectedSite.AddIPAccessRule "192.168.16.28", False, 4981 +selectedSite.AddIPAccessRule "192.168.16.27", False, 4982 +selectedSite.AddIPAccessRule "192.168.16.26", False, 4983 +selectedSite.AddIPAccessRule "192.168.16.25", False, 4984 +selectedSite.AddIPAccessRule "192.168.16.24", False, 4985 +selectedSite.AddIPAccessRule "192.168.16.23", False, 4986 +selectedSite.AddIPAccessRule "192.168.16.22", False, 4987 +selectedSite.AddIPAccessRule "192.168.16.21", False, 4988 +selectedSite.AddIPAccessRule "192.168.16.20", False, 4989 +selectedSite.AddIPAccessRule "192.168.16.19", False, 4990 +selectedSite.AddIPAccessRule "192.168.16.18", False, 4991 +selectedSite.AddIPAccessRule "192.168.16.17", False, 4992 +selectedSite.AddIPAccessRule "192.168.16.16", False, 4993 +selectedSite.AddIPAccessRule "192.168.16.15", False, 4994 +selectedSite.AddIPAccessRule "192.168.16.14", False, 4995 +selectedSite.AddIPAccessRule "192.168.16.13", False, 4996 +selectedSite.AddIPAccessRule "192.168.16.12", False, 4997 +selectedSite.AddIPAccessRule "192.168.16.11", False, 4998 +selectedSite.AddIPAccessRule "192.168.16.10", False, 4999 +selectedSite.AddIPAccessRule "192.168.16.9", False, 5000 +selectedSite.AddIPAccessRule "192.168.16.8", False, 5001 +selectedSite.AddIPAccessRule "192.168.16.7", False, 5002 +selectedSite.AddIPAccessRule "192.168.16.6", False, 5003 +selectedSite.AddIPAccessRule "192.168.16.5", False, 5004 +selectedSite.AddIPAccessRule "192.168.16.4", False, 5005 +selectedSite.AddIPAccessRule "192.168.16.3", False, 5006 +selectedSite.AddIPAccessRule "192.168.16.2", False, 5007 +selectedSite.AddIPAccessRule "192.168.16.1", False, 5008 +selectedSite.AddIPAccessRule "192.168.15.255", False, 5009 +selectedSite.AddIPAccessRule "192.168.15.254", False, 5010 +selectedSite.AddIPAccessRule "192.168.15.253", False, 5011 +selectedSite.AddIPAccessRule "192.168.15.252", False, 5012 +selectedSite.AddIPAccessRule "192.168.15.251", False, 5013 +selectedSite.AddIPAccessRule "192.168.15.250", False, 5014 +selectedSite.AddIPAccessRule "192.168.15.249", False, 5015 +selectedSite.AddIPAccessRule "192.168.15.248", False, 5016 +selectedSite.AddIPAccessRule "192.168.15.247", False, 5017 +selectedSite.AddIPAccessRule "192.168.15.246", False, 5018 +selectedSite.AddIPAccessRule "192.168.15.245", False, 5019 +selectedSite.AddIPAccessRule "192.168.15.244", False, 5020 +selectedSite.AddIPAccessRule "192.168.15.243", False, 5021 +selectedSite.AddIPAccessRule "192.168.15.242", False, 5022 +selectedSite.AddIPAccessRule "192.168.15.241", False, 5023 +selectedSite.AddIPAccessRule "192.168.15.240", False, 5024 +selectedSite.AddIPAccessRule "192.168.15.239", False, 5025 +selectedSite.AddIPAccessRule "192.168.15.238", False, 5026 +selectedSite.AddIPAccessRule "192.168.15.237", False, 5027 +selectedSite.AddIPAccessRule "192.168.15.236", False, 5028 +selectedSite.AddIPAccessRule "192.168.15.235", False, 5029 +selectedSite.AddIPAccessRule "192.168.15.234", False, 5030 +selectedSite.AddIPAccessRule "192.168.15.233", False, 5031 +selectedSite.AddIPAccessRule "192.168.15.232", False, 5032 +selectedSite.AddIPAccessRule "192.168.15.231", False, 5033 +selectedSite.AddIPAccessRule "192.168.15.230", False, 5034 +selectedSite.AddIPAccessRule "192.168.15.229", False, 5035 +selectedSite.AddIPAccessRule "192.168.15.228", False, 5036 +selectedSite.AddIPAccessRule "192.168.15.227", False, 5037 +selectedSite.AddIPAccessRule "192.168.15.226", False, 5038 +selectedSite.AddIPAccessRule "192.168.15.225", False, 5039 +selectedSite.AddIPAccessRule "192.168.15.224", False, 5040 +selectedSite.AddIPAccessRule "192.168.15.223", False, 5041 +selectedSite.AddIPAccessRule "192.168.15.222", False, 5042 +selectedSite.AddIPAccessRule "192.168.15.221", False, 5043 +selectedSite.AddIPAccessRule "192.168.15.220", False, 5044 +selectedSite.AddIPAccessRule "192.168.15.219", False, 5045 +selectedSite.AddIPAccessRule "192.168.15.218", False, 5046 +selectedSite.AddIPAccessRule "192.168.15.217", False, 5047 +selectedSite.AddIPAccessRule "192.168.15.216", False, 5048 +selectedSite.AddIPAccessRule "192.168.15.215", False, 5049 +selectedSite.AddIPAccessRule "192.168.15.214", False, 5050 +selectedSite.AddIPAccessRule "192.168.15.213", False, 5051 +selectedSite.AddIPAccessRule "192.168.15.212", False, 5052 +selectedSite.AddIPAccessRule "192.168.15.211", False, 5053 +selectedSite.AddIPAccessRule "192.168.15.210", False, 5054 +selectedSite.AddIPAccessRule "192.168.15.209", False, 5055 +selectedSite.AddIPAccessRule "192.168.15.208", False, 5056 +selectedSite.AddIPAccessRule "192.168.15.207", False, 5057 +selectedSite.AddIPAccessRule "192.168.15.206", False, 5058 +selectedSite.AddIPAccessRule "192.168.15.205", False, 5059 +selectedSite.AddIPAccessRule "192.168.15.204", False, 5060 +selectedSite.AddIPAccessRule "192.168.15.203", False, 5061 +selectedSite.AddIPAccessRule "192.168.15.202", False, 5062 +selectedSite.AddIPAccessRule "192.168.15.201", False, 5063 +selectedSite.AddIPAccessRule "192.168.15.200", False, 5064 +selectedSite.AddIPAccessRule "192.168.15.199", False, 5065 +selectedSite.AddIPAccessRule "192.168.15.198", False, 5066 +selectedSite.AddIPAccessRule "192.168.15.197", False, 5067 +selectedSite.AddIPAccessRule "192.168.15.196", False, 5068 +selectedSite.AddIPAccessRule "192.168.15.195", False, 5069 +selectedSite.AddIPAccessRule "192.168.15.194", False, 5070 +selectedSite.AddIPAccessRule "192.168.15.193", False, 5071 +selectedSite.AddIPAccessRule "192.168.15.192", False, 5072 +selectedSite.AddIPAccessRule "192.168.15.191", False, 5073 +selectedSite.AddIPAccessRule "192.168.15.190", False, 5074 +selectedSite.AddIPAccessRule "192.168.15.189", False, 5075 +selectedSite.AddIPAccessRule "192.168.15.188", False, 5076 +selectedSite.AddIPAccessRule "192.168.15.187", False, 5077 +selectedSite.AddIPAccessRule "192.168.15.186", False, 5078 +selectedSite.AddIPAccessRule "192.168.15.185", False, 5079 +selectedSite.AddIPAccessRule "192.168.15.184", False, 5080 +selectedSite.AddIPAccessRule "192.168.15.183", False, 5081 +selectedSite.AddIPAccessRule "192.168.15.182", False, 5082 +selectedSite.AddIPAccessRule "192.168.15.181", False, 5083 +selectedSite.AddIPAccessRule "192.168.15.180", False, 5084 +selectedSite.AddIPAccessRule "192.168.15.179", False, 5085 +selectedSite.AddIPAccessRule "192.168.15.178", False, 5086 +selectedSite.AddIPAccessRule "192.168.15.177", False, 5087 +selectedSite.AddIPAccessRule "192.168.15.176", False, 5088 +selectedSite.AddIPAccessRule "192.168.15.175", False, 5089 +selectedSite.AddIPAccessRule "192.168.15.174", False, 5090 +selectedSite.AddIPAccessRule "192.168.15.173", False, 5091 +selectedSite.AddIPAccessRule "192.168.15.172", False, 5092 +selectedSite.AddIPAccessRule "192.168.15.171", False, 5093 +selectedSite.AddIPAccessRule "192.168.15.170", False, 5094 +selectedSite.AddIPAccessRule "192.168.15.169", False, 5095 +selectedSite.AddIPAccessRule "192.168.15.168", False, 5096 +selectedSite.AddIPAccessRule "192.168.15.167", False, 5097 +selectedSite.AddIPAccessRule "192.168.15.166", False, 5098 +selectedSite.AddIPAccessRule "192.168.15.165", False, 5099 +selectedSite.AddIPAccessRule "192.168.15.164", False, 5100 +selectedSite.AddIPAccessRule "192.168.15.163", False, 5101 +selectedSite.AddIPAccessRule "192.168.15.162", False, 5102 +selectedSite.AddIPAccessRule "192.168.15.161", False, 5103 +selectedSite.AddIPAccessRule "192.168.15.160", False, 5104 +selectedSite.AddIPAccessRule "192.168.15.159", False, 5105 +selectedSite.AddIPAccessRule "192.168.15.158", False, 5106 +selectedSite.AddIPAccessRule "192.168.15.157", False, 5107 +selectedSite.AddIPAccessRule "192.168.15.156", False, 5108 +selectedSite.AddIPAccessRule "192.168.15.155", False, 5109 +selectedSite.AddIPAccessRule "192.168.15.154", False, 5110 +selectedSite.AddIPAccessRule "192.168.15.153", False, 5111 +selectedSite.AddIPAccessRule "192.168.15.152", False, 5112 +selectedSite.AddIPAccessRule "192.168.15.151", False, 5113 +selectedSite.AddIPAccessRule "192.168.15.150", False, 5114 +selectedSite.AddIPAccessRule "192.168.15.149", False, 5115 +selectedSite.AddIPAccessRule "192.168.15.148", False, 5116 +selectedSite.AddIPAccessRule "192.168.15.147", False, 5117 +selectedSite.AddIPAccessRule "192.168.15.146", False, 5118 +selectedSite.AddIPAccessRule "192.168.15.145", False, 5119 +selectedSite.AddIPAccessRule "192.168.15.144", False, 5120 +selectedSite.AddIPAccessRule "192.168.15.143", False, 5121 +selectedSite.AddIPAccessRule "192.168.15.142", False, 5122 +selectedSite.AddIPAccessRule "192.168.15.141", False, 5123 +selectedSite.AddIPAccessRule "192.168.15.140", False, 5124 +selectedSite.AddIPAccessRule "192.168.15.139", False, 5125 +selectedSite.AddIPAccessRule "192.168.15.138", False, 5126 +selectedSite.AddIPAccessRule "192.168.15.137", False, 5127 +selectedSite.AddIPAccessRule "192.168.15.136", False, 5128 +selectedSite.AddIPAccessRule "192.168.15.135", False, 5129 +selectedSite.AddIPAccessRule "192.168.15.134", False, 5130 +selectedSite.AddIPAccessRule "192.168.15.133", False, 5131 +selectedSite.AddIPAccessRule "192.168.15.132", False, 5132 +selectedSite.AddIPAccessRule "192.168.15.131", False, 5133 +selectedSite.AddIPAccessRule "192.168.15.130", False, 5134 +selectedSite.AddIPAccessRule "192.168.15.129", False, 5135 +selectedSite.AddIPAccessRule "192.168.15.128", False, 5136 +selectedSite.AddIPAccessRule "192.168.15.127", False, 5137 +selectedSite.AddIPAccessRule "192.168.15.126", False, 5138 +selectedSite.AddIPAccessRule "192.168.15.125", False, 5139 +selectedSite.AddIPAccessRule "192.168.15.124", False, 5140 +selectedSite.AddIPAccessRule "192.168.15.123", False, 5141 +selectedSite.AddIPAccessRule "192.168.15.122", False, 5142 +selectedSite.AddIPAccessRule "192.168.15.121", False, 5143 +selectedSite.AddIPAccessRule "192.168.15.120", False, 5144 +selectedSite.AddIPAccessRule "192.168.15.119", False, 5145 +selectedSite.AddIPAccessRule "192.168.15.118", False, 5146 +selectedSite.AddIPAccessRule "192.168.15.117", False, 5147 +selectedSite.AddIPAccessRule "192.168.15.116", False, 5148 +selectedSite.AddIPAccessRule "192.168.15.115", False, 5149 +selectedSite.AddIPAccessRule "192.168.15.114", False, 5150 +selectedSite.AddIPAccessRule "192.168.15.113", False, 5151 +selectedSite.AddIPAccessRule "192.168.15.112", False, 5152 +selectedSite.AddIPAccessRule "192.168.15.111", False, 5153 +selectedSite.AddIPAccessRule "192.168.15.110", False, 5154 +selectedSite.AddIPAccessRule "192.168.15.109", False, 5155 +selectedSite.AddIPAccessRule "192.168.15.108", False, 5156 +selectedSite.AddIPAccessRule "192.168.15.107", False, 5157 +selectedSite.AddIPAccessRule "192.168.15.106", False, 5158 +selectedSite.AddIPAccessRule "192.168.15.105", False, 5159 +selectedSite.AddIPAccessRule "192.168.15.104", False, 5160 +selectedSite.AddIPAccessRule "192.168.15.103", False, 5161 +selectedSite.AddIPAccessRule "192.168.15.102", False, 5162 +selectedSite.AddIPAccessRule "192.168.15.101", False, 5163 +selectedSite.AddIPAccessRule "192.168.15.100", False, 5164 +selectedSite.AddIPAccessRule "192.168.15.99", False, 5165 +selectedSite.AddIPAccessRule "192.168.15.98", False, 5166 +selectedSite.AddIPAccessRule "192.168.15.97", False, 5167 +selectedSite.AddIPAccessRule "192.168.15.96", False, 5168 +selectedSite.AddIPAccessRule "192.168.15.95", False, 5169 +selectedSite.AddIPAccessRule "192.168.15.94", False, 5170 +selectedSite.AddIPAccessRule "192.168.15.93", False, 5171 +selectedSite.AddIPAccessRule "192.168.15.92", False, 5172 +selectedSite.AddIPAccessRule "192.168.15.91", False, 5173 +selectedSite.AddIPAccessRule "192.168.15.90", False, 5174 +selectedSite.AddIPAccessRule "192.168.15.89", False, 5175 +selectedSite.AddIPAccessRule "192.168.15.88", False, 5176 +selectedSite.AddIPAccessRule "192.168.15.87", False, 5177 +selectedSite.AddIPAccessRule "192.168.15.86", False, 5178 +selectedSite.AddIPAccessRule "192.168.15.85", False, 5179 +selectedSite.AddIPAccessRule "192.168.15.84", False, 5180 +selectedSite.AddIPAccessRule "192.168.15.83", False, 5181 +selectedSite.AddIPAccessRule "192.168.15.82", False, 5182 +selectedSite.AddIPAccessRule "192.168.15.81", False, 5183 +selectedSite.AddIPAccessRule "192.168.15.80", False, 5184 +selectedSite.AddIPAccessRule "192.168.15.79", False, 5185 +selectedSite.AddIPAccessRule "192.168.15.78", False, 5186 +selectedSite.AddIPAccessRule "192.168.15.77", False, 5187 +selectedSite.AddIPAccessRule "192.168.15.76", False, 5188 +selectedSite.AddIPAccessRule "192.168.15.75", False, 5189 +selectedSite.AddIPAccessRule "192.168.15.74", False, 5190 +selectedSite.AddIPAccessRule "192.168.15.73", False, 5191 +selectedSite.AddIPAccessRule "192.168.15.72", False, 5192 +selectedSite.AddIPAccessRule "192.168.15.71", False, 5193 +selectedSite.AddIPAccessRule "192.168.15.70", False, 5194 +selectedSite.AddIPAccessRule "192.168.15.69", False, 5195 +selectedSite.AddIPAccessRule "192.168.15.68", False, 5196 +selectedSite.AddIPAccessRule "192.168.15.67", False, 5197 +selectedSite.AddIPAccessRule "192.168.15.66", False, 5198 +selectedSite.AddIPAccessRule "192.168.15.65", False, 5199 +selectedSite.AddIPAccessRule "192.168.15.64", False, 5200 +selectedSite.AddIPAccessRule "192.168.15.63", False, 5201 +selectedSite.AddIPAccessRule "192.168.15.62", False, 5202 +selectedSite.AddIPAccessRule "192.168.15.61", False, 5203 +selectedSite.AddIPAccessRule "192.168.15.60", False, 5204 +selectedSite.AddIPAccessRule "192.168.15.59", False, 5205 +selectedSite.AddIPAccessRule "192.168.15.58", False, 5206 +selectedSite.AddIPAccessRule "192.168.15.57", False, 5207 +selectedSite.AddIPAccessRule "192.168.15.56", False, 5208 +selectedSite.AddIPAccessRule "192.168.15.55", False, 5209 +selectedSite.AddIPAccessRule "192.168.15.54", False, 5210 +selectedSite.AddIPAccessRule "192.168.15.53", False, 5211 +selectedSite.AddIPAccessRule "192.168.15.52", False, 5212 +selectedSite.AddIPAccessRule "192.168.15.51", False, 5213 +selectedSite.AddIPAccessRule "192.168.15.50", False, 5214 +selectedSite.AddIPAccessRule "192.168.15.49", False, 5215 +selectedSite.AddIPAccessRule "192.168.15.48", False, 5216 +selectedSite.AddIPAccessRule "192.168.15.47", False, 5217 +selectedSite.AddIPAccessRule "192.168.15.46", False, 5218 +selectedSite.AddIPAccessRule "192.168.15.45", False, 5219 +selectedSite.AddIPAccessRule "192.168.15.44", False, 5220 +selectedSite.AddIPAccessRule "192.168.15.43", False, 5221 +selectedSite.AddIPAccessRule "192.168.15.42", False, 5222 +selectedSite.AddIPAccessRule "192.168.15.41", False, 5223 +selectedSite.AddIPAccessRule "192.168.15.40", False, 5224 +selectedSite.AddIPAccessRule "192.168.15.39", False, 5225 +selectedSite.AddIPAccessRule "192.168.15.38", False, 5226 +selectedSite.AddIPAccessRule "192.168.15.37", False, 5227 +selectedSite.AddIPAccessRule "192.168.15.36", False, 5228 +selectedSite.AddIPAccessRule "192.168.15.35", False, 5229 +selectedSite.AddIPAccessRule "192.168.15.34", False, 5230 +selectedSite.AddIPAccessRule "192.168.15.33", False, 5231 +selectedSite.AddIPAccessRule "192.168.15.32", False, 5232 +selectedSite.AddIPAccessRule "192.168.15.31", False, 5233 +selectedSite.AddIPAccessRule "192.168.15.30", False, 5234 +selectedSite.AddIPAccessRule "192.168.15.29", False, 5235 +selectedSite.AddIPAccessRule "192.168.15.28", False, 5236 +selectedSite.AddIPAccessRule "192.168.15.27", False, 5237 +selectedSite.AddIPAccessRule "192.168.15.26", False, 5238 +selectedSite.AddIPAccessRule "192.168.15.25", False, 5239 +selectedSite.AddIPAccessRule "192.168.15.24", False, 5240 +selectedSite.AddIPAccessRule "192.168.15.23", False, 5241 +selectedSite.AddIPAccessRule "192.168.15.22", False, 5242 +selectedSite.AddIPAccessRule "192.168.15.21", False, 5243 +selectedSite.AddIPAccessRule "192.168.15.20", False, 5244 +selectedSite.AddIPAccessRule "192.168.15.19", False, 5245 +selectedSite.AddIPAccessRule "192.168.15.18", False, 5246 +selectedSite.AddIPAccessRule "192.168.15.17", False, 5247 +selectedSite.AddIPAccessRule "192.168.15.16", False, 5248 +selectedSite.AddIPAccessRule "192.168.15.15", False, 5249 +selectedSite.AddIPAccessRule "192.168.15.14", False, 5250 +selectedSite.AddIPAccessRule "192.168.15.13", False, 5251 +selectedSite.AddIPAccessRule "192.168.15.12", False, 5252 +selectedSite.AddIPAccessRule "192.168.15.11", False, 5253 +selectedSite.AddIPAccessRule "192.168.15.10", False, 5254 +selectedSite.AddIPAccessRule "192.168.15.9", False, 5255 +selectedSite.AddIPAccessRule "192.168.15.8", False, 5256 +selectedSite.AddIPAccessRule "192.168.15.7", False, 5257 +selectedSite.AddIPAccessRule "192.168.15.6", False, 5258 +selectedSite.AddIPAccessRule "192.168.15.5", False, 5259 +selectedSite.AddIPAccessRule "192.168.15.4", False, 5260 +selectedSite.AddIPAccessRule "192.168.15.3", False, 5261 +selectedSite.AddIPAccessRule "192.168.15.2", False, 5262 +selectedSite.AddIPAccessRule "192.168.15.1", False, 5263 +selectedSite.AddIPAccessRule "192.168.14.255", False, 5264 +selectedSite.AddIPAccessRule "192.168.14.254", False, 5265 +selectedSite.AddIPAccessRule "192.168.14.253", False, 5266 +selectedSite.AddIPAccessRule "192.168.14.252", False, 5267 +selectedSite.AddIPAccessRule "192.168.14.251", False, 5268 +selectedSite.AddIPAccessRule "192.168.14.250", False, 5269 +selectedSite.AddIPAccessRule "192.168.14.249", False, 5270 +selectedSite.AddIPAccessRule "192.168.14.248", False, 5271 +selectedSite.AddIPAccessRule "192.168.14.247", False, 5272 +selectedSite.AddIPAccessRule "192.168.14.246", False, 5273 +selectedSite.AddIPAccessRule "192.168.14.245", False, 5274 +selectedSite.AddIPAccessRule "192.168.14.244", False, 5275 +selectedSite.AddIPAccessRule "192.168.14.243", False, 5276 +selectedSite.AddIPAccessRule "192.168.14.242", False, 5277 +selectedSite.AddIPAccessRule "192.168.14.241", False, 5278 +selectedSite.AddIPAccessRule "192.168.14.240", False, 5279 +selectedSite.AddIPAccessRule "192.168.14.239", False, 5280 +selectedSite.AddIPAccessRule "192.168.14.238", False, 5281 +selectedSite.AddIPAccessRule "192.168.14.237", False, 5282 +selectedSite.AddIPAccessRule "192.168.14.236", False, 5283 +selectedSite.AddIPAccessRule "192.168.14.235", False, 5284 +selectedSite.AddIPAccessRule "192.168.14.234", False, 5285 +selectedSite.AddIPAccessRule "192.168.14.233", False, 5286 +selectedSite.AddIPAccessRule "192.168.14.232", False, 5287 +selectedSite.AddIPAccessRule "192.168.14.231", False, 5288 +selectedSite.AddIPAccessRule "192.168.14.230", False, 5289 +selectedSite.AddIPAccessRule "192.168.14.229", False, 5290 +selectedSite.AddIPAccessRule "192.168.14.228", False, 5291 +selectedSite.AddIPAccessRule "192.168.14.227", False, 5292 +selectedSite.AddIPAccessRule "192.168.14.226", False, 5293 +selectedSite.AddIPAccessRule "192.168.14.225", False, 5294 +selectedSite.AddIPAccessRule "192.168.14.224", False, 5295 +selectedSite.AddIPAccessRule "192.168.14.223", False, 5296 +selectedSite.AddIPAccessRule "192.168.14.222", False, 5297 +selectedSite.AddIPAccessRule "192.168.14.221", False, 5298 +selectedSite.AddIPAccessRule "192.168.14.220", False, 5299 +selectedSite.AddIPAccessRule "192.168.14.219", False, 5300 +selectedSite.AddIPAccessRule "192.168.14.218", False, 5301 +selectedSite.AddIPAccessRule "192.168.14.217", False, 5302 +selectedSite.AddIPAccessRule "192.168.14.216", False, 5303 +selectedSite.AddIPAccessRule "192.168.14.215", False, 5304 +selectedSite.AddIPAccessRule "192.168.14.214", False, 5305 +selectedSite.AddIPAccessRule "192.168.14.213", False, 5306 +selectedSite.AddIPAccessRule "192.168.14.212", False, 5307 +selectedSite.AddIPAccessRule "192.168.14.211", False, 5308 +selectedSite.AddIPAccessRule "192.168.14.210", False, 5309 +selectedSite.AddIPAccessRule "192.168.14.209", False, 5310 +selectedSite.AddIPAccessRule "192.168.14.208", False, 5311 +selectedSite.AddIPAccessRule "192.168.14.207", False, 5312 +selectedSite.AddIPAccessRule "192.168.14.206", False, 5313 +selectedSite.AddIPAccessRule "192.168.14.205", False, 5314 +selectedSite.AddIPAccessRule "192.168.14.204", False, 5315 +selectedSite.AddIPAccessRule "192.168.14.203", False, 5316 +selectedSite.AddIPAccessRule "192.168.14.202", False, 5317 +selectedSite.AddIPAccessRule "192.168.14.201", False, 5318 +selectedSite.AddIPAccessRule "192.168.14.200", False, 5319 +selectedSite.AddIPAccessRule "192.168.14.199", False, 5320 +selectedSite.AddIPAccessRule "192.168.14.198", False, 5321 +selectedSite.AddIPAccessRule "192.168.14.197", False, 5322 +selectedSite.AddIPAccessRule "192.168.14.196", False, 5323 +selectedSite.AddIPAccessRule "192.168.14.195", False, 5324 +selectedSite.AddIPAccessRule "192.168.14.194", False, 5325 +selectedSite.AddIPAccessRule "192.168.14.193", False, 5326 +selectedSite.AddIPAccessRule "192.168.14.192", False, 5327 +selectedSite.AddIPAccessRule "192.168.14.191", False, 5328 +selectedSite.AddIPAccessRule "192.168.14.190", False, 5329 +selectedSite.AddIPAccessRule "192.168.14.189", False, 5330 +selectedSite.AddIPAccessRule "192.168.14.188", False, 5331 +selectedSite.AddIPAccessRule "192.168.14.187", False, 5332 +selectedSite.AddIPAccessRule "192.168.14.186", False, 5333 +selectedSite.AddIPAccessRule "192.168.14.185", False, 5334 +selectedSite.AddIPAccessRule "192.168.14.184", False, 5335 +selectedSite.AddIPAccessRule "192.168.14.183", False, 5336 +selectedSite.AddIPAccessRule "192.168.14.182", False, 5337 +selectedSite.AddIPAccessRule "192.168.14.181", False, 5338 +selectedSite.AddIPAccessRule "192.168.14.180", False, 5339 +selectedSite.AddIPAccessRule "192.168.14.179", False, 5340 +selectedSite.AddIPAccessRule "192.168.14.178", False, 5341 +selectedSite.AddIPAccessRule "192.168.14.177", False, 5342 +selectedSite.AddIPAccessRule "192.168.14.176", False, 5343 +selectedSite.AddIPAccessRule "192.168.14.175", False, 5344 +selectedSite.AddIPAccessRule "192.168.14.174", False, 5345 +selectedSite.AddIPAccessRule "192.168.14.173", False, 5346 +selectedSite.AddIPAccessRule "192.168.14.172", False, 5347 +selectedSite.AddIPAccessRule "192.168.14.171", False, 5348 +selectedSite.AddIPAccessRule "192.168.14.170", False, 5349 +selectedSite.AddIPAccessRule "192.168.14.169", False, 5350 +selectedSite.AddIPAccessRule "192.168.14.168", False, 5351 +selectedSite.AddIPAccessRule "192.168.14.167", False, 5352 +selectedSite.AddIPAccessRule "192.168.14.166", False, 5353 +selectedSite.AddIPAccessRule "192.168.14.165", False, 5354 +selectedSite.AddIPAccessRule "192.168.14.164", False, 5355 +selectedSite.AddIPAccessRule "192.168.14.163", False, 5356 +selectedSite.AddIPAccessRule "192.168.14.162", False, 5357 +selectedSite.AddIPAccessRule "192.168.14.161", False, 5358 +selectedSite.AddIPAccessRule "192.168.14.160", False, 5359 +selectedSite.AddIPAccessRule "192.168.14.159", False, 5360 +selectedSite.AddIPAccessRule "192.168.14.158", False, 5361 +selectedSite.AddIPAccessRule "192.168.14.157", False, 5362 +selectedSite.AddIPAccessRule "192.168.14.156", False, 5363 +selectedSite.AddIPAccessRule "192.168.14.155", False, 5364 +selectedSite.AddIPAccessRule "192.168.14.154", False, 5365 +selectedSite.AddIPAccessRule "192.168.14.153", False, 5366 +selectedSite.AddIPAccessRule "192.168.14.152", False, 5367 +selectedSite.AddIPAccessRule "192.168.14.151", False, 5368 +selectedSite.AddIPAccessRule "192.168.14.150", False, 5369 +selectedSite.AddIPAccessRule "192.168.14.149", False, 5370 +selectedSite.AddIPAccessRule "192.168.14.148", False, 5371 +selectedSite.AddIPAccessRule "192.168.14.147", False, 5372 +selectedSite.AddIPAccessRule "192.168.14.146", False, 5373 +selectedSite.AddIPAccessRule "192.168.14.145", False, 5374 +selectedSite.AddIPAccessRule "192.168.14.144", False, 5375 +selectedSite.AddIPAccessRule "192.168.14.143", False, 5376 +selectedSite.AddIPAccessRule "192.168.14.142", False, 5377 +selectedSite.AddIPAccessRule "192.168.14.141", False, 5378 +selectedSite.AddIPAccessRule "192.168.14.140", False, 5379 +selectedSite.AddIPAccessRule "192.168.14.139", False, 5380 +selectedSite.AddIPAccessRule "192.168.14.138", False, 5381 +selectedSite.AddIPAccessRule "192.168.14.137", False, 5382 +selectedSite.AddIPAccessRule "192.168.14.136", False, 5383 +selectedSite.AddIPAccessRule "192.168.14.135", False, 5384 +selectedSite.AddIPAccessRule "192.168.14.134", False, 5385 +selectedSite.AddIPAccessRule "192.168.14.133", False, 5386 +selectedSite.AddIPAccessRule "192.168.14.132", False, 5387 +selectedSite.AddIPAccessRule "192.168.14.131", False, 5388 +selectedSite.AddIPAccessRule "192.168.14.130", False, 5389 +selectedSite.AddIPAccessRule "192.168.14.129", False, 5390 +selectedSite.AddIPAccessRule "192.168.14.128", False, 5391 +selectedSite.AddIPAccessRule "192.168.14.127", False, 5392 +selectedSite.AddIPAccessRule "192.168.14.126", False, 5393 +selectedSite.AddIPAccessRule "192.168.14.125", False, 5394 +selectedSite.AddIPAccessRule "192.168.14.124", False, 5395 +selectedSite.AddIPAccessRule "192.168.14.123", False, 5396 +selectedSite.AddIPAccessRule "192.168.14.122", False, 5397 +selectedSite.AddIPAccessRule "192.168.14.121", False, 5398 +selectedSite.AddIPAccessRule "192.168.14.120", False, 5399 +selectedSite.AddIPAccessRule "192.168.14.119", False, 5400 +selectedSite.AddIPAccessRule "192.168.14.118", False, 5401 +selectedSite.AddIPAccessRule "192.168.14.117", False, 5402 +selectedSite.AddIPAccessRule "192.168.14.116", False, 5403 +selectedSite.AddIPAccessRule "192.168.14.115", False, 5404 +selectedSite.AddIPAccessRule "192.168.14.114", False, 5405 +selectedSite.AddIPAccessRule "192.168.14.113", False, 5406 +selectedSite.AddIPAccessRule "192.168.14.112", False, 5407 +selectedSite.AddIPAccessRule "192.168.14.111", False, 5408 +selectedSite.AddIPAccessRule "192.168.14.110", False, 5409 +selectedSite.AddIPAccessRule "192.168.14.109", False, 5410 +selectedSite.AddIPAccessRule "192.168.14.108", False, 5411 +selectedSite.AddIPAccessRule "192.168.14.107", False, 5412 +selectedSite.AddIPAccessRule "192.168.14.106", False, 5413 +selectedSite.AddIPAccessRule "192.168.14.105", False, 5414 +selectedSite.AddIPAccessRule "192.168.14.104", False, 5415 +selectedSite.AddIPAccessRule "192.168.14.103", False, 5416 +selectedSite.AddIPAccessRule "192.168.14.102", False, 5417 +selectedSite.AddIPAccessRule "192.168.14.101", False, 5418 +selectedSite.AddIPAccessRule "192.168.14.100", False, 5419 +selectedSite.AddIPAccessRule "192.168.14.99", False, 5420 +selectedSite.AddIPAccessRule "192.168.14.98", False, 5421 +selectedSite.AddIPAccessRule "192.168.14.97", False, 5422 +selectedSite.AddIPAccessRule "192.168.14.96", False, 5423 +selectedSite.AddIPAccessRule "192.168.14.95", False, 5424 +selectedSite.AddIPAccessRule "192.168.14.94", False, 5425 +selectedSite.AddIPAccessRule "192.168.14.93", False, 5426 +selectedSite.AddIPAccessRule "192.168.14.92", False, 5427 +selectedSite.AddIPAccessRule "192.168.14.91", False, 5428 +selectedSite.AddIPAccessRule "192.168.14.90", False, 5429 +selectedSite.AddIPAccessRule "192.168.14.89", False, 5430 +selectedSite.AddIPAccessRule "192.168.14.88", False, 5431 +selectedSite.AddIPAccessRule "192.168.14.87", False, 5432 +selectedSite.AddIPAccessRule "192.168.14.86", False, 5433 +selectedSite.AddIPAccessRule "192.168.14.85", False, 5434 +selectedSite.AddIPAccessRule "192.168.14.84", False, 5435 +selectedSite.AddIPAccessRule "192.168.14.83", False, 5436 +selectedSite.AddIPAccessRule "192.168.14.82", False, 5437 +selectedSite.AddIPAccessRule "192.168.14.81", False, 5438 +selectedSite.AddIPAccessRule "192.168.14.80", False, 5439 +selectedSite.AddIPAccessRule "192.168.14.79", False, 5440 +selectedSite.AddIPAccessRule "192.168.14.78", False, 5441 +selectedSite.AddIPAccessRule "192.168.14.77", False, 5442 +selectedSite.AddIPAccessRule "192.168.14.76", False, 5443 +selectedSite.AddIPAccessRule "192.168.14.75", False, 5444 +selectedSite.AddIPAccessRule "192.168.14.74", False, 5445 +selectedSite.AddIPAccessRule "192.168.14.73", False, 5446 +selectedSite.AddIPAccessRule "192.168.14.72", False, 5447 +selectedSite.AddIPAccessRule "192.168.14.71", False, 5448 +selectedSite.AddIPAccessRule "192.168.14.70", False, 5449 +selectedSite.AddIPAccessRule "192.168.14.69", False, 5450 +selectedSite.AddIPAccessRule "192.168.14.68", False, 5451 +selectedSite.AddIPAccessRule "192.168.14.67", False, 5452 +selectedSite.AddIPAccessRule "192.168.14.66", False, 5453 +selectedSite.AddIPAccessRule "192.168.14.65", False, 5454 +selectedSite.AddIPAccessRule "192.168.14.64", False, 5455 +selectedSite.AddIPAccessRule "192.168.14.63", False, 5456 +selectedSite.AddIPAccessRule "192.168.14.62", False, 5457 +selectedSite.AddIPAccessRule "192.168.14.61", False, 5458 +selectedSite.AddIPAccessRule "192.168.14.60", False, 5459 +selectedSite.AddIPAccessRule "192.168.14.59", False, 5460 +selectedSite.AddIPAccessRule "192.168.14.58", False, 5461 +selectedSite.AddIPAccessRule "192.168.14.57", False, 5462 +selectedSite.AddIPAccessRule "192.168.14.56", False, 5463 +selectedSite.AddIPAccessRule "192.168.14.55", False, 5464 +selectedSite.AddIPAccessRule "192.168.14.54", False, 5465 +selectedSite.AddIPAccessRule "192.168.14.53", False, 5466 +selectedSite.AddIPAccessRule "192.168.14.52", False, 5467 +selectedSite.AddIPAccessRule "192.168.14.51", False, 5468 +selectedSite.AddIPAccessRule "192.168.14.50", False, 5469 +selectedSite.AddIPAccessRule "192.168.14.49", False, 5470 +selectedSite.AddIPAccessRule "192.168.14.48", False, 5471 +selectedSite.AddIPAccessRule "192.168.14.47", False, 5472 +selectedSite.AddIPAccessRule "192.168.14.46", False, 5473 +selectedSite.AddIPAccessRule "192.168.14.45", False, 5474 +selectedSite.AddIPAccessRule "192.168.14.44", False, 5475 +selectedSite.AddIPAccessRule "192.168.14.43", False, 5476 +selectedSite.AddIPAccessRule "192.168.14.42", False, 5477 +selectedSite.AddIPAccessRule "192.168.14.41", False, 5478 +selectedSite.AddIPAccessRule "192.168.14.40", False, 5479 +selectedSite.AddIPAccessRule "192.168.14.39", False, 5480 +selectedSite.AddIPAccessRule "192.168.14.38", False, 5481 +selectedSite.AddIPAccessRule "192.168.14.37", False, 5482 +selectedSite.AddIPAccessRule "192.168.14.36", False, 5483 +selectedSite.AddIPAccessRule "192.168.14.35", False, 5484 +selectedSite.AddIPAccessRule "192.168.14.34", False, 5485 +selectedSite.AddIPAccessRule "192.168.14.33", False, 5486 +selectedSite.AddIPAccessRule "192.168.14.32", False, 5487 +selectedSite.AddIPAccessRule "192.168.14.31", False, 5488 +selectedSite.AddIPAccessRule "192.168.14.30", False, 5489 +selectedSite.AddIPAccessRule "192.168.14.29", False, 5490 +selectedSite.AddIPAccessRule "192.168.14.28", False, 5491 +selectedSite.AddIPAccessRule "192.168.14.27", False, 5492 +selectedSite.AddIPAccessRule "192.168.14.26", False, 5493 +selectedSite.AddIPAccessRule "192.168.14.25", False, 5494 +selectedSite.AddIPAccessRule "192.168.14.24", False, 5495 +selectedSite.AddIPAccessRule "192.168.14.23", False, 5496 +selectedSite.AddIPAccessRule "192.168.14.22", False, 5497 +selectedSite.AddIPAccessRule "192.168.14.21", False, 5498 +selectedSite.AddIPAccessRule "192.168.14.20", False, 5499 +selectedSite.AddIPAccessRule "192.168.14.19", False, 5500 +selectedSite.AddIPAccessRule "192.168.14.18", False, 5501 +selectedSite.AddIPAccessRule "192.168.14.17", False, 5502 +selectedSite.AddIPAccessRule "192.168.14.16", False, 5503 +selectedSite.AddIPAccessRule "192.168.14.15", False, 5504 +selectedSite.AddIPAccessRule "192.168.14.14", False, 5505 +selectedSite.AddIPAccessRule "192.168.14.13", False, 5506 +selectedSite.AddIPAccessRule "192.168.14.12", False, 5507 +selectedSite.AddIPAccessRule "192.168.14.11", False, 5508 +selectedSite.AddIPAccessRule "192.168.14.10", False, 5509 +selectedSite.AddIPAccessRule "192.168.14.9", False, 5510 +selectedSite.AddIPAccessRule "192.168.14.8", False, 5511 +selectedSite.AddIPAccessRule "192.168.14.7", False, 5512 +selectedSite.AddIPAccessRule "192.168.14.6", False, 5513 +selectedSite.AddIPAccessRule "192.168.14.5", False, 5514 +selectedSite.AddIPAccessRule "192.168.14.4", False, 5515 +selectedSite.AddIPAccessRule "192.168.14.3", False, 5516 +selectedSite.AddIPAccessRule "192.168.14.2", False, 5517 +selectedSite.AddIPAccessRule "192.168.14.1", False, 5518 +selectedSite.AddIPAccessRule "192.168.13.255", False, 5519 +selectedSite.AddIPAccessRule "192.168.13.254", False, 5520 +selectedSite.AddIPAccessRule "192.168.13.253", False, 5521 +selectedSite.AddIPAccessRule "192.168.13.252", False, 5522 +selectedSite.AddIPAccessRule "192.168.13.251", False, 5523 +selectedSite.AddIPAccessRule "192.168.13.250", False, 5524 +selectedSite.AddIPAccessRule "192.168.13.249", False, 5525 +selectedSite.AddIPAccessRule "192.168.13.248", False, 5526 +selectedSite.AddIPAccessRule "192.168.13.247", False, 5527 +selectedSite.AddIPAccessRule "192.168.13.246", False, 5528 +selectedSite.AddIPAccessRule "192.168.13.245", False, 5529 +selectedSite.AddIPAccessRule "192.168.13.244", False, 5530 +selectedSite.AddIPAccessRule "192.168.13.243", False, 5531 +selectedSite.AddIPAccessRule "192.168.13.242", False, 5532 +selectedSite.AddIPAccessRule "192.168.13.241", False, 5533 +selectedSite.AddIPAccessRule "192.168.13.240", False, 5534 +selectedSite.AddIPAccessRule "192.168.13.239", False, 5535 +selectedSite.AddIPAccessRule "192.168.13.238", False, 5536 +selectedSite.AddIPAccessRule "192.168.13.237", False, 5537 +selectedSite.AddIPAccessRule "192.168.13.236", False, 5538 +selectedSite.AddIPAccessRule "192.168.13.235", False, 5539 +selectedSite.AddIPAccessRule "192.168.13.234", False, 5540 +selectedSite.AddIPAccessRule "192.168.13.233", False, 5541 +selectedSite.AddIPAccessRule "192.168.13.232", False, 5542 +selectedSite.AddIPAccessRule "192.168.13.231", False, 5543 +selectedSite.AddIPAccessRule "192.168.13.230", False, 5544 +selectedSite.AddIPAccessRule "192.168.13.229", False, 5545 +selectedSite.AddIPAccessRule "192.168.13.228", False, 5546 +selectedSite.AddIPAccessRule "192.168.13.227", False, 5547 +selectedSite.AddIPAccessRule "192.168.13.226", False, 5548 +selectedSite.AddIPAccessRule "192.168.13.225", False, 5549 +selectedSite.AddIPAccessRule "192.168.13.224", False, 5550 +selectedSite.AddIPAccessRule "192.168.13.223", False, 5551 +selectedSite.AddIPAccessRule "192.168.13.222", False, 5552 +selectedSite.AddIPAccessRule "192.168.13.221", False, 5553 +selectedSite.AddIPAccessRule "192.168.13.220", False, 5554 +selectedSite.AddIPAccessRule "192.168.13.219", False, 5555 +selectedSite.AddIPAccessRule "192.168.13.218", False, 5556 +selectedSite.AddIPAccessRule "192.168.13.217", False, 5557 +selectedSite.AddIPAccessRule "192.168.13.216", False, 5558 +selectedSite.AddIPAccessRule "192.168.13.215", False, 5559 +selectedSite.AddIPAccessRule "192.168.13.214", False, 5560 +selectedSite.AddIPAccessRule "192.168.13.213", False, 5561 +selectedSite.AddIPAccessRule "192.168.13.212", False, 5562 +selectedSite.AddIPAccessRule "192.168.13.211", False, 5563 +selectedSite.AddIPAccessRule "192.168.13.210", False, 5564 +selectedSite.AddIPAccessRule "192.168.13.209", False, 5565 +selectedSite.AddIPAccessRule "192.168.13.208", False, 5566 +selectedSite.AddIPAccessRule "192.168.13.207", False, 5567 +selectedSite.AddIPAccessRule "192.168.13.206", False, 5568 +selectedSite.AddIPAccessRule "192.168.13.205", False, 5569 +selectedSite.AddIPAccessRule "192.168.13.204", False, 5570 +selectedSite.AddIPAccessRule "192.168.13.203", False, 5571 +selectedSite.AddIPAccessRule "192.168.13.202", False, 5572 +selectedSite.AddIPAccessRule "192.168.13.201", False, 5573 +selectedSite.AddIPAccessRule "192.168.13.200", False, 5574 +selectedSite.AddIPAccessRule "192.168.13.199", False, 5575 +selectedSite.AddIPAccessRule "192.168.13.198", False, 5576 +selectedSite.AddIPAccessRule "192.168.13.197", False, 5577 +selectedSite.AddIPAccessRule "192.168.13.196", False, 5578 +selectedSite.AddIPAccessRule "192.168.13.195", False, 5579 +selectedSite.AddIPAccessRule "192.168.13.194", False, 5580 +selectedSite.AddIPAccessRule "192.168.13.193", False, 5581 +selectedSite.AddIPAccessRule "192.168.13.192", False, 5582 +selectedSite.AddIPAccessRule "192.168.13.191", False, 5583 +selectedSite.AddIPAccessRule "192.168.13.190", False, 5584 +selectedSite.AddIPAccessRule "192.168.13.189", False, 5585 +selectedSite.AddIPAccessRule "192.168.13.188", False, 5586 +selectedSite.AddIPAccessRule "192.168.13.187", False, 5587 +selectedSite.AddIPAccessRule "192.168.13.186", False, 5588 +selectedSite.AddIPAccessRule "192.168.13.185", False, 5589 +selectedSite.AddIPAccessRule "192.168.13.184", False, 5590 +selectedSite.AddIPAccessRule "192.168.13.183", False, 5591 +selectedSite.AddIPAccessRule "192.168.13.182", False, 5592 +selectedSite.AddIPAccessRule "192.168.13.181", False, 5593 +selectedSite.AddIPAccessRule "192.168.13.180", False, 5594 +selectedSite.AddIPAccessRule "192.168.13.179", False, 5595 +selectedSite.AddIPAccessRule "192.168.13.178", False, 5596 +selectedSite.AddIPAccessRule "192.168.13.177", False, 5597 +selectedSite.AddIPAccessRule "192.168.13.176", False, 5598 +selectedSite.AddIPAccessRule "192.168.13.175", False, 5599 +selectedSite.AddIPAccessRule "192.168.13.174", False, 5600 +selectedSite.AddIPAccessRule "192.168.13.173", False, 5601 +selectedSite.AddIPAccessRule "192.168.13.172", False, 5602 +selectedSite.AddIPAccessRule "192.168.13.171", False, 5603 +selectedSite.AddIPAccessRule "192.168.13.170", False, 5604 +selectedSite.AddIPAccessRule "192.168.13.169", False, 5605 +selectedSite.AddIPAccessRule "192.168.13.168", False, 5606 +selectedSite.AddIPAccessRule "192.168.13.167", False, 5607 +selectedSite.AddIPAccessRule "192.168.13.166", False, 5608 +selectedSite.AddIPAccessRule "192.168.13.165", False, 5609 +selectedSite.AddIPAccessRule "192.168.13.164", False, 5610 +selectedSite.AddIPAccessRule "192.168.13.163", False, 5611 +selectedSite.AddIPAccessRule "192.168.13.162", False, 5612 +selectedSite.AddIPAccessRule "192.168.13.161", False, 5613 +selectedSite.AddIPAccessRule "192.168.13.160", False, 5614 +selectedSite.AddIPAccessRule "192.168.13.159", False, 5615 +selectedSite.AddIPAccessRule "192.168.13.158", False, 5616 +selectedSite.AddIPAccessRule "192.168.13.157", False, 5617 +selectedSite.AddIPAccessRule "192.168.13.156", False, 5618 +selectedSite.AddIPAccessRule "192.168.13.155", False, 5619 +selectedSite.AddIPAccessRule "192.168.13.154", False, 5620 +selectedSite.AddIPAccessRule "192.168.13.153", False, 5621 +selectedSite.AddIPAccessRule "192.168.13.152", False, 5622 +selectedSite.AddIPAccessRule "192.168.13.151", False, 5623 +selectedSite.AddIPAccessRule "192.168.13.150", False, 5624 +selectedSite.AddIPAccessRule "192.168.13.149", False, 5625 +selectedSite.AddIPAccessRule "192.168.13.148", False, 5626 +selectedSite.AddIPAccessRule "192.168.13.147", False, 5627 +selectedSite.AddIPAccessRule "192.168.13.146", False, 5628 +selectedSite.AddIPAccessRule "192.168.13.145", False, 5629 +selectedSite.AddIPAccessRule "192.168.13.144", False, 5630 +selectedSite.AddIPAccessRule "192.168.13.143", False, 5631 +selectedSite.AddIPAccessRule "192.168.13.142", False, 5632 +selectedSite.AddIPAccessRule "192.168.13.141", False, 5633 +selectedSite.AddIPAccessRule "192.168.13.140", False, 5634 +selectedSite.AddIPAccessRule "192.168.13.139", False, 5635 +selectedSite.AddIPAccessRule "192.168.13.138", False, 5636 +selectedSite.AddIPAccessRule "192.168.13.137", False, 5637 +selectedSite.AddIPAccessRule "192.168.13.136", False, 5638 +selectedSite.AddIPAccessRule "192.168.13.135", False, 5639 +selectedSite.AddIPAccessRule "192.168.13.134", False, 5640 +selectedSite.AddIPAccessRule "192.168.13.133", False, 5641 +selectedSite.AddIPAccessRule "192.168.13.132", False, 5642 +selectedSite.AddIPAccessRule "192.168.13.131", False, 5643 +selectedSite.AddIPAccessRule "192.168.13.130", False, 5644 +selectedSite.AddIPAccessRule "192.168.13.129", False, 5645 +selectedSite.AddIPAccessRule "192.168.13.128", False, 5646 +selectedSite.AddIPAccessRule "192.168.13.127", False, 5647 +selectedSite.AddIPAccessRule "192.168.13.126", False, 5648 +selectedSite.AddIPAccessRule "192.168.13.125", False, 5649 +selectedSite.AddIPAccessRule "192.168.13.124", False, 5650 +selectedSite.AddIPAccessRule "192.168.13.123", False, 5651 +selectedSite.AddIPAccessRule "192.168.13.122", False, 5652 +selectedSite.AddIPAccessRule "192.168.13.121", False, 5653 +selectedSite.AddIPAccessRule "192.168.13.120", False, 5654 +selectedSite.AddIPAccessRule "192.168.13.119", False, 5655 +selectedSite.AddIPAccessRule "192.168.13.118", False, 5656 +selectedSite.AddIPAccessRule "192.168.13.117", False, 5657 +selectedSite.AddIPAccessRule "192.168.13.116", False, 5658 +selectedSite.AddIPAccessRule "192.168.13.115", False, 5659 +selectedSite.AddIPAccessRule "192.168.13.114", False, 5660 +selectedSite.AddIPAccessRule "192.168.13.113", False, 5661 +selectedSite.AddIPAccessRule "192.168.13.112", False, 5662 +selectedSite.AddIPAccessRule "192.168.13.111", False, 5663 +selectedSite.AddIPAccessRule "192.168.13.110", False, 5664 +selectedSite.AddIPAccessRule "192.168.13.109", False, 5665 +selectedSite.AddIPAccessRule "192.168.13.108", False, 5666 +selectedSite.AddIPAccessRule "192.168.13.107", False, 5667 +selectedSite.AddIPAccessRule "192.168.13.106", False, 5668 +selectedSite.AddIPAccessRule "192.168.13.105", False, 5669 +selectedSite.AddIPAccessRule "192.168.13.104", False, 5670 +selectedSite.AddIPAccessRule "192.168.13.103", False, 5671 +selectedSite.AddIPAccessRule "192.168.13.102", False, 5672 +selectedSite.AddIPAccessRule "192.168.13.101", False, 5673 +selectedSite.AddIPAccessRule "192.168.13.100", False, 5674 +selectedSite.AddIPAccessRule "192.168.13.99", False, 5675 +selectedSite.AddIPAccessRule "192.168.13.98", False, 5676 +selectedSite.AddIPAccessRule "192.168.13.97", False, 5677 +selectedSite.AddIPAccessRule "192.168.13.96", False, 5678 +selectedSite.AddIPAccessRule "192.168.13.95", False, 5679 +selectedSite.AddIPAccessRule "192.168.13.94", False, 5680 +selectedSite.AddIPAccessRule "192.168.13.93", False, 5681 +selectedSite.AddIPAccessRule "192.168.13.92", False, 5682 +selectedSite.AddIPAccessRule "192.168.13.91", False, 5683 +selectedSite.AddIPAccessRule "192.168.13.90", False, 5684 +selectedSite.AddIPAccessRule "192.168.13.89", False, 5685 +selectedSite.AddIPAccessRule "192.168.13.88", False, 5686 +selectedSite.AddIPAccessRule "192.168.13.87", False, 5687 +selectedSite.AddIPAccessRule "192.168.13.86", False, 5688 +selectedSite.AddIPAccessRule "192.168.13.85", False, 5689 +selectedSite.AddIPAccessRule "192.168.13.84", False, 5690 +selectedSite.AddIPAccessRule "192.168.13.83", False, 5691 +selectedSite.AddIPAccessRule "192.168.13.82", False, 5692 +selectedSite.AddIPAccessRule "192.168.13.81", False, 5693 +selectedSite.AddIPAccessRule "192.168.13.80", False, 5694 +selectedSite.AddIPAccessRule "192.168.13.79", False, 5695 +selectedSite.AddIPAccessRule "192.168.13.78", False, 5696 +selectedSite.AddIPAccessRule "192.168.13.77", False, 5697 +selectedSite.AddIPAccessRule "192.168.13.76", False, 5698 +selectedSite.AddIPAccessRule "192.168.13.75", False, 5699 +selectedSite.AddIPAccessRule "192.168.13.74", False, 5700 +selectedSite.AddIPAccessRule "192.168.13.73", False, 5701 +selectedSite.AddIPAccessRule "192.168.13.72", False, 5702 +selectedSite.AddIPAccessRule "192.168.13.71", False, 5703 +selectedSite.AddIPAccessRule "192.168.13.70", False, 5704 +selectedSite.AddIPAccessRule "192.168.13.69", False, 5705 +selectedSite.AddIPAccessRule "192.168.13.68", False, 5706 +selectedSite.AddIPAccessRule "192.168.13.67", False, 5707 +selectedSite.AddIPAccessRule "192.168.13.66", False, 5708 +selectedSite.AddIPAccessRule "192.168.13.65", False, 5709 +selectedSite.AddIPAccessRule "192.168.13.64", False, 5710 +selectedSite.AddIPAccessRule "192.168.13.63", False, 5711 +selectedSite.AddIPAccessRule "192.168.13.62", False, 5712 +selectedSite.AddIPAccessRule "192.168.13.61", False, 5713 +selectedSite.AddIPAccessRule "192.168.13.60", False, 5714 +selectedSite.AddIPAccessRule "192.168.13.59", False, 5715 +selectedSite.AddIPAccessRule "192.168.13.58", False, 5716 +selectedSite.AddIPAccessRule "192.168.13.57", False, 5717 +selectedSite.AddIPAccessRule "192.168.13.56", False, 5718 +selectedSite.AddIPAccessRule "192.168.13.55", False, 5719 +selectedSite.AddIPAccessRule "192.168.13.54", False, 5720 +selectedSite.AddIPAccessRule "192.168.13.53", False, 5721 +selectedSite.AddIPAccessRule "192.168.13.52", False, 5722 +selectedSite.AddIPAccessRule "192.168.13.51", False, 5723 +selectedSite.AddIPAccessRule "192.168.13.50", False, 5724 +selectedSite.AddIPAccessRule "192.168.13.49", False, 5725 +selectedSite.AddIPAccessRule "192.168.13.48", False, 5726 +selectedSite.AddIPAccessRule "192.168.13.47", False, 5727 +selectedSite.AddIPAccessRule "192.168.13.46", False, 5728 +selectedSite.AddIPAccessRule "192.168.13.45", False, 5729 +selectedSite.AddIPAccessRule "192.168.13.44", False, 5730 +selectedSite.AddIPAccessRule "192.168.13.43", False, 5731 +selectedSite.AddIPAccessRule "192.168.13.42", False, 5732 +selectedSite.AddIPAccessRule "192.168.13.41", False, 5733 +selectedSite.AddIPAccessRule "192.168.13.40", False, 5734 +selectedSite.AddIPAccessRule "192.168.13.39", False, 5735 +selectedSite.AddIPAccessRule "192.168.13.38", False, 5736 +selectedSite.AddIPAccessRule "192.168.13.37", False, 5737 +selectedSite.AddIPAccessRule "192.168.13.36", False, 5738 +selectedSite.AddIPAccessRule "192.168.13.35", False, 5739 +selectedSite.AddIPAccessRule "192.168.13.34", False, 5740 +selectedSite.AddIPAccessRule "192.168.13.33", False, 5741 +selectedSite.AddIPAccessRule "192.168.13.32", False, 5742 +selectedSite.AddIPAccessRule "192.168.13.31", False, 5743 +selectedSite.AddIPAccessRule "192.168.13.30", False, 5744 +selectedSite.AddIPAccessRule "192.168.13.29", False, 5745 +selectedSite.AddIPAccessRule "192.168.13.28", False, 5746 +selectedSite.AddIPAccessRule "192.168.13.27", False, 5747 +selectedSite.AddIPAccessRule "192.168.13.26", False, 5748 +selectedSite.AddIPAccessRule "192.168.13.25", False, 5749 +selectedSite.AddIPAccessRule "192.168.13.24", False, 5750 +selectedSite.AddIPAccessRule "192.168.13.23", False, 5751 +selectedSite.AddIPAccessRule "192.168.13.22", False, 5752 +selectedSite.AddIPAccessRule "192.168.13.21", False, 5753 +selectedSite.AddIPAccessRule "192.168.13.20", False, 5754 +selectedSite.AddIPAccessRule "192.168.13.19", False, 5755 +selectedSite.AddIPAccessRule "192.168.13.18", False, 5756 +selectedSite.AddIPAccessRule "192.168.13.17", False, 5757 +selectedSite.AddIPAccessRule "192.168.13.16", False, 5758 +selectedSite.AddIPAccessRule "192.168.13.15", False, 5759 +selectedSite.AddIPAccessRule "192.168.13.14", False, 5760 +selectedSite.AddIPAccessRule "192.168.13.13", False, 5761 +selectedSite.AddIPAccessRule "192.168.13.12", False, 5762 +selectedSite.AddIPAccessRule "192.168.13.11", False, 5763 +selectedSite.AddIPAccessRule "192.168.13.10", False, 5764 +selectedSite.AddIPAccessRule "192.168.13.9", False, 5765 +selectedSite.AddIPAccessRule "192.168.13.8", False, 5766 +selectedSite.AddIPAccessRule "192.168.13.7", False, 5767 +selectedSite.AddIPAccessRule "192.168.13.6", False, 5768 +selectedSite.AddIPAccessRule "192.168.13.5", False, 5769 +selectedSite.AddIPAccessRule "192.168.13.4", False, 5770 +selectedSite.AddIPAccessRule "192.168.13.3", False, 5771 +selectedSite.AddIPAccessRule "192.168.13.2", False, 5772 +selectedSite.AddIPAccessRule "192.168.13.1", False, 5773 +selectedSite.AddIPAccessRule "192.168.12.255", False, 5774 +selectedSite.AddIPAccessRule "192.168.12.254", False, 5775 +selectedSite.AddIPAccessRule "192.168.12.253", False, 5776 +selectedSite.AddIPAccessRule "192.168.12.252", False, 5777 +selectedSite.AddIPAccessRule "192.168.12.251", False, 5778 +selectedSite.AddIPAccessRule "192.168.12.250", False, 5779 +selectedSite.AddIPAccessRule "192.168.12.249", False, 5780 +selectedSite.AddIPAccessRule "192.168.12.248", False, 5781 +selectedSite.AddIPAccessRule "192.168.12.247", False, 5782 +selectedSite.AddIPAccessRule "192.168.12.246", False, 5783 +selectedSite.AddIPAccessRule "192.168.12.245", False, 5784 +selectedSite.AddIPAccessRule "192.168.12.244", False, 5785 +selectedSite.AddIPAccessRule "192.168.12.243", False, 5786 +selectedSite.AddIPAccessRule "192.168.12.242", False, 5787 +selectedSite.AddIPAccessRule "192.168.12.241", False, 5788 +selectedSite.AddIPAccessRule "192.168.12.240", False, 5789 +selectedSite.AddIPAccessRule "192.168.12.239", False, 5790 +selectedSite.AddIPAccessRule "192.168.12.238", False, 5791 +selectedSite.AddIPAccessRule "192.168.12.237", False, 5792 +selectedSite.AddIPAccessRule "192.168.12.236", False, 5793 +selectedSite.AddIPAccessRule "192.168.12.235", False, 5794 +selectedSite.AddIPAccessRule "192.168.12.234", False, 5795 +selectedSite.AddIPAccessRule "192.168.12.233", False, 5796 +selectedSite.AddIPAccessRule "192.168.12.232", False, 5797 +selectedSite.AddIPAccessRule "192.168.12.231", False, 5798 +selectedSite.AddIPAccessRule "192.168.12.230", False, 5799 +selectedSite.AddIPAccessRule "192.168.12.229", False, 5800 +selectedSite.AddIPAccessRule "192.168.12.228", False, 5801 +selectedSite.AddIPAccessRule "192.168.12.227", False, 5802 +selectedSite.AddIPAccessRule "192.168.12.226", False, 5803 +selectedSite.AddIPAccessRule "192.168.12.225", False, 5804 +selectedSite.AddIPAccessRule "192.168.12.224", False, 5805 +selectedSite.AddIPAccessRule "192.168.12.223", False, 5806 +selectedSite.AddIPAccessRule "192.168.12.222", False, 5807 +selectedSite.AddIPAccessRule "192.168.12.221", False, 5808 +selectedSite.AddIPAccessRule "192.168.12.220", False, 5809 +selectedSite.AddIPAccessRule "192.168.12.219", False, 5810 +selectedSite.AddIPAccessRule "192.168.12.218", False, 5811 +selectedSite.AddIPAccessRule "192.168.12.217", False, 5812 +selectedSite.AddIPAccessRule "192.168.12.216", False, 5813 +selectedSite.AddIPAccessRule "192.168.12.215", False, 5814 +selectedSite.AddIPAccessRule "192.168.12.214", False, 5815 +selectedSite.AddIPAccessRule "192.168.12.213", False, 5816 +selectedSite.AddIPAccessRule "192.168.12.212", False, 5817 +selectedSite.AddIPAccessRule "192.168.12.211", False, 5818 +selectedSite.AddIPAccessRule "192.168.12.210", False, 5819 +selectedSite.AddIPAccessRule "192.168.12.209", False, 5820 +selectedSite.AddIPAccessRule "192.168.12.208", False, 5821 +selectedSite.AddIPAccessRule "192.168.12.207", False, 5822 +selectedSite.AddIPAccessRule "192.168.12.206", False, 5823 +selectedSite.AddIPAccessRule "192.168.12.205", False, 5824 +selectedSite.AddIPAccessRule "192.168.12.204", False, 5825 +selectedSite.AddIPAccessRule "192.168.12.203", False, 5826 +selectedSite.AddIPAccessRule "192.168.12.202", False, 5827 +selectedSite.AddIPAccessRule "192.168.12.201", False, 5828 +selectedSite.AddIPAccessRule "192.168.12.200", False, 5829 +selectedSite.AddIPAccessRule "192.168.12.199", False, 5830 +selectedSite.AddIPAccessRule "192.168.12.198", False, 5831 +selectedSite.AddIPAccessRule "192.168.12.197", False, 5832 +selectedSite.AddIPAccessRule "192.168.12.196", False, 5833 +selectedSite.AddIPAccessRule "192.168.12.195", False, 5834 +selectedSite.AddIPAccessRule "192.168.12.194", False, 5835 +selectedSite.AddIPAccessRule "192.168.12.193", False, 5836 +selectedSite.AddIPAccessRule "192.168.12.192", False, 5837 +selectedSite.AddIPAccessRule "192.168.12.191", False, 5838 +selectedSite.AddIPAccessRule "192.168.12.190", False, 5839 +selectedSite.AddIPAccessRule "192.168.12.189", False, 5840 +selectedSite.AddIPAccessRule "192.168.12.188", False, 5841 +selectedSite.AddIPAccessRule "192.168.12.187", False, 5842 +selectedSite.AddIPAccessRule "192.168.12.186", False, 5843 +selectedSite.AddIPAccessRule "192.168.12.185", False, 5844 +selectedSite.AddIPAccessRule "192.168.12.184", False, 5845 +selectedSite.AddIPAccessRule "192.168.12.183", False, 5846 +selectedSite.AddIPAccessRule "192.168.12.182", False, 5847 +selectedSite.AddIPAccessRule "192.168.12.181", False, 5848 +selectedSite.AddIPAccessRule "192.168.12.180", False, 5849 +selectedSite.AddIPAccessRule "192.168.12.179", False, 5850 +selectedSite.AddIPAccessRule "192.168.12.178", False, 5851 +selectedSite.AddIPAccessRule "192.168.12.177", False, 5852 +selectedSite.AddIPAccessRule "192.168.12.176", False, 5853 +selectedSite.AddIPAccessRule "192.168.12.175", False, 5854 +selectedSite.AddIPAccessRule "192.168.12.174", False, 5855 +selectedSite.AddIPAccessRule "192.168.12.173", False, 5856 +selectedSite.AddIPAccessRule "192.168.12.172", False, 5857 +selectedSite.AddIPAccessRule "192.168.12.171", False, 5858 +selectedSite.AddIPAccessRule "192.168.12.170", False, 5859 +selectedSite.AddIPAccessRule "192.168.12.169", False, 5860 +selectedSite.AddIPAccessRule "192.168.12.168", False, 5861 +selectedSite.AddIPAccessRule "192.168.12.167", False, 5862 +selectedSite.AddIPAccessRule "192.168.12.166", False, 5863 +selectedSite.AddIPAccessRule "192.168.12.165", False, 5864 +selectedSite.AddIPAccessRule "192.168.12.164", False, 5865 +selectedSite.AddIPAccessRule "192.168.12.163", False, 5866 +selectedSite.AddIPAccessRule "192.168.12.162", False, 5867 +selectedSite.AddIPAccessRule "192.168.12.161", False, 5868 +selectedSite.AddIPAccessRule "192.168.12.160", False, 5869 +selectedSite.AddIPAccessRule "192.168.12.159", False, 5870 +selectedSite.AddIPAccessRule "192.168.12.158", False, 5871 +selectedSite.AddIPAccessRule "192.168.12.157", False, 5872 +selectedSite.AddIPAccessRule "192.168.12.156", False, 5873 +selectedSite.AddIPAccessRule "192.168.12.155", False, 5874 +selectedSite.AddIPAccessRule "192.168.12.154", False, 5875 +selectedSite.AddIPAccessRule "192.168.12.153", False, 5876 +selectedSite.AddIPAccessRule "192.168.12.152", False, 5877 +selectedSite.AddIPAccessRule "192.168.12.151", False, 5878 +selectedSite.AddIPAccessRule "192.168.12.150", False, 5879 +selectedSite.AddIPAccessRule "192.168.12.149", False, 5880 +selectedSite.AddIPAccessRule "192.168.12.148", False, 5881 +selectedSite.AddIPAccessRule "192.168.12.147", False, 5882 +selectedSite.AddIPAccessRule "192.168.12.146", False, 5883 +selectedSite.AddIPAccessRule "192.168.12.145", False, 5884 +selectedSite.AddIPAccessRule "192.168.12.144", False, 5885 +selectedSite.AddIPAccessRule "192.168.12.143", False, 5886 +selectedSite.AddIPAccessRule "192.168.12.142", False, 5887 +selectedSite.AddIPAccessRule "192.168.12.141", False, 5888 +selectedSite.AddIPAccessRule "192.168.12.140", False, 5889 +selectedSite.AddIPAccessRule "192.168.12.139", False, 5890 +selectedSite.AddIPAccessRule "192.168.12.138", False, 5891 +selectedSite.AddIPAccessRule "192.168.12.137", False, 5892 +selectedSite.AddIPAccessRule "192.168.12.136", False, 5893 +selectedSite.AddIPAccessRule "192.168.12.135", False, 5894 +selectedSite.AddIPAccessRule "192.168.12.134", False, 5895 +selectedSite.AddIPAccessRule "192.168.12.133", False, 5896 +selectedSite.AddIPAccessRule "192.168.12.132", False, 5897 +selectedSite.AddIPAccessRule "192.168.12.131", False, 5898 +selectedSite.AddIPAccessRule "192.168.12.130", False, 5899 +selectedSite.AddIPAccessRule "192.168.12.129", False, 5900 +selectedSite.AddIPAccessRule "192.168.12.128", False, 5901 +selectedSite.AddIPAccessRule "192.168.12.127", False, 5902 +selectedSite.AddIPAccessRule "192.168.12.126", False, 5903 +selectedSite.AddIPAccessRule "192.168.12.125", False, 5904 +selectedSite.AddIPAccessRule "192.168.12.124", False, 5905 +selectedSite.AddIPAccessRule "192.168.12.123", False, 5906 +selectedSite.AddIPAccessRule "192.168.12.122", False, 5907 +selectedSite.AddIPAccessRule "192.168.12.121", False, 5908 +selectedSite.AddIPAccessRule "192.168.12.120", False, 5909 +selectedSite.AddIPAccessRule "192.168.12.119", False, 5910 +selectedSite.AddIPAccessRule "192.168.12.118", False, 5911 +selectedSite.AddIPAccessRule "192.168.12.117", False, 5912 +selectedSite.AddIPAccessRule "192.168.12.116", False, 5913 +selectedSite.AddIPAccessRule "192.168.12.115", False, 5914 +selectedSite.AddIPAccessRule "192.168.12.114", False, 5915 +selectedSite.AddIPAccessRule "192.168.12.113", False, 5916 +selectedSite.AddIPAccessRule "192.168.12.112", False, 5917 +selectedSite.AddIPAccessRule "192.168.12.111", False, 5918 +selectedSite.AddIPAccessRule "192.168.12.110", False, 5919 +selectedSite.AddIPAccessRule "192.168.12.109", False, 5920 +selectedSite.AddIPAccessRule "192.168.12.108", False, 5921 +selectedSite.AddIPAccessRule "192.168.12.107", False, 5922 +selectedSite.AddIPAccessRule "192.168.12.106", False, 5923 +selectedSite.AddIPAccessRule "192.168.12.105", False, 5924 +selectedSite.AddIPAccessRule "192.168.12.104", False, 5925 +selectedSite.AddIPAccessRule "192.168.12.103", False, 5926 +selectedSite.AddIPAccessRule "192.168.12.102", False, 5927 +selectedSite.AddIPAccessRule "192.168.12.101", False, 5928 +selectedSite.AddIPAccessRule "192.168.12.100", False, 5929 +selectedSite.AddIPAccessRule "192.168.12.99", False, 5930 +selectedSite.AddIPAccessRule "192.168.12.98", False, 5931 +selectedSite.AddIPAccessRule "192.168.12.97", False, 5932 +selectedSite.AddIPAccessRule "192.168.12.96", False, 5933 +selectedSite.AddIPAccessRule "192.168.12.95", False, 5934 +selectedSite.AddIPAccessRule "192.168.12.94", False, 5935 +selectedSite.AddIPAccessRule "192.168.12.93", False, 5936 +selectedSite.AddIPAccessRule "192.168.12.92", False, 5937 +selectedSite.AddIPAccessRule "192.168.12.91", False, 5938 +selectedSite.AddIPAccessRule "192.168.12.90", False, 5939 +selectedSite.AddIPAccessRule "192.168.12.89", False, 5940 +selectedSite.AddIPAccessRule "192.168.12.88", False, 5941 +selectedSite.AddIPAccessRule "192.168.12.87", False, 5942 +selectedSite.AddIPAccessRule "192.168.12.86", False, 5943 +selectedSite.AddIPAccessRule "192.168.12.85", False, 5944 +selectedSite.AddIPAccessRule "192.168.12.84", False, 5945 +selectedSite.AddIPAccessRule "192.168.12.83", False, 5946 +selectedSite.AddIPAccessRule "192.168.12.82", False, 5947 +selectedSite.AddIPAccessRule "192.168.12.81", False, 5948 +selectedSite.AddIPAccessRule "192.168.12.80", False, 5949 +selectedSite.AddIPAccessRule "192.168.12.79", False, 5950 +selectedSite.AddIPAccessRule "192.168.12.78", False, 5951 +selectedSite.AddIPAccessRule "192.168.12.77", False, 5952 +selectedSite.AddIPAccessRule "192.168.12.76", False, 5953 +selectedSite.AddIPAccessRule "192.168.12.75", False, 5954 +selectedSite.AddIPAccessRule "192.168.12.74", False, 5955 +selectedSite.AddIPAccessRule "192.168.12.73", False, 5956 +selectedSite.AddIPAccessRule "192.168.12.72", False, 5957 +selectedSite.AddIPAccessRule "192.168.12.71", False, 5958 +selectedSite.AddIPAccessRule "192.168.12.70", False, 5959 +selectedSite.AddIPAccessRule "192.168.12.69", False, 5960 +selectedSite.AddIPAccessRule "192.168.12.68", False, 5961 +selectedSite.AddIPAccessRule "192.168.12.67", False, 5962 +selectedSite.AddIPAccessRule "192.168.12.66", False, 5963 +selectedSite.AddIPAccessRule "192.168.12.65", False, 5964 +selectedSite.AddIPAccessRule "192.168.12.64", False, 5965 +selectedSite.AddIPAccessRule "192.168.12.63", False, 5966 +selectedSite.AddIPAccessRule "192.168.12.62", False, 5967 +selectedSite.AddIPAccessRule "192.168.12.61", False, 5968 +selectedSite.AddIPAccessRule "192.168.12.60", False, 5969 +selectedSite.AddIPAccessRule "192.168.12.59", False, 5970 +selectedSite.AddIPAccessRule "192.168.12.58", False, 5971 +selectedSite.AddIPAccessRule "192.168.12.57", False, 5972 +selectedSite.AddIPAccessRule "192.168.12.56", False, 5973 +selectedSite.AddIPAccessRule "192.168.12.55", False, 5974 +selectedSite.AddIPAccessRule "192.168.12.54", False, 5975 +selectedSite.AddIPAccessRule "192.168.12.53", False, 5976 +selectedSite.AddIPAccessRule "192.168.12.52", False, 5977 +selectedSite.AddIPAccessRule "192.168.12.51", False, 5978 +selectedSite.AddIPAccessRule "192.168.12.50", False, 5979 +selectedSite.AddIPAccessRule "192.168.12.49", False, 5980 +selectedSite.AddIPAccessRule "192.168.12.48", False, 5981 +selectedSite.AddIPAccessRule "192.168.12.47", False, 5982 +selectedSite.AddIPAccessRule "192.168.12.46", False, 5983 +selectedSite.AddIPAccessRule "192.168.12.45", False, 5984 +selectedSite.AddIPAccessRule "192.168.12.44", False, 5985 +selectedSite.AddIPAccessRule "192.168.12.43", False, 5986 +selectedSite.AddIPAccessRule "192.168.12.42", False, 5987 +selectedSite.AddIPAccessRule "192.168.12.41", False, 5988 +selectedSite.AddIPAccessRule "192.168.12.40", False, 5989 +selectedSite.AddIPAccessRule "192.168.12.39", False, 5990 +selectedSite.AddIPAccessRule "192.168.12.38", False, 5991 +selectedSite.AddIPAccessRule "192.168.12.37", False, 5992 +selectedSite.AddIPAccessRule "192.168.12.36", False, 5993 +selectedSite.AddIPAccessRule "192.168.12.35", False, 5994 +selectedSite.AddIPAccessRule "192.168.12.34", False, 5995 +selectedSite.AddIPAccessRule "192.168.12.33", False, 5996 +selectedSite.AddIPAccessRule "192.168.12.32", False, 5997 +selectedSite.AddIPAccessRule "192.168.12.31", False, 5998 +selectedSite.AddIPAccessRule "192.168.12.30", False, 5999 +selectedSite.AddIPAccessRule "192.168.12.29", False, 6000 +selectedSite.AddIPAccessRule "192.168.12.28", False, 6001 +selectedSite.AddIPAccessRule "192.168.12.27", False, 6002 +selectedSite.AddIPAccessRule "192.168.12.26", False, 6003 +selectedSite.AddIPAccessRule "192.168.12.25", False, 6004 +selectedSite.AddIPAccessRule "192.168.12.24", False, 6005 +selectedSite.AddIPAccessRule "192.168.12.23", False, 6006 +selectedSite.AddIPAccessRule "192.168.12.22", False, 6007 +selectedSite.AddIPAccessRule "192.168.12.21", False, 6008 +selectedSite.AddIPAccessRule "192.168.12.20", False, 6009 +selectedSite.AddIPAccessRule "192.168.12.19", False, 6010 +selectedSite.AddIPAccessRule "192.168.12.18", False, 6011 +selectedSite.AddIPAccessRule "192.168.12.17", False, 6012 +selectedSite.AddIPAccessRule "192.168.12.16", False, 6013 +selectedSite.AddIPAccessRule "192.168.12.15", False, 6014 +selectedSite.AddIPAccessRule "192.168.12.14", False, 6015 +selectedSite.AddIPAccessRule "192.168.12.13", False, 6016 +selectedSite.AddIPAccessRule "192.168.12.12", False, 6017 +selectedSite.AddIPAccessRule "192.168.12.11", False, 6018 +selectedSite.AddIPAccessRule "192.168.12.10", False, 6019 +selectedSite.AddIPAccessRule "192.168.12.9", False, 6020 +selectedSite.AddIPAccessRule "192.168.12.8", False, 6021 +selectedSite.AddIPAccessRule "192.168.12.7", False, 6022 +selectedSite.AddIPAccessRule "192.168.12.6", False, 6023 +selectedSite.AddIPAccessRule "192.168.12.5", False, 6024 +selectedSite.AddIPAccessRule "192.168.12.4", False, 6025 +selectedSite.AddIPAccessRule "192.168.12.3", False, 6026 +selectedSite.AddIPAccessRule "192.168.12.2", False, 6027 +selectedSite.AddIPAccessRule "192.168.12.1", False, 6028 +selectedSite.AddIPAccessRule "192.168.11.255", False, 6029 +selectedSite.AddIPAccessRule "192.168.11.254", False, 6030 +selectedSite.AddIPAccessRule "192.168.11.253", False, 6031 +selectedSite.AddIPAccessRule "192.168.11.252", False, 6032 +selectedSite.AddIPAccessRule "192.168.11.251", False, 6033 +selectedSite.AddIPAccessRule "192.168.11.250", False, 6034 +selectedSite.AddIPAccessRule "192.168.11.249", False, 6035 +selectedSite.AddIPAccessRule "192.168.11.248", False, 6036 +selectedSite.AddIPAccessRule "192.168.11.247", False, 6037 +selectedSite.AddIPAccessRule "192.168.11.246", False, 6038 +selectedSite.AddIPAccessRule "192.168.11.245", False, 6039 +selectedSite.AddIPAccessRule "192.168.11.244", False, 6040 +selectedSite.AddIPAccessRule "192.168.11.243", False, 6041 +selectedSite.AddIPAccessRule "192.168.11.242", False, 6042 +selectedSite.AddIPAccessRule "192.168.11.241", False, 6043 +selectedSite.AddIPAccessRule "192.168.11.240", False, 6044 +selectedSite.AddIPAccessRule "192.168.11.239", False, 6045 +selectedSite.AddIPAccessRule "192.168.11.238", False, 6046 +selectedSite.AddIPAccessRule "192.168.11.237", False, 6047 +selectedSite.AddIPAccessRule "192.168.11.236", False, 6048 +selectedSite.AddIPAccessRule "192.168.11.235", False, 6049 +selectedSite.AddIPAccessRule "192.168.11.234", False, 6050 +selectedSite.AddIPAccessRule "192.168.11.233", False, 6051 +selectedSite.AddIPAccessRule "192.168.11.232", False, 6052 +selectedSite.AddIPAccessRule "192.168.11.231", False, 6053 +selectedSite.AddIPAccessRule "192.168.11.230", False, 6054 +selectedSite.AddIPAccessRule "192.168.11.229", False, 6055 +selectedSite.AddIPAccessRule "192.168.11.228", False, 6056 +selectedSite.AddIPAccessRule "192.168.11.227", False, 6057 +selectedSite.AddIPAccessRule "192.168.11.226", False, 6058 +selectedSite.AddIPAccessRule "192.168.11.225", False, 6059 +selectedSite.AddIPAccessRule "192.168.11.224", False, 6060 +selectedSite.AddIPAccessRule "192.168.11.223", False, 6061 +selectedSite.AddIPAccessRule "192.168.11.222", False, 6062 +selectedSite.AddIPAccessRule "192.168.11.221", False, 6063 +selectedSite.AddIPAccessRule "192.168.11.220", False, 6064 +selectedSite.AddIPAccessRule "192.168.11.219", False, 6065 +selectedSite.AddIPAccessRule "192.168.11.218", False, 6066 +selectedSite.AddIPAccessRule "192.168.11.217", False, 6067 +selectedSite.AddIPAccessRule "192.168.11.216", False, 6068 +selectedSite.AddIPAccessRule "192.168.11.215", False, 6069 +selectedSite.AddIPAccessRule "192.168.11.214", False, 6070 +selectedSite.AddIPAccessRule "192.168.11.213", False, 6071 +selectedSite.AddIPAccessRule "192.168.11.212", False, 6072 +selectedSite.AddIPAccessRule "192.168.11.211", False, 6073 +selectedSite.AddIPAccessRule "192.168.11.210", False, 6074 +selectedSite.AddIPAccessRule "192.168.11.209", False, 6075 +selectedSite.AddIPAccessRule "192.168.11.208", False, 6076 +selectedSite.AddIPAccessRule "192.168.11.207", False, 6077 +selectedSite.AddIPAccessRule "192.168.11.206", False, 6078 +selectedSite.AddIPAccessRule "192.168.11.205", False, 6079 +selectedSite.AddIPAccessRule "192.168.11.204", False, 6080 +selectedSite.AddIPAccessRule "192.168.11.203", False, 6081 +selectedSite.AddIPAccessRule "192.168.11.202", False, 6082 +selectedSite.AddIPAccessRule "192.168.11.201", False, 6083 +selectedSite.AddIPAccessRule "192.168.11.200", False, 6084 +selectedSite.AddIPAccessRule "192.168.11.199", False, 6085 +selectedSite.AddIPAccessRule "192.168.11.198", False, 6086 +selectedSite.AddIPAccessRule "192.168.11.197", False, 6087 +selectedSite.AddIPAccessRule "192.168.11.196", False, 6088 +selectedSite.AddIPAccessRule "192.168.11.195", False, 6089 +selectedSite.AddIPAccessRule "192.168.11.194", False, 6090 +selectedSite.AddIPAccessRule "192.168.11.193", False, 6091 +selectedSite.AddIPAccessRule "192.168.11.192", False, 6092 +selectedSite.AddIPAccessRule "192.168.11.191", False, 6093 +selectedSite.AddIPAccessRule "192.168.11.190", False, 6094 +selectedSite.AddIPAccessRule "192.168.11.189", False, 6095 +selectedSite.AddIPAccessRule "192.168.11.188", False, 6096 +selectedSite.AddIPAccessRule "192.168.11.187", False, 6097 +selectedSite.AddIPAccessRule "192.168.11.186", False, 6098 +selectedSite.AddIPAccessRule "192.168.11.185", False, 6099 +selectedSite.AddIPAccessRule "192.168.11.184", False, 6100 +selectedSite.AddIPAccessRule "192.168.11.183", False, 6101 +selectedSite.AddIPAccessRule "192.168.11.182", False, 6102 +selectedSite.AddIPAccessRule "192.168.11.181", False, 6103 +selectedSite.AddIPAccessRule "192.168.11.180", False, 6104 +selectedSite.AddIPAccessRule "192.168.11.179", False, 6105 +selectedSite.AddIPAccessRule "192.168.11.178", False, 6106 +selectedSite.AddIPAccessRule "192.168.11.177", False, 6107 +selectedSite.AddIPAccessRule "192.168.11.176", False, 6108 +selectedSite.AddIPAccessRule "192.168.11.175", False, 6109 +selectedSite.AddIPAccessRule "192.168.11.174", False, 6110 +selectedSite.AddIPAccessRule "192.168.11.173", False, 6111 +selectedSite.AddIPAccessRule "192.168.11.172", False, 6112 +selectedSite.AddIPAccessRule "192.168.11.171", False, 6113 +selectedSite.AddIPAccessRule "192.168.11.170", False, 6114 +selectedSite.AddIPAccessRule "192.168.11.169", False, 6115 +selectedSite.AddIPAccessRule "192.168.11.168", False, 6116 +selectedSite.AddIPAccessRule "192.168.11.167", False, 6117 +selectedSite.AddIPAccessRule "192.168.11.166", False, 6118 +selectedSite.AddIPAccessRule "192.168.11.165", False, 6119 +selectedSite.AddIPAccessRule "192.168.11.164", False, 6120 +selectedSite.AddIPAccessRule "192.168.11.163", False, 6121 +selectedSite.AddIPAccessRule "192.168.11.162", False, 6122 +selectedSite.AddIPAccessRule "192.168.11.161", False, 6123 +selectedSite.AddIPAccessRule "192.168.11.160", False, 6124 +selectedSite.AddIPAccessRule "192.168.11.159", False, 6125 +selectedSite.AddIPAccessRule "192.168.11.158", False, 6126 +selectedSite.AddIPAccessRule "192.168.11.157", False, 6127 +selectedSite.AddIPAccessRule "192.168.11.156", False, 6128 +selectedSite.AddIPAccessRule "192.168.11.155", False, 6129 +selectedSite.AddIPAccessRule "192.168.11.154", False, 6130 +selectedSite.AddIPAccessRule "192.168.11.153", False, 6131 +selectedSite.AddIPAccessRule "192.168.11.152", False, 6132 +selectedSite.AddIPAccessRule "192.168.11.151", False, 6133 +selectedSite.AddIPAccessRule "192.168.11.150", False, 6134 +selectedSite.AddIPAccessRule "192.168.11.149", False, 6135 +selectedSite.AddIPAccessRule "192.168.11.148", False, 6136 +selectedSite.AddIPAccessRule "192.168.11.147", False, 6137 +selectedSite.AddIPAccessRule "192.168.11.146", False, 6138 +selectedSite.AddIPAccessRule "192.168.11.145", False, 6139 +selectedSite.AddIPAccessRule "192.168.11.144", False, 6140 +selectedSite.AddIPAccessRule "192.168.11.143", False, 6141 +selectedSite.AddIPAccessRule "192.168.11.142", False, 6142 +selectedSite.AddIPAccessRule "192.168.11.141", False, 6143 +selectedSite.AddIPAccessRule "192.168.11.140", False, 6144 +selectedSite.AddIPAccessRule "192.168.11.139", False, 6145 +selectedSite.AddIPAccessRule "192.168.11.138", False, 6146 +selectedSite.AddIPAccessRule "192.168.11.137", False, 6147 +selectedSite.AddIPAccessRule "192.168.11.136", False, 6148 +selectedSite.AddIPAccessRule "192.168.11.135", False, 6149 +selectedSite.AddIPAccessRule "192.168.11.134", False, 6150 +selectedSite.AddIPAccessRule "192.168.11.133", False, 6151 +selectedSite.AddIPAccessRule "192.168.11.132", False, 6152 +selectedSite.AddIPAccessRule "192.168.11.131", False, 6153 +selectedSite.AddIPAccessRule "192.168.11.130", False, 6154 +selectedSite.AddIPAccessRule "192.168.11.129", False, 6155 +selectedSite.AddIPAccessRule "192.168.11.128", False, 6156 +selectedSite.AddIPAccessRule "192.168.11.127", False, 6157 +selectedSite.AddIPAccessRule "192.168.11.126", False, 6158 +selectedSite.AddIPAccessRule "192.168.11.125", False, 6159 +selectedSite.AddIPAccessRule "192.168.11.124", False, 6160 +selectedSite.AddIPAccessRule "192.168.11.123", False, 6161 +selectedSite.AddIPAccessRule "192.168.11.122", False, 6162 +selectedSite.AddIPAccessRule "192.168.11.121", False, 6163 +selectedSite.AddIPAccessRule "192.168.11.120", False, 6164 +selectedSite.AddIPAccessRule "192.168.11.119", False, 6165 +selectedSite.AddIPAccessRule "192.168.11.118", False, 6166 +selectedSite.AddIPAccessRule "192.168.11.117", False, 6167 +selectedSite.AddIPAccessRule "192.168.11.116", False, 6168 +selectedSite.AddIPAccessRule "192.168.11.115", False, 6169 +selectedSite.AddIPAccessRule "192.168.11.114", False, 6170 +selectedSite.AddIPAccessRule "192.168.11.113", False, 6171 +selectedSite.AddIPAccessRule "192.168.11.112", False, 6172 +selectedSite.AddIPAccessRule "192.168.11.111", False, 6173 +selectedSite.AddIPAccessRule "192.168.11.110", False, 6174 +selectedSite.AddIPAccessRule "192.168.11.109", False, 6175 +selectedSite.AddIPAccessRule "192.168.11.108", False, 6176 +selectedSite.AddIPAccessRule "192.168.11.107", False, 6177 +selectedSite.AddIPAccessRule "192.168.11.106", False, 6178 +selectedSite.AddIPAccessRule "192.168.11.105", False, 6179 +selectedSite.AddIPAccessRule "192.168.11.104", False, 6180 +selectedSite.AddIPAccessRule "192.168.11.103", False, 6181 +selectedSite.AddIPAccessRule "192.168.11.102", False, 6182 +selectedSite.AddIPAccessRule "192.168.11.101", False, 6183 +selectedSite.AddIPAccessRule "192.168.11.100", False, 6184 +selectedSite.AddIPAccessRule "192.168.11.99", False, 6185 +selectedSite.AddIPAccessRule "192.168.11.98", False, 6186 +selectedSite.AddIPAccessRule "192.168.11.97", False, 6187 +selectedSite.AddIPAccessRule "192.168.11.96", False, 6188 +selectedSite.AddIPAccessRule "192.168.11.95", False, 6189 +selectedSite.AddIPAccessRule "192.168.11.94", False, 6190 +selectedSite.AddIPAccessRule "192.168.11.93", False, 6191 +selectedSite.AddIPAccessRule "192.168.11.92", False, 6192 +selectedSite.AddIPAccessRule "192.168.11.91", False, 6193 +selectedSite.AddIPAccessRule "192.168.11.90", False, 6194 +selectedSite.AddIPAccessRule "192.168.11.89", False, 6195 +selectedSite.AddIPAccessRule "192.168.11.88", False, 6196 +selectedSite.AddIPAccessRule "192.168.11.87", False, 6197 +selectedSite.AddIPAccessRule "192.168.11.86", False, 6198 +selectedSite.AddIPAccessRule "192.168.11.85", False, 6199 +selectedSite.AddIPAccessRule "192.168.11.84", False, 6200 +selectedSite.AddIPAccessRule "192.168.11.83", False, 6201 +selectedSite.AddIPAccessRule "192.168.11.82", False, 6202 +selectedSite.AddIPAccessRule "192.168.11.81", False, 6203 +selectedSite.AddIPAccessRule "192.168.11.80", False, 6204 +selectedSite.AddIPAccessRule "192.168.11.79", False, 6205 +selectedSite.AddIPAccessRule "192.168.11.78", False, 6206 +selectedSite.AddIPAccessRule "192.168.11.77", False, 6207 +selectedSite.AddIPAccessRule "192.168.11.76", False, 6208 +selectedSite.AddIPAccessRule "192.168.11.75", False, 6209 +selectedSite.AddIPAccessRule "192.168.11.74", False, 6210 +selectedSite.AddIPAccessRule "192.168.11.73", False, 6211 +selectedSite.AddIPAccessRule "192.168.11.72", False, 6212 +selectedSite.AddIPAccessRule "192.168.11.71", False, 6213 +selectedSite.AddIPAccessRule "192.168.11.70", False, 6214 +selectedSite.AddIPAccessRule "192.168.11.69", False, 6215 +selectedSite.AddIPAccessRule "192.168.11.68", False, 6216 +selectedSite.AddIPAccessRule "192.168.11.67", False, 6217 +selectedSite.AddIPAccessRule "192.168.11.66", False, 6218 +selectedSite.AddIPAccessRule "192.168.11.65", False, 6219 +selectedSite.AddIPAccessRule "192.168.11.64", False, 6220 +selectedSite.AddIPAccessRule "192.168.11.63", False, 6221 +selectedSite.AddIPAccessRule "192.168.11.62", False, 6222 +selectedSite.AddIPAccessRule "192.168.11.61", False, 6223 +selectedSite.AddIPAccessRule "192.168.11.60", False, 6224 +selectedSite.AddIPAccessRule "192.168.11.59", False, 6225 +selectedSite.AddIPAccessRule "192.168.11.58", False, 6226 +selectedSite.AddIPAccessRule "192.168.11.57", False, 6227 +selectedSite.AddIPAccessRule "192.168.11.56", False, 6228 +selectedSite.AddIPAccessRule "192.168.11.55", False, 6229 +selectedSite.AddIPAccessRule "192.168.11.54", False, 6230 +selectedSite.AddIPAccessRule "192.168.11.53", False, 6231 +selectedSite.AddIPAccessRule "192.168.11.52", False, 6232 +selectedSite.AddIPAccessRule "192.168.11.51", False, 6233 +selectedSite.AddIPAccessRule "192.168.11.50", False, 6234 +selectedSite.AddIPAccessRule "192.168.11.49", False, 6235 +selectedSite.AddIPAccessRule "192.168.11.48", False, 6236 +selectedSite.AddIPAccessRule "192.168.11.47", False, 6237 +selectedSite.AddIPAccessRule "192.168.11.46", False, 6238 +selectedSite.AddIPAccessRule "192.168.11.45", False, 6239 +selectedSite.AddIPAccessRule "192.168.11.44", False, 6240 +selectedSite.AddIPAccessRule "192.168.11.43", False, 6241 +selectedSite.AddIPAccessRule "192.168.11.42", False, 6242 +selectedSite.AddIPAccessRule "192.168.11.41", False, 6243 +selectedSite.AddIPAccessRule "192.168.11.40", False, 6244 +selectedSite.AddIPAccessRule "192.168.11.39", False, 6245 +selectedSite.AddIPAccessRule "192.168.11.38", False, 6246 +selectedSite.AddIPAccessRule "192.168.11.37", False, 6247 +selectedSite.AddIPAccessRule "192.168.11.36", False, 6248 +selectedSite.AddIPAccessRule "192.168.11.35", False, 6249 +selectedSite.AddIPAccessRule "192.168.11.34", False, 6250 +selectedSite.AddIPAccessRule "192.168.11.33", False, 6251 +selectedSite.AddIPAccessRule "192.168.11.32", False, 6252 +selectedSite.AddIPAccessRule "192.168.11.31", False, 6253 +selectedSite.AddIPAccessRule "192.168.11.30", False, 6254 +selectedSite.AddIPAccessRule "192.168.11.29", False, 6255 +selectedSite.AddIPAccessRule "192.168.11.28", False, 6256 +selectedSite.AddIPAccessRule "192.168.11.27", False, 6257 +selectedSite.AddIPAccessRule "192.168.11.26", False, 6258 +selectedSite.AddIPAccessRule "192.168.11.25", False, 6259 +selectedSite.AddIPAccessRule "192.168.11.24", False, 6260 +selectedSite.AddIPAccessRule "192.168.11.23", False, 6261 +selectedSite.AddIPAccessRule "192.168.11.22", False, 6262 +selectedSite.AddIPAccessRule "192.168.11.21", False, 6263 +selectedSite.AddIPAccessRule "192.168.11.20", False, 6264 +selectedSite.AddIPAccessRule "192.168.11.19", False, 6265 +selectedSite.AddIPAccessRule "192.168.11.18", False, 6266 +selectedSite.AddIPAccessRule "192.168.11.17", False, 6267 +selectedSite.AddIPAccessRule "192.168.11.16", False, 6268 +selectedSite.AddIPAccessRule "192.168.11.15", False, 6269 +selectedSite.AddIPAccessRule "192.168.11.14", False, 6270 +selectedSite.AddIPAccessRule "192.168.11.13", False, 6271 +selectedSite.AddIPAccessRule "192.168.11.12", False, 6272 +selectedSite.AddIPAccessRule "192.168.11.11", False, 6273 +selectedSite.AddIPAccessRule "192.168.11.10", False, 6274 +selectedSite.AddIPAccessRule "192.168.11.9", False, 6275 +selectedSite.AddIPAccessRule "192.168.11.8", False, 6276 +selectedSite.AddIPAccessRule "192.168.11.7", False, 6277 +selectedSite.AddIPAccessRule "192.168.11.6", False, 6278 +selectedSite.AddIPAccessRule "192.168.11.5", False, 6279 +selectedSite.AddIPAccessRule "192.168.11.4", False, 6280 +selectedSite.AddIPAccessRule "192.168.11.3", False, 6281 +selectedSite.AddIPAccessRule "192.168.11.2", False, 6282 +selectedSite.AddIPAccessRule "192.168.11.1", False, 6283 +selectedSite.AddIPAccessRule "192.168.10.255", False, 6284 +selectedSite.AddIPAccessRule "192.168.10.254", False, 6285 +selectedSite.AddIPAccessRule "192.168.10.253", False, 6286 +selectedSite.AddIPAccessRule "192.168.10.252", False, 6287 +selectedSite.AddIPAccessRule "192.168.10.251", False, 6288 +selectedSite.AddIPAccessRule "192.168.10.250", False, 6289 +selectedSite.AddIPAccessRule "192.168.10.249", False, 6290 +selectedSite.AddIPAccessRule "192.168.10.248", False, 6291 +selectedSite.AddIPAccessRule "192.168.10.247", False, 6292 +selectedSite.AddIPAccessRule "192.168.10.246", False, 6293 +selectedSite.AddIPAccessRule "192.168.10.245", False, 6294 +selectedSite.AddIPAccessRule "192.168.10.244", False, 6295 +selectedSite.AddIPAccessRule "192.168.10.243", False, 6296 +selectedSite.AddIPAccessRule "192.168.10.242", False, 6297 +selectedSite.AddIPAccessRule "192.168.10.241", False, 6298 +selectedSite.AddIPAccessRule "192.168.10.240", False, 6299 +selectedSite.AddIPAccessRule "192.168.10.239", False, 6300 +selectedSite.AddIPAccessRule "192.168.10.238", False, 6301 +selectedSite.AddIPAccessRule "192.168.10.237", False, 6302 +selectedSite.AddIPAccessRule "192.168.10.236", False, 6303 +selectedSite.AddIPAccessRule "192.168.10.235", False, 6304 +selectedSite.AddIPAccessRule "192.168.10.234", False, 6305 +selectedSite.AddIPAccessRule "192.168.10.233", False, 6306 +selectedSite.AddIPAccessRule "192.168.10.232", False, 6307 +selectedSite.AddIPAccessRule "192.168.10.231", False, 6308 +selectedSite.AddIPAccessRule "192.168.10.230", False, 6309 +selectedSite.AddIPAccessRule "192.168.10.229", False, 6310 +selectedSite.AddIPAccessRule "192.168.10.228", False, 6311 +selectedSite.AddIPAccessRule "192.168.10.227", False, 6312 +selectedSite.AddIPAccessRule "192.168.10.226", False, 6313 +selectedSite.AddIPAccessRule "192.168.10.225", False, 6314 +selectedSite.AddIPAccessRule "192.168.10.224", False, 6315 +selectedSite.AddIPAccessRule "192.168.10.223", False, 6316 +selectedSite.AddIPAccessRule "192.168.10.222", False, 6317 +selectedSite.AddIPAccessRule "192.168.10.221", False, 6318 +selectedSite.AddIPAccessRule "192.168.10.220", False, 6319 +selectedSite.AddIPAccessRule "192.168.10.219", False, 6320 +selectedSite.AddIPAccessRule "192.168.10.218", False, 6321 +selectedSite.AddIPAccessRule "192.168.10.217", False, 6322 +selectedSite.AddIPAccessRule "192.168.10.216", False, 6323 +selectedSite.AddIPAccessRule "192.168.10.215", False, 6324 +selectedSite.AddIPAccessRule "192.168.10.214", False, 6325 +selectedSite.AddIPAccessRule "192.168.10.213", False, 6326 +selectedSite.AddIPAccessRule "192.168.10.212", False, 6327 +selectedSite.AddIPAccessRule "192.168.10.211", False, 6328 +selectedSite.AddIPAccessRule "192.168.10.210", False, 6329 +selectedSite.AddIPAccessRule "192.168.10.209", False, 6330 +selectedSite.AddIPAccessRule "192.168.10.208", False, 6331 +selectedSite.AddIPAccessRule "192.168.10.207", False, 6332 +selectedSite.AddIPAccessRule "192.168.10.206", False, 6333 +selectedSite.AddIPAccessRule "192.168.10.205", False, 6334 +selectedSite.AddIPAccessRule "192.168.10.204", False, 6335 +selectedSite.AddIPAccessRule "192.168.10.203", False, 6336 +selectedSite.AddIPAccessRule "192.168.10.202", False, 6337 +selectedSite.AddIPAccessRule "192.168.10.201", False, 6338 +selectedSite.AddIPAccessRule "192.168.10.200", False, 6339 +selectedSite.AddIPAccessRule "192.168.10.199", False, 6340 +selectedSite.AddIPAccessRule "192.168.10.198", False, 6341 +selectedSite.AddIPAccessRule "192.168.10.197", False, 6342 +selectedSite.AddIPAccessRule "192.168.10.196", False, 6343 +selectedSite.AddIPAccessRule "192.168.10.195", False, 6344 +selectedSite.AddIPAccessRule "192.168.10.194", False, 6345 +selectedSite.AddIPAccessRule "192.168.10.193", False, 6346 +selectedSite.AddIPAccessRule "192.168.10.192", False, 6347 +selectedSite.AddIPAccessRule "192.168.10.191", False, 6348 +selectedSite.AddIPAccessRule "192.168.10.190", False, 6349 +selectedSite.AddIPAccessRule "192.168.10.189", False, 6350 +selectedSite.AddIPAccessRule "192.168.10.188", False, 6351 +selectedSite.AddIPAccessRule "192.168.10.187", False, 6352 +selectedSite.AddIPAccessRule "192.168.10.186", False, 6353 +selectedSite.AddIPAccessRule "192.168.10.185", False, 6354 +selectedSite.AddIPAccessRule "192.168.10.184", False, 6355 +selectedSite.AddIPAccessRule "192.168.10.183", False, 6356 +selectedSite.AddIPAccessRule "192.168.10.182", False, 6357 +selectedSite.AddIPAccessRule "192.168.10.181", False, 6358 +selectedSite.AddIPAccessRule "192.168.10.180", False, 6359 +selectedSite.AddIPAccessRule "192.168.10.179", False, 6360 +selectedSite.AddIPAccessRule "192.168.10.178", False, 6361 +selectedSite.AddIPAccessRule "192.168.10.177", False, 6362 +selectedSite.AddIPAccessRule "192.168.10.176", False, 6363 +selectedSite.AddIPAccessRule "192.168.10.175", False, 6364 +selectedSite.AddIPAccessRule "192.168.10.174", False, 6365 +selectedSite.AddIPAccessRule "192.168.10.173", False, 6366 +selectedSite.AddIPAccessRule "192.168.10.172", False, 6367 +selectedSite.AddIPAccessRule "192.168.10.171", False, 6368 +selectedSite.AddIPAccessRule "192.168.10.170", False, 6369 +selectedSite.AddIPAccessRule "192.168.10.169", False, 6370 +selectedSite.AddIPAccessRule "192.168.10.168", False, 6371 +selectedSite.AddIPAccessRule "192.168.10.167", False, 6372 +selectedSite.AddIPAccessRule "192.168.10.166", False, 6373 +selectedSite.AddIPAccessRule "192.168.10.165", False, 6374 +selectedSite.AddIPAccessRule "192.168.10.164", False, 6375 +selectedSite.AddIPAccessRule "192.168.10.163", False, 6376 +selectedSite.AddIPAccessRule "192.168.10.162", False, 6377 +selectedSite.AddIPAccessRule "192.168.10.161", False, 6378 +selectedSite.AddIPAccessRule "192.168.10.160", False, 6379 +selectedSite.AddIPAccessRule "192.168.10.159", False, 6380 +selectedSite.AddIPAccessRule "192.168.10.158", False, 6381 +selectedSite.AddIPAccessRule "192.168.10.157", False, 6382 +selectedSite.AddIPAccessRule "192.168.10.156", False, 6383 +selectedSite.AddIPAccessRule "192.168.10.155", False, 6384 +selectedSite.AddIPAccessRule "192.168.10.154", False, 6385 +selectedSite.AddIPAccessRule "192.168.10.153", False, 6386 +selectedSite.AddIPAccessRule "192.168.10.152", False, 6387 +selectedSite.AddIPAccessRule "192.168.10.151", False, 6388 +selectedSite.AddIPAccessRule "192.168.10.150", False, 6389 +selectedSite.AddIPAccessRule "192.168.10.149", False, 6390 +selectedSite.AddIPAccessRule "192.168.10.148", False, 6391 +selectedSite.AddIPAccessRule "192.168.10.147", False, 6392 +selectedSite.AddIPAccessRule "192.168.10.146", False, 6393 +selectedSite.AddIPAccessRule "192.168.10.145", False, 6394 +selectedSite.AddIPAccessRule "192.168.10.144", False, 6395 +selectedSite.AddIPAccessRule "192.168.10.143", False, 6396 +selectedSite.AddIPAccessRule "192.168.10.142", False, 6397 +selectedSite.AddIPAccessRule "192.168.10.141", False, 6398 +selectedSite.AddIPAccessRule "192.168.10.140", False, 6399 +selectedSite.AddIPAccessRule "192.168.10.139", False, 6400 +selectedSite.AddIPAccessRule "192.168.10.138", False, 6401 +selectedSite.AddIPAccessRule "192.168.10.137", False, 6402 +selectedSite.AddIPAccessRule "192.168.10.136", False, 6403 +selectedSite.AddIPAccessRule "192.168.10.135", False, 6404 +selectedSite.AddIPAccessRule "192.168.10.134", False, 6405 +selectedSite.AddIPAccessRule "192.168.10.133", False, 6406 +selectedSite.AddIPAccessRule "192.168.10.132", False, 6407 +selectedSite.AddIPAccessRule "192.168.10.131", False, 6408 +selectedSite.AddIPAccessRule "192.168.10.130", False, 6409 +selectedSite.AddIPAccessRule "192.168.10.129", False, 6410 +selectedSite.AddIPAccessRule "192.168.10.128", False, 6411 +selectedSite.AddIPAccessRule "192.168.10.127", False, 6412 +selectedSite.AddIPAccessRule "192.168.10.126", False, 6413 +selectedSite.AddIPAccessRule "192.168.10.125", False, 6414 +selectedSite.AddIPAccessRule "192.168.10.124", False, 6415 +selectedSite.AddIPAccessRule "192.168.10.123", False, 6416 +selectedSite.AddIPAccessRule "192.168.10.122", False, 6417 +selectedSite.AddIPAccessRule "192.168.10.121", False, 6418 +selectedSite.AddIPAccessRule "192.168.10.120", False, 6419 +selectedSite.AddIPAccessRule "192.168.10.119", False, 6420 +selectedSite.AddIPAccessRule "192.168.10.118", False, 6421 +selectedSite.AddIPAccessRule "192.168.10.117", False, 6422 +selectedSite.AddIPAccessRule "192.168.10.116", False, 6423 +selectedSite.AddIPAccessRule "192.168.10.115", False, 6424 +selectedSite.AddIPAccessRule "192.168.10.114", False, 6425 +selectedSite.AddIPAccessRule "192.168.10.113", False, 6426 +selectedSite.AddIPAccessRule "192.168.10.112", False, 6427 +selectedSite.AddIPAccessRule "192.168.10.111", False, 6428 +selectedSite.AddIPAccessRule "192.168.10.110", False, 6429 +selectedSite.AddIPAccessRule "192.168.10.109", False, 6430 +selectedSite.AddIPAccessRule "192.168.10.108", False, 6431 +selectedSite.AddIPAccessRule "192.168.10.107", False, 6432 +selectedSite.AddIPAccessRule "192.168.10.106", False, 6433 +selectedSite.AddIPAccessRule "192.168.10.105", False, 6434 +selectedSite.AddIPAccessRule "192.168.10.104", False, 6435 +selectedSite.AddIPAccessRule "192.168.10.103", False, 6436 +selectedSite.AddIPAccessRule "192.168.10.102", False, 6437 +selectedSite.AddIPAccessRule "192.168.10.101", False, 6438 +selectedSite.AddIPAccessRule "192.168.10.100", False, 6439 +selectedSite.AddIPAccessRule "192.168.10.99", False, 6440 +selectedSite.AddIPAccessRule "192.168.10.98", False, 6441 +selectedSite.AddIPAccessRule "192.168.10.97", False, 6442 +selectedSite.AddIPAccessRule "192.168.10.96", False, 6443 +selectedSite.AddIPAccessRule "192.168.10.95", False, 6444 +selectedSite.AddIPAccessRule "192.168.10.94", False, 6445 +selectedSite.AddIPAccessRule "192.168.10.93", False, 6446 +selectedSite.AddIPAccessRule "192.168.10.92", False, 6447 +selectedSite.AddIPAccessRule "192.168.10.91", False, 6448 +selectedSite.AddIPAccessRule "192.168.10.90", False, 6449 +selectedSite.AddIPAccessRule "192.168.10.89", False, 6450 +selectedSite.AddIPAccessRule "192.168.10.88", False, 6451 +selectedSite.AddIPAccessRule "192.168.10.87", False, 6452 +selectedSite.AddIPAccessRule "192.168.10.86", False, 6453 +selectedSite.AddIPAccessRule "192.168.10.85", False, 6454 +selectedSite.AddIPAccessRule "192.168.10.84", False, 6455 +selectedSite.AddIPAccessRule "192.168.10.83", False, 6456 +selectedSite.AddIPAccessRule "192.168.10.82", False, 6457 +selectedSite.AddIPAccessRule "192.168.10.81", False, 6458 +selectedSite.AddIPAccessRule "192.168.10.80", False, 6459 +selectedSite.AddIPAccessRule "192.168.10.79", False, 6460 +selectedSite.AddIPAccessRule "192.168.10.78", False, 6461 +selectedSite.AddIPAccessRule "192.168.10.77", False, 6462 +selectedSite.AddIPAccessRule "192.168.10.76", False, 6463 +selectedSite.AddIPAccessRule "192.168.10.75", False, 6464 +selectedSite.AddIPAccessRule "192.168.10.74", False, 6465 +selectedSite.AddIPAccessRule "192.168.10.73", False, 6466 +selectedSite.AddIPAccessRule "192.168.10.72", False, 6467 +selectedSite.AddIPAccessRule "192.168.10.71", False, 6468 +selectedSite.AddIPAccessRule "192.168.10.70", False, 6469 +selectedSite.AddIPAccessRule "192.168.10.69", False, 6470 +selectedSite.AddIPAccessRule "192.168.10.68", False, 6471 +selectedSite.AddIPAccessRule "192.168.10.67", False, 6472 +selectedSite.AddIPAccessRule "192.168.10.66", False, 6473 +selectedSite.AddIPAccessRule "192.168.10.65", False, 6474 +selectedSite.AddIPAccessRule "192.168.10.64", False, 6475 +selectedSite.AddIPAccessRule "192.168.10.63", False, 6476 +selectedSite.AddIPAccessRule "192.168.10.62", False, 6477 +selectedSite.AddIPAccessRule "192.168.10.61", False, 6478 +selectedSite.AddIPAccessRule "192.168.10.60", False, 6479 +selectedSite.AddIPAccessRule "192.168.10.59", False, 6480 +selectedSite.AddIPAccessRule "192.168.10.58", False, 6481 +selectedSite.AddIPAccessRule "192.168.10.57", False, 6482 +selectedSite.AddIPAccessRule "192.168.10.56", False, 6483 +selectedSite.AddIPAccessRule "192.168.10.55", False, 6484 +selectedSite.AddIPAccessRule "192.168.10.54", False, 6485 +selectedSite.AddIPAccessRule "192.168.10.53", False, 6486 +selectedSite.AddIPAccessRule "192.168.10.52", False, 6487 +selectedSite.AddIPAccessRule "192.168.10.51", False, 6488 +selectedSite.AddIPAccessRule "192.168.10.50", False, 6489 +selectedSite.AddIPAccessRule "192.168.10.49", False, 6490 +selectedSite.AddIPAccessRule "192.168.10.48", False, 6491 +selectedSite.AddIPAccessRule "192.168.10.47", False, 6492 +selectedSite.AddIPAccessRule "192.168.10.46", False, 6493 +selectedSite.AddIPAccessRule "192.168.10.45", False, 6494 +selectedSite.AddIPAccessRule "192.168.10.44", False, 6495 +selectedSite.AddIPAccessRule "192.168.10.43", False, 6496 +selectedSite.AddIPAccessRule "192.168.10.42", False, 6497 +selectedSite.AddIPAccessRule "192.168.10.41", False, 6498 +selectedSite.AddIPAccessRule "192.168.10.40", False, 6499 +selectedSite.AddIPAccessRule "192.168.10.39", False, 6500 +selectedSite.AddIPAccessRule "192.168.10.38", False, 6501 +selectedSite.AddIPAccessRule "192.168.10.37", False, 6502 +selectedSite.AddIPAccessRule "192.168.10.36", False, 6503 +selectedSite.AddIPAccessRule "192.168.10.35", False, 6504 +selectedSite.AddIPAccessRule "192.168.10.34", False, 6505 +selectedSite.AddIPAccessRule "192.168.10.33", False, 6506 +selectedSite.AddIPAccessRule "192.168.10.32", False, 6507 +selectedSite.AddIPAccessRule "192.168.10.31", False, 6508 +selectedSite.AddIPAccessRule "192.168.10.30", False, 6509 +selectedSite.AddIPAccessRule "192.168.10.29", False, 6510 +selectedSite.AddIPAccessRule "192.168.10.28", False, 6511 +selectedSite.AddIPAccessRule "192.168.10.27", False, 6512 +selectedSite.AddIPAccessRule "192.168.10.26", False, 6513 +selectedSite.AddIPAccessRule "192.168.10.25", False, 6514 +selectedSite.AddIPAccessRule "192.168.10.24", False, 6515 +selectedSite.AddIPAccessRule "192.168.10.23", False, 6516 +selectedSite.AddIPAccessRule "192.168.10.22", False, 6517 +selectedSite.AddIPAccessRule "192.168.10.21", False, 6518 +selectedSite.AddIPAccessRule "192.168.10.20", False, 6519 +selectedSite.AddIPAccessRule "192.168.10.19", False, 6520 +selectedSite.AddIPAccessRule "192.168.10.18", False, 6521 +selectedSite.AddIPAccessRule "192.168.10.17", False, 6522 +selectedSite.AddIPAccessRule "192.168.10.16", False, 6523 +selectedSite.AddIPAccessRule "192.168.10.15", False, 6524 +selectedSite.AddIPAccessRule "192.168.10.14", False, 6525 +selectedSite.AddIPAccessRule "192.168.10.13", False, 6526 +selectedSite.AddIPAccessRule "192.168.10.12", False, 6527 +selectedSite.AddIPAccessRule "192.168.10.11", False, 6528 +selectedSite.AddIPAccessRule "192.168.10.10", False, 6529 +selectedSite.AddIPAccessRule "192.168.10.9", False, 6530 +selectedSite.AddIPAccessRule "192.168.10.8", False, 6531 +selectedSite.AddIPAccessRule "192.168.10.7", False, 6532 +selectedSite.AddIPAccessRule "192.168.10.6", False, 6533 +selectedSite.AddIPAccessRule "192.168.10.5", False, 6534 +selectedSite.AddIPAccessRule "192.168.10.4", False, 6535 +selectedSite.AddIPAccessRule "192.168.10.3", False, 6536 +selectedSite.AddIPAccessRule "192.168.10.2", False, 6537 +selectedSite.AddIPAccessRule "192.168.10.1", False, 6538 +selectedSite.AddIPAccessRule "192.168.9.255", False, 6539 +selectedSite.AddIPAccessRule "192.168.9.254", False, 6540 +selectedSite.AddIPAccessRule "192.168.9.253", False, 6541 +selectedSite.AddIPAccessRule "192.168.9.252", False, 6542 +selectedSite.AddIPAccessRule "192.168.9.251", False, 6543 +selectedSite.AddIPAccessRule "192.168.9.250", False, 6544 +selectedSite.AddIPAccessRule "192.168.9.249", False, 6545 +selectedSite.AddIPAccessRule "192.168.9.248", False, 6546 +selectedSite.AddIPAccessRule "192.168.9.247", False, 6547 +selectedSite.AddIPAccessRule "192.168.9.246", False, 6548 +selectedSite.AddIPAccessRule "192.168.9.245", False, 6549 +selectedSite.AddIPAccessRule "192.168.9.244", False, 6550 +selectedSite.AddIPAccessRule "192.168.9.243", False, 6551 +selectedSite.AddIPAccessRule "192.168.9.242", False, 6552 +selectedSite.AddIPAccessRule "192.168.9.241", False, 6553 +selectedSite.AddIPAccessRule "192.168.9.240", False, 6554 +selectedSite.AddIPAccessRule "192.168.9.239", False, 6555 +selectedSite.AddIPAccessRule "192.168.9.238", False, 6556 +selectedSite.AddIPAccessRule "192.168.9.237", False, 6557 +selectedSite.AddIPAccessRule "192.168.9.236", False, 6558 +selectedSite.AddIPAccessRule "192.168.9.235", False, 6559 +selectedSite.AddIPAccessRule "192.168.9.234", False, 6560 +selectedSite.AddIPAccessRule "192.168.9.233", False, 6561 +selectedSite.AddIPAccessRule "192.168.9.232", False, 6562 +selectedSite.AddIPAccessRule "192.168.9.231", False, 6563 +selectedSite.AddIPAccessRule "192.168.9.230", False, 6564 +selectedSite.AddIPAccessRule "192.168.9.229", False, 6565 +selectedSite.AddIPAccessRule "192.168.9.228", False, 6566 +selectedSite.AddIPAccessRule "192.168.9.227", False, 6567 +selectedSite.AddIPAccessRule "192.168.9.226", False, 6568 +selectedSite.AddIPAccessRule "192.168.9.225", False, 6569 +selectedSite.AddIPAccessRule "192.168.9.224", False, 6570 +selectedSite.AddIPAccessRule "192.168.9.223", False, 6571 +selectedSite.AddIPAccessRule "192.168.9.222", False, 6572 +selectedSite.AddIPAccessRule "192.168.9.221", False, 6573 +selectedSite.AddIPAccessRule "192.168.9.220", False, 6574 +selectedSite.AddIPAccessRule "192.168.9.219", False, 6575 +selectedSite.AddIPAccessRule "192.168.9.218", False, 6576 +selectedSite.AddIPAccessRule "192.168.9.217", False, 6577 +selectedSite.AddIPAccessRule "192.168.9.216", False, 6578 +selectedSite.AddIPAccessRule "192.168.9.215", False, 6579 +selectedSite.AddIPAccessRule "192.168.9.214", False, 6580 +selectedSite.AddIPAccessRule "192.168.9.213", False, 6581 +selectedSite.AddIPAccessRule "192.168.9.212", False, 6582 +selectedSite.AddIPAccessRule "192.168.9.211", False, 6583 +selectedSite.AddIPAccessRule "192.168.9.210", False, 6584 +selectedSite.AddIPAccessRule "192.168.9.209", False, 6585 +selectedSite.AddIPAccessRule "192.168.9.208", False, 6586 +selectedSite.AddIPAccessRule "192.168.9.207", False, 6587 +selectedSite.AddIPAccessRule "192.168.9.206", False, 6588 +selectedSite.AddIPAccessRule "192.168.9.205", False, 6589 +selectedSite.AddIPAccessRule "192.168.9.204", False, 6590 +selectedSite.AddIPAccessRule "192.168.9.203", False, 6591 +selectedSite.AddIPAccessRule "192.168.9.202", False, 6592 +selectedSite.AddIPAccessRule "192.168.9.201", False, 6593 +selectedSite.AddIPAccessRule "192.168.9.200", False, 6594 +selectedSite.AddIPAccessRule "192.168.9.199", False, 6595 +selectedSite.AddIPAccessRule "192.168.9.198", False, 6596 +selectedSite.AddIPAccessRule "192.168.9.197", False, 6597 +selectedSite.AddIPAccessRule "192.168.9.196", False, 6598 +selectedSite.AddIPAccessRule "192.168.9.195", False, 6599 +selectedSite.AddIPAccessRule "192.168.9.194", False, 6600 +selectedSite.AddIPAccessRule "192.168.9.193", False, 6601 +selectedSite.AddIPAccessRule "192.168.9.192", False, 6602 +selectedSite.AddIPAccessRule "192.168.9.191", False, 6603 +selectedSite.AddIPAccessRule "192.168.9.190", False, 6604 +selectedSite.AddIPAccessRule "192.168.9.189", False, 6605 +selectedSite.AddIPAccessRule "192.168.9.188", False, 6606 +selectedSite.AddIPAccessRule "192.168.9.187", False, 6607 +selectedSite.AddIPAccessRule "192.168.9.186", False, 6608 +selectedSite.AddIPAccessRule "192.168.9.185", False, 6609 +selectedSite.AddIPAccessRule "192.168.9.184", False, 6610 +selectedSite.AddIPAccessRule "192.168.9.183", False, 6611 +selectedSite.AddIPAccessRule "192.168.9.182", False, 6612 +selectedSite.AddIPAccessRule "192.168.9.181", False, 6613 +selectedSite.AddIPAccessRule "192.168.9.180", False, 6614 +selectedSite.AddIPAccessRule "192.168.9.179", False, 6615 +selectedSite.AddIPAccessRule "192.168.9.178", False, 6616 +selectedSite.AddIPAccessRule "192.168.9.177", False, 6617 +selectedSite.AddIPAccessRule "192.168.9.176", False, 6618 +selectedSite.AddIPAccessRule "192.168.9.175", False, 6619 +selectedSite.AddIPAccessRule "192.168.9.174", False, 6620 +selectedSite.AddIPAccessRule "192.168.9.173", False, 6621 +selectedSite.AddIPAccessRule "192.168.9.172", False, 6622 +selectedSite.AddIPAccessRule "192.168.9.171", False, 6623 +selectedSite.AddIPAccessRule "192.168.9.170", False, 6624 +selectedSite.AddIPAccessRule "192.168.9.169", False, 6625 +selectedSite.AddIPAccessRule "192.168.9.168", False, 6626 +selectedSite.AddIPAccessRule "192.168.9.167", False, 6627 +selectedSite.AddIPAccessRule "192.168.9.166", False, 6628 +selectedSite.AddIPAccessRule "192.168.9.165", False, 6629 +selectedSite.AddIPAccessRule "192.168.9.164", False, 6630 +selectedSite.AddIPAccessRule "192.168.9.163", False, 6631 +selectedSite.AddIPAccessRule "192.168.9.162", False, 6632 +selectedSite.AddIPAccessRule "192.168.9.161", False, 6633 +selectedSite.AddIPAccessRule "192.168.9.160", False, 6634 +selectedSite.AddIPAccessRule "192.168.9.159", False, 6635 +selectedSite.AddIPAccessRule "192.168.9.158", False, 6636 +selectedSite.AddIPAccessRule "192.168.9.157", False, 6637 +selectedSite.AddIPAccessRule "192.168.9.156", False, 6638 +selectedSite.AddIPAccessRule "192.168.9.155", False, 6639 +selectedSite.AddIPAccessRule "192.168.9.154", False, 6640 +selectedSite.AddIPAccessRule "192.168.9.153", False, 6641 +selectedSite.AddIPAccessRule "192.168.9.152", False, 6642 +selectedSite.AddIPAccessRule "192.168.9.151", False, 6643 +selectedSite.AddIPAccessRule "192.168.9.150", False, 6644 +selectedSite.AddIPAccessRule "192.168.9.149", False, 6645 +selectedSite.AddIPAccessRule "192.168.9.148", False, 6646 +selectedSite.AddIPAccessRule "192.168.9.147", False, 6647 +selectedSite.AddIPAccessRule "192.168.9.146", False, 6648 +selectedSite.AddIPAccessRule "192.168.9.145", False, 6649 +selectedSite.AddIPAccessRule "192.168.9.144", False, 6650 +selectedSite.AddIPAccessRule "192.168.9.143", False, 6651 +selectedSite.AddIPAccessRule "192.168.9.142", False, 6652 +selectedSite.AddIPAccessRule "192.168.9.141", False, 6653 +selectedSite.AddIPAccessRule "192.168.9.140", False, 6654 +selectedSite.AddIPAccessRule "192.168.9.139", False, 6655 +selectedSite.AddIPAccessRule "192.168.9.138", False, 6656 +selectedSite.AddIPAccessRule "192.168.9.137", False, 6657 +selectedSite.AddIPAccessRule "192.168.9.136", False, 6658 +selectedSite.AddIPAccessRule "192.168.9.135", False, 6659 +selectedSite.AddIPAccessRule "192.168.9.134", False, 6660 +selectedSite.AddIPAccessRule "192.168.9.133", False, 6661 +selectedSite.AddIPAccessRule "192.168.9.132", False, 6662 +selectedSite.AddIPAccessRule "192.168.9.131", False, 6663 +selectedSite.AddIPAccessRule "192.168.9.130", False, 6664 +selectedSite.AddIPAccessRule "192.168.9.129", False, 6665 +selectedSite.AddIPAccessRule "192.168.9.128", False, 6666 +selectedSite.AddIPAccessRule "192.168.9.127", False, 6667 +selectedSite.AddIPAccessRule "192.168.9.126", False, 6668 +selectedSite.AddIPAccessRule "192.168.9.125", False, 6669 +selectedSite.AddIPAccessRule "192.168.9.124", False, 6670 +selectedSite.AddIPAccessRule "192.168.9.123", False, 6671 +selectedSite.AddIPAccessRule "192.168.9.122", False, 6672 +selectedSite.AddIPAccessRule "192.168.9.121", False, 6673 +selectedSite.AddIPAccessRule "192.168.9.120", False, 6674 +selectedSite.AddIPAccessRule "192.168.9.119", False, 6675 +selectedSite.AddIPAccessRule "192.168.9.118", False, 6676 +selectedSite.AddIPAccessRule "192.168.9.117", False, 6677 +selectedSite.AddIPAccessRule "192.168.9.116", False, 6678 +selectedSite.AddIPAccessRule "192.168.9.115", False, 6679 +selectedSite.AddIPAccessRule "192.168.9.114", False, 6680 +selectedSite.AddIPAccessRule "192.168.9.113", False, 6681 +selectedSite.AddIPAccessRule "192.168.9.112", False, 6682 +selectedSite.AddIPAccessRule "192.168.9.111", False, 6683 +selectedSite.AddIPAccessRule "192.168.9.110", False, 6684 +selectedSite.AddIPAccessRule "192.168.9.109", False, 6685 +selectedSite.AddIPAccessRule "192.168.9.108", False, 6686 +selectedSite.AddIPAccessRule "192.168.9.107", False, 6687 +selectedSite.AddIPAccessRule "192.168.9.106", False, 6688 +selectedSite.AddIPAccessRule "192.168.9.105", False, 6689 +selectedSite.AddIPAccessRule "192.168.9.104", False, 6690 +selectedSite.AddIPAccessRule "192.168.9.103", False, 6691 +selectedSite.AddIPAccessRule "192.168.9.102", False, 6692 +selectedSite.AddIPAccessRule "192.168.9.101", False, 6693 +selectedSite.AddIPAccessRule "192.168.9.100", False, 6694 +selectedSite.AddIPAccessRule "192.168.9.99", False, 6695 +selectedSite.AddIPAccessRule "192.168.9.98", False, 6696 +selectedSite.AddIPAccessRule "192.168.9.97", False, 6697 +selectedSite.AddIPAccessRule "192.168.9.96", False, 6698 +selectedSite.AddIPAccessRule "192.168.9.95", False, 6699 +selectedSite.AddIPAccessRule "192.168.9.94", False, 6700 +selectedSite.AddIPAccessRule "192.168.9.93", False, 6701 +selectedSite.AddIPAccessRule "192.168.9.92", False, 6702 +selectedSite.AddIPAccessRule "192.168.9.91", False, 6703 +selectedSite.AddIPAccessRule "192.168.9.90", False, 6704 +selectedSite.AddIPAccessRule "192.168.9.89", False, 6705 +selectedSite.AddIPAccessRule "192.168.9.88", False, 6706 +selectedSite.AddIPAccessRule "192.168.9.87", False, 6707 +selectedSite.AddIPAccessRule "192.168.9.86", False, 6708 +selectedSite.AddIPAccessRule "192.168.9.85", False, 6709 +selectedSite.AddIPAccessRule "192.168.9.84", False, 6710 +selectedSite.AddIPAccessRule "192.168.9.83", False, 6711 +selectedSite.AddIPAccessRule "192.168.9.82", False, 6712 +selectedSite.AddIPAccessRule "192.168.9.81", False, 6713 +selectedSite.AddIPAccessRule "192.168.9.80", False, 6714 +selectedSite.AddIPAccessRule "192.168.9.79", False, 6715 +selectedSite.AddIPAccessRule "192.168.9.78", False, 6716 +selectedSite.AddIPAccessRule "192.168.9.77", False, 6717 +selectedSite.AddIPAccessRule "192.168.9.76", False, 6718 +selectedSite.AddIPAccessRule "192.168.9.75", False, 6719 +selectedSite.AddIPAccessRule "192.168.9.74", False, 6720 +selectedSite.AddIPAccessRule "192.168.9.73", False, 6721 +selectedSite.AddIPAccessRule "192.168.9.72", False, 6722 +selectedSite.AddIPAccessRule "192.168.9.71", False, 6723 +selectedSite.AddIPAccessRule "192.168.9.70", False, 6724 +selectedSite.AddIPAccessRule "192.168.9.69", False, 6725 +selectedSite.AddIPAccessRule "192.168.9.68", False, 6726 +selectedSite.AddIPAccessRule "192.168.9.67", False, 6727 +selectedSite.AddIPAccessRule "192.168.9.66", False, 6728 +selectedSite.AddIPAccessRule "192.168.9.65", False, 6729 +selectedSite.AddIPAccessRule "192.168.9.64", False, 6730 +selectedSite.AddIPAccessRule "192.168.9.63", False, 6731 +selectedSite.AddIPAccessRule "192.168.9.62", False, 6732 +selectedSite.AddIPAccessRule "192.168.9.61", False, 6733 +selectedSite.AddIPAccessRule "192.168.9.60", False, 6734 +selectedSite.AddIPAccessRule "192.168.9.59", False, 6735 +selectedSite.AddIPAccessRule "192.168.9.58", False, 6736 +selectedSite.AddIPAccessRule "192.168.9.57", False, 6737 +selectedSite.AddIPAccessRule "192.168.9.56", False, 6738 +selectedSite.AddIPAccessRule "192.168.9.55", False, 6739 +selectedSite.AddIPAccessRule "192.168.9.54", False, 6740 +selectedSite.AddIPAccessRule "192.168.9.53", False, 6741 +selectedSite.AddIPAccessRule "192.168.9.52", False, 6742 +selectedSite.AddIPAccessRule "192.168.9.51", False, 6743 +selectedSite.AddIPAccessRule "192.168.9.50", False, 6744 +selectedSite.AddIPAccessRule "192.168.9.49", False, 6745 +selectedSite.AddIPAccessRule "192.168.9.48", False, 6746 +selectedSite.AddIPAccessRule "192.168.9.47", False, 6747 +selectedSite.AddIPAccessRule "192.168.9.46", False, 6748 +selectedSite.AddIPAccessRule "192.168.9.45", False, 6749 +selectedSite.AddIPAccessRule "192.168.9.44", False, 6750 +selectedSite.AddIPAccessRule "192.168.9.43", False, 6751 +selectedSite.AddIPAccessRule "192.168.9.42", False, 6752 +selectedSite.AddIPAccessRule "192.168.9.41", False, 6753 +selectedSite.AddIPAccessRule "192.168.9.40", False, 6754 +selectedSite.AddIPAccessRule "192.168.9.39", False, 6755 +selectedSite.AddIPAccessRule "192.168.9.38", False, 6756 +selectedSite.AddIPAccessRule "192.168.9.37", False, 6757 +selectedSite.AddIPAccessRule "192.168.9.36", False, 6758 +selectedSite.AddIPAccessRule "192.168.9.35", False, 6759 +selectedSite.AddIPAccessRule "192.168.9.34", False, 6760 +selectedSite.AddIPAccessRule "192.168.9.33", False, 6761 +selectedSite.AddIPAccessRule "192.168.9.32", False, 6762 +selectedSite.AddIPAccessRule "192.168.9.31", False, 6763 +selectedSite.AddIPAccessRule "192.168.9.30", False, 6764 +selectedSite.AddIPAccessRule "192.168.9.29", False, 6765 +selectedSite.AddIPAccessRule "192.168.9.28", False, 6766 +selectedSite.AddIPAccessRule "192.168.9.27", False, 6767 +selectedSite.AddIPAccessRule "192.168.9.26", False, 6768 +selectedSite.AddIPAccessRule "192.168.9.25", False, 6769 +selectedSite.AddIPAccessRule "192.168.9.24", False, 6770 +selectedSite.AddIPAccessRule "192.168.9.23", False, 6771 +selectedSite.AddIPAccessRule "192.168.9.22", False, 6772 +selectedSite.AddIPAccessRule "192.168.9.21", False, 6773 +selectedSite.AddIPAccessRule "192.168.9.20", False, 6774 +selectedSite.AddIPAccessRule "192.168.9.19", False, 6775 +selectedSite.AddIPAccessRule "192.168.9.18", False, 6776 +selectedSite.AddIPAccessRule "192.168.9.17", False, 6777 +selectedSite.AddIPAccessRule "192.168.9.16", False, 6778 +selectedSite.AddIPAccessRule "192.168.9.15", False, 6779 +selectedSite.AddIPAccessRule "192.168.9.14", False, 6780 +selectedSite.AddIPAccessRule "192.168.9.13", False, 6781 +selectedSite.AddIPAccessRule "192.168.9.12", False, 6782 +selectedSite.AddIPAccessRule "192.168.9.11", False, 6783 +selectedSite.AddIPAccessRule "192.168.9.10", False, 6784 +selectedSite.AddIPAccessRule "192.168.9.9", False, 6785 +selectedSite.AddIPAccessRule "192.168.9.8", False, 6786 +selectedSite.AddIPAccessRule "192.168.9.7", False, 6787 +selectedSite.AddIPAccessRule "192.168.9.6", False, 6788 +selectedSite.AddIPAccessRule "192.168.9.5", False, 6789 +selectedSite.AddIPAccessRule "192.168.9.4", False, 6790 +selectedSite.AddIPAccessRule "192.168.9.3", False, 6791 +selectedSite.AddIPAccessRule "192.168.9.2", False, 6792 +selectedSite.AddIPAccessRule "192.168.9.1", False, 6793 +selectedSite.AddIPAccessRule "192.168.8.255", False, 6794 +selectedSite.AddIPAccessRule "192.168.8.254", False, 6795 +selectedSite.AddIPAccessRule "192.168.8.253", False, 6796 +selectedSite.AddIPAccessRule "192.168.8.252", False, 6797 +selectedSite.AddIPAccessRule "192.168.8.251", False, 6798 +selectedSite.AddIPAccessRule "192.168.8.250", False, 6799 +selectedSite.AddIPAccessRule "192.168.8.249", False, 6800 +selectedSite.AddIPAccessRule "192.168.8.248", False, 6801 +selectedSite.AddIPAccessRule "192.168.8.247", False, 6802 +selectedSite.AddIPAccessRule "192.168.8.246", False, 6803 +selectedSite.AddIPAccessRule "192.168.8.245", False, 6804 +selectedSite.AddIPAccessRule "192.168.8.244", False, 6805 +selectedSite.AddIPAccessRule "192.168.8.243", False, 6806 +selectedSite.AddIPAccessRule "192.168.8.242", False, 6807 +selectedSite.AddIPAccessRule "192.168.8.241", False, 6808 +selectedSite.AddIPAccessRule "192.168.8.240", False, 6809 +selectedSite.AddIPAccessRule "192.168.8.239", False, 6810 +selectedSite.AddIPAccessRule "192.168.8.238", False, 6811 +selectedSite.AddIPAccessRule "192.168.8.237", False, 6812 +selectedSite.AddIPAccessRule "192.168.8.236", False, 6813 +selectedSite.AddIPAccessRule "192.168.8.235", False, 6814 +selectedSite.AddIPAccessRule "192.168.8.234", False, 6815 +selectedSite.AddIPAccessRule "192.168.8.233", False, 6816 +selectedSite.AddIPAccessRule "192.168.8.232", False, 6817 +selectedSite.AddIPAccessRule "192.168.8.231", False, 6818 +selectedSite.AddIPAccessRule "192.168.8.230", False, 6819 +selectedSite.AddIPAccessRule "192.168.8.229", False, 6820 +selectedSite.AddIPAccessRule "192.168.8.228", False, 6821 +selectedSite.AddIPAccessRule "192.168.8.227", False, 6822 +selectedSite.AddIPAccessRule "192.168.8.226", False, 6823 +selectedSite.AddIPAccessRule "192.168.8.225", False, 6824 +selectedSite.AddIPAccessRule "192.168.8.224", False, 6825 +selectedSite.AddIPAccessRule "192.168.8.223", False, 6826 +selectedSite.AddIPAccessRule "192.168.8.222", False, 6827 +selectedSite.AddIPAccessRule "192.168.8.221", False, 6828 +selectedSite.AddIPAccessRule "192.168.8.220", False, 6829 +selectedSite.AddIPAccessRule "192.168.8.219", False, 6830 +selectedSite.AddIPAccessRule "192.168.8.218", False, 6831 +selectedSite.AddIPAccessRule "192.168.8.217", False, 6832 +selectedSite.AddIPAccessRule "192.168.8.216", False, 6833 +selectedSite.AddIPAccessRule "192.168.8.215", False, 6834 +selectedSite.AddIPAccessRule "192.168.8.214", False, 6835 +selectedSite.AddIPAccessRule "192.168.8.213", False, 6836 +selectedSite.AddIPAccessRule "192.168.8.212", False, 6837 +selectedSite.AddIPAccessRule "192.168.8.211", False, 6838 +selectedSite.AddIPAccessRule "192.168.8.210", False, 6839 +selectedSite.AddIPAccessRule "192.168.8.209", False, 6840 +selectedSite.AddIPAccessRule "192.168.8.208", False, 6841 +selectedSite.AddIPAccessRule "192.168.8.207", False, 6842 +selectedSite.AddIPAccessRule "192.168.8.206", False, 6843 +selectedSite.AddIPAccessRule "192.168.8.205", False, 6844 +selectedSite.AddIPAccessRule "192.168.8.204", False, 6845 +selectedSite.AddIPAccessRule "192.168.8.203", False, 6846 +selectedSite.AddIPAccessRule "192.168.8.202", False, 6847 +selectedSite.AddIPAccessRule "192.168.8.201", False, 6848 +selectedSite.AddIPAccessRule "192.168.8.200", False, 6849 +selectedSite.AddIPAccessRule "192.168.8.199", False, 6850 +selectedSite.AddIPAccessRule "192.168.8.198", False, 6851 +selectedSite.AddIPAccessRule "192.168.8.197", False, 6852 +selectedSite.AddIPAccessRule "192.168.8.196", False, 6853 +selectedSite.AddIPAccessRule "192.168.8.195", False, 6854 +selectedSite.AddIPAccessRule "192.168.8.194", False, 6855 +selectedSite.AddIPAccessRule "192.168.8.193", False, 6856 +selectedSite.AddIPAccessRule "192.168.8.192", False, 6857 +selectedSite.AddIPAccessRule "192.168.8.191", False, 6858 +selectedSite.AddIPAccessRule "192.168.8.190", False, 6859 +selectedSite.AddIPAccessRule "192.168.8.189", False, 6860 +selectedSite.AddIPAccessRule "192.168.8.188", False, 6861 +selectedSite.AddIPAccessRule "192.168.8.187", False, 6862 +selectedSite.AddIPAccessRule "192.168.8.186", False, 6863 +selectedSite.AddIPAccessRule "192.168.8.185", False, 6864 +selectedSite.AddIPAccessRule "192.168.8.184", False, 6865 +selectedSite.AddIPAccessRule "192.168.8.183", False, 6866 +selectedSite.AddIPAccessRule "192.168.8.182", False, 6867 +selectedSite.AddIPAccessRule "192.168.8.181", False, 6868 +selectedSite.AddIPAccessRule "192.168.8.180", False, 6869 +selectedSite.AddIPAccessRule "192.168.8.179", False, 6870 +selectedSite.AddIPAccessRule "192.168.8.178", False, 6871 +selectedSite.AddIPAccessRule "192.168.8.177", False, 6872 +selectedSite.AddIPAccessRule "192.168.8.176", False, 6873 +selectedSite.AddIPAccessRule "192.168.8.175", False, 6874 +selectedSite.AddIPAccessRule "192.168.8.174", False, 6875 +selectedSite.AddIPAccessRule "192.168.8.173", False, 6876 +selectedSite.AddIPAccessRule "192.168.8.172", False, 6877 +selectedSite.AddIPAccessRule "192.168.8.171", False, 6878 +selectedSite.AddIPAccessRule "192.168.8.170", False, 6879 +selectedSite.AddIPAccessRule "192.168.8.169", False, 6880 +selectedSite.AddIPAccessRule "192.168.8.168", False, 6881 +selectedSite.AddIPAccessRule "192.168.8.167", False, 6882 +selectedSite.AddIPAccessRule "192.168.8.166", False, 6883 +selectedSite.AddIPAccessRule "192.168.8.165", False, 6884 +selectedSite.AddIPAccessRule "192.168.8.164", False, 6885 +selectedSite.AddIPAccessRule "192.168.8.163", False, 6886 +selectedSite.AddIPAccessRule "192.168.8.162", False, 6887 +selectedSite.AddIPAccessRule "192.168.8.161", False, 6888 +selectedSite.AddIPAccessRule "192.168.8.160", False, 6889 +selectedSite.AddIPAccessRule "192.168.8.159", False, 6890 +selectedSite.AddIPAccessRule "192.168.8.158", False, 6891 +selectedSite.AddIPAccessRule "192.168.8.157", False, 6892 +selectedSite.AddIPAccessRule "192.168.8.156", False, 6893 +selectedSite.AddIPAccessRule "192.168.8.155", False, 6894 +selectedSite.AddIPAccessRule "192.168.8.154", False, 6895 +selectedSite.AddIPAccessRule "192.168.8.153", False, 6896 +selectedSite.AddIPAccessRule "192.168.8.152", False, 6897 +selectedSite.AddIPAccessRule "192.168.8.151", False, 6898 +selectedSite.AddIPAccessRule "192.168.8.150", False, 6899 +selectedSite.AddIPAccessRule "192.168.8.149", False, 6900 +selectedSite.AddIPAccessRule "192.168.8.148", False, 6901 +selectedSite.AddIPAccessRule "192.168.8.147", False, 6902 +selectedSite.AddIPAccessRule "192.168.8.146", False, 6903 +selectedSite.AddIPAccessRule "192.168.8.145", False, 6904 +selectedSite.AddIPAccessRule "192.168.8.144", False, 6905 +selectedSite.AddIPAccessRule "192.168.8.143", False, 6906 +selectedSite.AddIPAccessRule "192.168.8.142", False, 6907 +selectedSite.AddIPAccessRule "192.168.8.141", False, 6908 +selectedSite.AddIPAccessRule "192.168.8.140", False, 6909 +selectedSite.AddIPAccessRule "192.168.8.139", False, 6910 +selectedSite.AddIPAccessRule "192.168.8.138", False, 6911 +selectedSite.AddIPAccessRule "192.168.8.137", False, 6912 +selectedSite.AddIPAccessRule "192.168.8.136", False, 6913 +selectedSite.AddIPAccessRule "192.168.8.135", False, 6914 +selectedSite.AddIPAccessRule "192.168.8.134", False, 6915 +selectedSite.AddIPAccessRule "192.168.8.133", False, 6916 +selectedSite.AddIPAccessRule "192.168.8.132", False, 6917 +selectedSite.AddIPAccessRule "192.168.8.131", False, 6918 +selectedSite.AddIPAccessRule "192.168.8.130", False, 6919 +selectedSite.AddIPAccessRule "192.168.8.129", False, 6920 +selectedSite.AddIPAccessRule "192.168.8.128", False, 6921 +selectedSite.AddIPAccessRule "192.168.8.127", False, 6922 +selectedSite.AddIPAccessRule "192.168.8.126", False, 6923 +selectedSite.AddIPAccessRule "192.168.8.125", False, 6924 +selectedSite.AddIPAccessRule "192.168.8.124", False, 6925 +selectedSite.AddIPAccessRule "192.168.8.123", False, 6926 +selectedSite.AddIPAccessRule "192.168.8.122", False, 6927 +selectedSite.AddIPAccessRule "192.168.8.121", False, 6928 +selectedSite.AddIPAccessRule "192.168.8.120", False, 6929 +selectedSite.AddIPAccessRule "192.168.8.119", False, 6930 +selectedSite.AddIPAccessRule "192.168.8.118", False, 6931 +selectedSite.AddIPAccessRule "192.168.8.117", False, 6932 +selectedSite.AddIPAccessRule "192.168.8.116", False, 6933 +selectedSite.AddIPAccessRule "192.168.8.115", False, 6934 +selectedSite.AddIPAccessRule "192.168.8.114", False, 6935 +selectedSite.AddIPAccessRule "192.168.8.113", False, 6936 +selectedSite.AddIPAccessRule "192.168.8.112", False, 6937 +selectedSite.AddIPAccessRule "192.168.8.111", False, 6938 +selectedSite.AddIPAccessRule "192.168.8.110", False, 6939 +selectedSite.AddIPAccessRule "192.168.8.109", False, 6940 +selectedSite.AddIPAccessRule "192.168.8.108", False, 6941 +selectedSite.AddIPAccessRule "192.168.8.107", False, 6942 +selectedSite.AddIPAccessRule "192.168.8.106", False, 6943 +selectedSite.AddIPAccessRule "192.168.8.105", False, 6944 +selectedSite.AddIPAccessRule "192.168.8.104", False, 6945 +selectedSite.AddIPAccessRule "192.168.8.103", False, 6946 +selectedSite.AddIPAccessRule "192.168.8.102", False, 6947 +selectedSite.AddIPAccessRule "192.168.8.101", False, 6948 +selectedSite.AddIPAccessRule "192.168.8.100", False, 6949 +selectedSite.AddIPAccessRule "192.168.8.99", False, 6950 +selectedSite.AddIPAccessRule "192.168.8.98", False, 6951 +selectedSite.AddIPAccessRule "192.168.8.97", False, 6952 +selectedSite.AddIPAccessRule "192.168.8.96", False, 6953 +selectedSite.AddIPAccessRule "192.168.8.95", False, 6954 +selectedSite.AddIPAccessRule "192.168.8.94", False, 6955 +selectedSite.AddIPAccessRule "192.168.8.93", False, 6956 +selectedSite.AddIPAccessRule "192.168.8.92", False, 6957 +selectedSite.AddIPAccessRule "192.168.8.91", False, 6958 +selectedSite.AddIPAccessRule "192.168.8.90", False, 6959 +selectedSite.AddIPAccessRule "192.168.8.89", False, 6960 +selectedSite.AddIPAccessRule "192.168.8.88", False, 6961 +selectedSite.AddIPAccessRule "192.168.8.87", False, 6962 +selectedSite.AddIPAccessRule "192.168.8.86", False, 6963 +selectedSite.AddIPAccessRule "192.168.8.85", False, 6964 +selectedSite.AddIPAccessRule "192.168.8.84", False, 6965 +selectedSite.AddIPAccessRule "192.168.8.83", False, 6966 +selectedSite.AddIPAccessRule "192.168.8.82", False, 6967 +selectedSite.AddIPAccessRule "192.168.8.81", False, 6968 +selectedSite.AddIPAccessRule "192.168.8.80", False, 6969 +selectedSite.AddIPAccessRule "192.168.8.79", False, 6970 +selectedSite.AddIPAccessRule "192.168.8.78", False, 6971 +selectedSite.AddIPAccessRule "192.168.8.77", False, 6972 +selectedSite.AddIPAccessRule "192.168.8.76", False, 6973 +selectedSite.AddIPAccessRule "192.168.8.75", False, 6974 +selectedSite.AddIPAccessRule "192.168.8.74", False, 6975 +selectedSite.AddIPAccessRule "192.168.8.73", False, 6976 +selectedSite.AddIPAccessRule "192.168.8.72", False, 6977 +selectedSite.AddIPAccessRule "192.168.8.71", False, 6978 +selectedSite.AddIPAccessRule "192.168.8.70", False, 6979 +selectedSite.AddIPAccessRule "192.168.8.69", False, 6980 +selectedSite.AddIPAccessRule "192.168.8.68", False, 6981 +selectedSite.AddIPAccessRule "192.168.8.67", False, 6982 +selectedSite.AddIPAccessRule "192.168.8.66", False, 6983 +selectedSite.AddIPAccessRule "192.168.8.65", False, 6984 +selectedSite.AddIPAccessRule "192.168.8.64", False, 6985 +selectedSite.AddIPAccessRule "192.168.8.63", False, 6986 +selectedSite.AddIPAccessRule "192.168.8.62", False, 6987 +selectedSite.AddIPAccessRule "192.168.8.61", False, 6988 +selectedSite.AddIPAccessRule "192.168.8.60", False, 6989 +selectedSite.AddIPAccessRule "192.168.8.59", False, 6990 +selectedSite.AddIPAccessRule "192.168.8.58", False, 6991 +selectedSite.AddIPAccessRule "192.168.8.57", False, 6992 +selectedSite.AddIPAccessRule "192.168.8.56", False, 6993 +selectedSite.AddIPAccessRule "192.168.8.55", False, 6994 +selectedSite.AddIPAccessRule "192.168.8.54", False, 6995 +selectedSite.AddIPAccessRule "192.168.8.53", False, 6996 +selectedSite.AddIPAccessRule "192.168.8.52", False, 6997 +selectedSite.AddIPAccessRule "192.168.8.51", False, 6998 +selectedSite.AddIPAccessRule "192.168.8.50", False, 6999 +selectedSite.AddIPAccessRule "192.168.8.49", False, 7000 +selectedSite.AddIPAccessRule "192.168.8.48", False, 7001 +selectedSite.AddIPAccessRule "192.168.8.47", False, 7002 +selectedSite.AddIPAccessRule "192.168.8.46", False, 7003 +selectedSite.AddIPAccessRule "192.168.8.45", False, 7004 +selectedSite.AddIPAccessRule "192.168.8.44", False, 7005 +selectedSite.AddIPAccessRule "192.168.8.43", False, 7006 +selectedSite.AddIPAccessRule "192.168.8.42", False, 7007 +selectedSite.AddIPAccessRule "192.168.8.41", False, 7008 +selectedSite.AddIPAccessRule "192.168.8.40", False, 7009 +selectedSite.AddIPAccessRule "192.168.8.39", False, 7010 +selectedSite.AddIPAccessRule "192.168.8.38", False, 7011 +selectedSite.AddIPAccessRule "192.168.8.37", False, 7012 +selectedSite.AddIPAccessRule "192.168.8.36", False, 7013 +selectedSite.AddIPAccessRule "192.168.8.35", False, 7014 +selectedSite.AddIPAccessRule "192.168.8.34", False, 7015 +selectedSite.AddIPAccessRule "192.168.8.33", False, 7016 +selectedSite.AddIPAccessRule "192.168.8.32", False, 7017 +selectedSite.AddIPAccessRule "192.168.8.31", False, 7018 +selectedSite.AddIPAccessRule "192.168.8.30", False, 7019 +selectedSite.AddIPAccessRule "192.168.8.29", False, 7020 +selectedSite.AddIPAccessRule "192.168.8.28", False, 7021 +selectedSite.AddIPAccessRule "192.168.8.27", False, 7022 +selectedSite.AddIPAccessRule "192.168.8.26", False, 7023 +selectedSite.AddIPAccessRule "192.168.8.25", False, 7024 +selectedSite.AddIPAccessRule "192.168.8.24", False, 7025 +selectedSite.AddIPAccessRule "192.168.8.23", False, 7026 +selectedSite.AddIPAccessRule "192.168.8.22", False, 7027 +selectedSite.AddIPAccessRule "192.168.8.21", False, 7028 +selectedSite.AddIPAccessRule "192.168.8.20", False, 7029 +selectedSite.AddIPAccessRule "192.168.8.19", False, 7030 +selectedSite.AddIPAccessRule "192.168.8.18", False, 7031 +selectedSite.AddIPAccessRule "192.168.8.17", False, 7032 +selectedSite.AddIPAccessRule "192.168.8.16", False, 7033 +selectedSite.AddIPAccessRule "192.168.8.15", False, 7034 +selectedSite.AddIPAccessRule "192.168.8.14", False, 7035 +selectedSite.AddIPAccessRule "192.168.8.13", False, 7036 +selectedSite.AddIPAccessRule "192.168.8.12", False, 7037 +selectedSite.AddIPAccessRule "192.168.8.11", False, 7038 +selectedSite.AddIPAccessRule "192.168.8.10", False, 7039 +selectedSite.AddIPAccessRule "192.168.8.9", False, 7040 +selectedSite.AddIPAccessRule "192.168.8.8", False, 7041 +selectedSite.AddIPAccessRule "192.168.8.7", False, 7042 +selectedSite.AddIPAccessRule "192.168.8.6", False, 7043 +selectedSite.AddIPAccessRule "192.168.8.5", False, 7044 +selectedSite.AddIPAccessRule "192.168.8.4", False, 7045 +selectedSite.AddIPAccessRule "192.168.8.3", False, 7046 +selectedSite.AddIPAccessRule "192.168.8.2", False, 7047 +selectedSite.AddIPAccessRule "192.168.8.1", False, 7048 +selectedSite.AddIPAccessRule "192.168.7.255", False, 7049 +selectedSite.AddIPAccessRule "192.168.7.254", False, 7050 +selectedSite.AddIPAccessRule "192.168.7.253", False, 7051 +selectedSite.AddIPAccessRule "192.168.7.252", False, 7052 +selectedSite.AddIPAccessRule "192.168.7.251", False, 7053 +selectedSite.AddIPAccessRule "192.168.7.250", False, 7054 +selectedSite.AddIPAccessRule "192.168.7.249", False, 7055 +selectedSite.AddIPAccessRule "192.168.7.248", False, 7056 +selectedSite.AddIPAccessRule "192.168.7.247", False, 7057 +selectedSite.AddIPAccessRule "192.168.7.246", False, 7058 +selectedSite.AddIPAccessRule "192.168.7.245", False, 7059 +selectedSite.AddIPAccessRule "192.168.7.244", False, 7060 +selectedSite.AddIPAccessRule "192.168.7.243", False, 7061 +selectedSite.AddIPAccessRule "192.168.7.242", False, 7062 +selectedSite.AddIPAccessRule "192.168.7.241", False, 7063 +selectedSite.AddIPAccessRule "192.168.7.240", False, 7064 +selectedSite.AddIPAccessRule "192.168.7.239", False, 7065 +selectedSite.AddIPAccessRule "192.168.7.238", False, 7066 +selectedSite.AddIPAccessRule "192.168.7.237", False, 7067 +selectedSite.AddIPAccessRule "192.168.7.236", False, 7068 +selectedSite.AddIPAccessRule "192.168.7.235", False, 7069 +selectedSite.AddIPAccessRule "192.168.7.234", False, 7070 +selectedSite.AddIPAccessRule "192.168.7.233", False, 7071 +selectedSite.AddIPAccessRule "192.168.7.232", False, 7072 +selectedSite.AddIPAccessRule "192.168.7.231", False, 7073 +selectedSite.AddIPAccessRule "192.168.7.230", False, 7074 +selectedSite.AddIPAccessRule "192.168.7.229", False, 7075 +selectedSite.AddIPAccessRule "192.168.7.228", False, 7076 +selectedSite.AddIPAccessRule "192.168.7.227", False, 7077 +selectedSite.AddIPAccessRule "192.168.7.226", False, 7078 +selectedSite.AddIPAccessRule "192.168.7.225", False, 7079 +selectedSite.AddIPAccessRule "192.168.7.224", False, 7080 +selectedSite.AddIPAccessRule "192.168.7.223", False, 7081 +selectedSite.AddIPAccessRule "192.168.7.222", False, 7082 +selectedSite.AddIPAccessRule "192.168.7.221", False, 7083 +selectedSite.AddIPAccessRule "192.168.7.220", False, 7084 +selectedSite.AddIPAccessRule "192.168.7.219", False, 7085 +selectedSite.AddIPAccessRule "192.168.7.218", False, 7086 +selectedSite.AddIPAccessRule "192.168.7.217", False, 7087 +selectedSite.AddIPAccessRule "192.168.7.216", False, 7088 +selectedSite.AddIPAccessRule "192.168.7.215", False, 7089 +selectedSite.AddIPAccessRule "192.168.7.214", False, 7090 +selectedSite.AddIPAccessRule "192.168.7.213", False, 7091 +selectedSite.AddIPAccessRule "192.168.7.212", False, 7092 +selectedSite.AddIPAccessRule "192.168.7.211", False, 7093 +selectedSite.AddIPAccessRule "192.168.7.210", False, 7094 +selectedSite.AddIPAccessRule "192.168.7.209", False, 7095 +selectedSite.AddIPAccessRule "192.168.7.208", False, 7096 +selectedSite.AddIPAccessRule "192.168.7.207", False, 7097 +selectedSite.AddIPAccessRule "192.168.7.206", False, 7098 +selectedSite.AddIPAccessRule "192.168.7.205", False, 7099 +selectedSite.AddIPAccessRule "192.168.7.204", False, 7100 +selectedSite.AddIPAccessRule "192.168.7.203", False, 7101 +selectedSite.AddIPAccessRule "192.168.7.202", False, 7102 +selectedSite.AddIPAccessRule "192.168.7.201", False, 7103 +selectedSite.AddIPAccessRule "192.168.7.200", False, 7104 +selectedSite.AddIPAccessRule "192.168.7.199", False, 7105 +selectedSite.AddIPAccessRule "192.168.7.198", False, 7106 +selectedSite.AddIPAccessRule "192.168.7.197", False, 7107 +selectedSite.AddIPAccessRule "192.168.7.196", False, 7108 +selectedSite.AddIPAccessRule "192.168.7.195", False, 7109 +selectedSite.AddIPAccessRule "192.168.7.194", False, 7110 +selectedSite.AddIPAccessRule "192.168.7.193", False, 7111 +selectedSite.AddIPAccessRule "192.168.7.192", False, 7112 +selectedSite.AddIPAccessRule "192.168.7.191", False, 7113 +selectedSite.AddIPAccessRule "192.168.7.190", False, 7114 +selectedSite.AddIPAccessRule "192.168.7.189", False, 7115 +selectedSite.AddIPAccessRule "192.168.7.188", False, 7116 +selectedSite.AddIPAccessRule "192.168.7.187", False, 7117 +selectedSite.AddIPAccessRule "192.168.7.186", False, 7118 +selectedSite.AddIPAccessRule "192.168.7.185", False, 7119 +selectedSite.AddIPAccessRule "192.168.7.184", False, 7120 +selectedSite.AddIPAccessRule "192.168.7.183", False, 7121 +selectedSite.AddIPAccessRule "192.168.7.182", False, 7122 +selectedSite.AddIPAccessRule "192.168.7.181", False, 7123 +selectedSite.AddIPAccessRule "192.168.7.180", False, 7124 +selectedSite.AddIPAccessRule "192.168.7.179", False, 7125 +selectedSite.AddIPAccessRule "192.168.7.178", False, 7126 +selectedSite.AddIPAccessRule "192.168.7.177", False, 7127 +selectedSite.AddIPAccessRule "192.168.7.176", False, 7128 +selectedSite.AddIPAccessRule "192.168.7.175", False, 7129 +selectedSite.AddIPAccessRule "192.168.7.174", False, 7130 +selectedSite.AddIPAccessRule "192.168.7.173", False, 7131 +selectedSite.AddIPAccessRule "192.168.7.172", False, 7132 +selectedSite.AddIPAccessRule "192.168.7.171", False, 7133 +selectedSite.AddIPAccessRule "192.168.7.170", False, 7134 +selectedSite.AddIPAccessRule "192.168.7.169", False, 7135 +selectedSite.AddIPAccessRule "192.168.7.168", False, 7136 +selectedSite.AddIPAccessRule "192.168.7.167", False, 7137 +selectedSite.AddIPAccessRule "192.168.7.166", False, 7138 +selectedSite.AddIPAccessRule "192.168.7.165", False, 7139 +selectedSite.AddIPAccessRule "192.168.7.164", False, 7140 +selectedSite.AddIPAccessRule "192.168.7.163", False, 7141 +selectedSite.AddIPAccessRule "192.168.7.162", False, 7142 +selectedSite.AddIPAccessRule "192.168.7.161", False, 7143 +selectedSite.AddIPAccessRule "192.168.7.160", False, 7144 +selectedSite.AddIPAccessRule "192.168.7.159", False, 7145 +selectedSite.AddIPAccessRule "192.168.7.158", False, 7146 +selectedSite.AddIPAccessRule "192.168.7.157", False, 7147 +selectedSite.AddIPAccessRule "192.168.7.156", False, 7148 +selectedSite.AddIPAccessRule "192.168.7.155", False, 7149 +selectedSite.AddIPAccessRule "192.168.7.154", False, 7150 +selectedSite.AddIPAccessRule "192.168.7.153", False, 7151 +selectedSite.AddIPAccessRule "192.168.7.152", False, 7152 +selectedSite.AddIPAccessRule "192.168.7.151", False, 7153 +selectedSite.AddIPAccessRule "192.168.7.150", False, 7154 +selectedSite.AddIPAccessRule "192.168.7.149", False, 7155 +selectedSite.AddIPAccessRule "192.168.7.148", False, 7156 +selectedSite.AddIPAccessRule "192.168.7.147", False, 7157 +selectedSite.AddIPAccessRule "192.168.7.146", False, 7158 +selectedSite.AddIPAccessRule "192.168.7.145", False, 7159 +selectedSite.AddIPAccessRule "192.168.7.144", False, 7160 +selectedSite.AddIPAccessRule "192.168.7.143", False, 7161 +selectedSite.AddIPAccessRule "192.168.7.142", False, 7162 +selectedSite.AddIPAccessRule "192.168.7.141", False, 7163 +selectedSite.AddIPAccessRule "192.168.7.140", False, 7164 +selectedSite.AddIPAccessRule "192.168.7.139", False, 7165 +selectedSite.AddIPAccessRule "192.168.7.138", False, 7166 +selectedSite.AddIPAccessRule "192.168.7.137", False, 7167 +selectedSite.AddIPAccessRule "192.168.7.136", False, 7168 +selectedSite.AddIPAccessRule "192.168.7.135", False, 7169 +selectedSite.AddIPAccessRule "192.168.7.134", False, 7170 +selectedSite.AddIPAccessRule "192.168.7.133", False, 7171 +selectedSite.AddIPAccessRule "192.168.7.132", False, 7172 +selectedSite.AddIPAccessRule "192.168.7.131", False, 7173 +selectedSite.AddIPAccessRule "192.168.7.130", False, 7174 +selectedSite.AddIPAccessRule "192.168.7.129", False, 7175 +selectedSite.AddIPAccessRule "192.168.7.128", False, 7176 +selectedSite.AddIPAccessRule "192.168.7.127", False, 7177 +selectedSite.AddIPAccessRule "192.168.7.126", False, 7178 +selectedSite.AddIPAccessRule "192.168.7.125", False, 7179 +selectedSite.AddIPAccessRule "192.168.7.124", False, 7180 +selectedSite.AddIPAccessRule "192.168.7.123", False, 7181 +selectedSite.AddIPAccessRule "192.168.7.122", False, 7182 +selectedSite.AddIPAccessRule "192.168.7.121", False, 7183 +selectedSite.AddIPAccessRule "192.168.7.120", False, 7184 +selectedSite.AddIPAccessRule "192.168.7.119", False, 7185 +selectedSite.AddIPAccessRule "192.168.7.118", False, 7186 +selectedSite.AddIPAccessRule "192.168.7.117", False, 7187 +selectedSite.AddIPAccessRule "192.168.7.116", False, 7188 +selectedSite.AddIPAccessRule "192.168.7.115", False, 7189 +selectedSite.AddIPAccessRule "192.168.7.114", False, 7190 +selectedSite.AddIPAccessRule "192.168.7.113", False, 7191 +selectedSite.AddIPAccessRule "192.168.7.112", False, 7192 +selectedSite.AddIPAccessRule "192.168.7.111", False, 7193 +selectedSite.AddIPAccessRule "192.168.7.110", False, 7194 +selectedSite.AddIPAccessRule "192.168.7.109", False, 7195 +selectedSite.AddIPAccessRule "192.168.7.108", False, 7196 +selectedSite.AddIPAccessRule "192.168.7.107", False, 7197 +selectedSite.AddIPAccessRule "192.168.7.106", False, 7198 +selectedSite.AddIPAccessRule "192.168.7.105", False, 7199 +selectedSite.AddIPAccessRule "192.168.7.104", False, 7200 +selectedSite.AddIPAccessRule "192.168.7.103", False, 7201 +selectedSite.AddIPAccessRule "192.168.7.102", False, 7202 +selectedSite.AddIPAccessRule "192.168.7.101", False, 7203 +selectedSite.AddIPAccessRule "192.168.7.100", False, 7204 +selectedSite.AddIPAccessRule "192.168.7.99", False, 7205 +selectedSite.AddIPAccessRule "192.168.7.98", False, 7206 +selectedSite.AddIPAccessRule "192.168.7.97", False, 7207 +selectedSite.AddIPAccessRule "192.168.7.96", False, 7208 +selectedSite.AddIPAccessRule "192.168.7.95", False, 7209 +selectedSite.AddIPAccessRule "192.168.7.94", False, 7210 +selectedSite.AddIPAccessRule "192.168.7.93", False, 7211 +selectedSite.AddIPAccessRule "192.168.7.92", False, 7212 +selectedSite.AddIPAccessRule "192.168.7.91", False, 7213 +selectedSite.AddIPAccessRule "192.168.7.90", False, 7214 +selectedSite.AddIPAccessRule "192.168.7.89", False, 7215 +selectedSite.AddIPAccessRule "192.168.7.88", False, 7216 +selectedSite.AddIPAccessRule "192.168.7.87", False, 7217 +selectedSite.AddIPAccessRule "192.168.7.86", False, 7218 +selectedSite.AddIPAccessRule "192.168.7.85", False, 7219 +selectedSite.AddIPAccessRule "192.168.7.84", False, 7220 +selectedSite.AddIPAccessRule "192.168.7.83", False, 7221 +selectedSite.AddIPAccessRule "192.168.7.82", False, 7222 +selectedSite.AddIPAccessRule "192.168.7.81", False, 7223 +selectedSite.AddIPAccessRule "192.168.7.80", False, 7224 +selectedSite.AddIPAccessRule "192.168.7.79", False, 7225 +selectedSite.AddIPAccessRule "192.168.7.78", False, 7226 +selectedSite.AddIPAccessRule "192.168.7.77", False, 7227 +selectedSite.AddIPAccessRule "192.168.7.76", False, 7228 +selectedSite.AddIPAccessRule "192.168.7.75", False, 7229 +selectedSite.AddIPAccessRule "192.168.7.74", False, 7230 +selectedSite.AddIPAccessRule "192.168.7.73", False, 7231 +selectedSite.AddIPAccessRule "192.168.7.72", False, 7232 +selectedSite.AddIPAccessRule "192.168.7.71", False, 7233 +selectedSite.AddIPAccessRule "192.168.7.70", False, 7234 +selectedSite.AddIPAccessRule "192.168.7.69", False, 7235 +selectedSite.AddIPAccessRule "192.168.7.68", False, 7236 +selectedSite.AddIPAccessRule "192.168.7.67", False, 7237 +selectedSite.AddIPAccessRule "192.168.7.66", False, 7238 +selectedSite.AddIPAccessRule "192.168.7.65", False, 7239 +selectedSite.AddIPAccessRule "192.168.7.64", False, 7240 +selectedSite.AddIPAccessRule "192.168.7.63", False, 7241 +selectedSite.AddIPAccessRule "192.168.7.62", False, 7242 +selectedSite.AddIPAccessRule "192.168.7.61", False, 7243 +selectedSite.AddIPAccessRule "192.168.7.60", False, 7244 +selectedSite.AddIPAccessRule "192.168.7.59", False, 7245 +selectedSite.AddIPAccessRule "192.168.7.58", False, 7246 +selectedSite.AddIPAccessRule "192.168.7.57", False, 7247 +selectedSite.AddIPAccessRule "192.168.7.56", False, 7248 +selectedSite.AddIPAccessRule "192.168.7.55", False, 7249 +selectedSite.AddIPAccessRule "192.168.7.54", False, 7250 +selectedSite.AddIPAccessRule "192.168.7.53", False, 7251 +selectedSite.AddIPAccessRule "192.168.7.52", False, 7252 +selectedSite.AddIPAccessRule "192.168.7.51", False, 7253 +selectedSite.AddIPAccessRule "192.168.7.50", False, 7254 +selectedSite.AddIPAccessRule "192.168.7.49", False, 7255 +selectedSite.AddIPAccessRule "192.168.7.48", False, 7256 +selectedSite.AddIPAccessRule "192.168.7.47", False, 7257 +selectedSite.AddIPAccessRule "192.168.7.46", False, 7258 +selectedSite.AddIPAccessRule "192.168.7.45", False, 7259 +selectedSite.AddIPAccessRule "192.168.7.44", False, 7260 +selectedSite.AddIPAccessRule "192.168.7.43", False, 7261 +selectedSite.AddIPAccessRule "192.168.7.42", False, 7262 +selectedSite.AddIPAccessRule "192.168.7.41", False, 7263 +selectedSite.AddIPAccessRule "192.168.7.40", False, 7264 +selectedSite.AddIPAccessRule "192.168.7.39", False, 7265 +selectedSite.AddIPAccessRule "192.168.7.38", False, 7266 +selectedSite.AddIPAccessRule "192.168.7.37", False, 7267 +selectedSite.AddIPAccessRule "192.168.7.36", False, 7268 +selectedSite.AddIPAccessRule "192.168.7.35", False, 7269 +selectedSite.AddIPAccessRule "192.168.7.34", False, 7270 +selectedSite.AddIPAccessRule "192.168.7.33", False, 7271 +selectedSite.AddIPAccessRule "192.168.7.32", False, 7272 +selectedSite.AddIPAccessRule "192.168.7.31", False, 7273 +selectedSite.AddIPAccessRule "192.168.7.30", False, 7274 +selectedSite.AddIPAccessRule "192.168.7.29", False, 7275 +selectedSite.AddIPAccessRule "192.168.7.28", False, 7276 +selectedSite.AddIPAccessRule "192.168.7.27", False, 7277 +selectedSite.AddIPAccessRule "192.168.7.26", False, 7278 +selectedSite.AddIPAccessRule "192.168.7.25", False, 7279 +selectedSite.AddIPAccessRule "192.168.7.24", False, 7280 +selectedSite.AddIPAccessRule "192.168.7.23", False, 7281 +selectedSite.AddIPAccessRule "192.168.7.22", False, 7282 +selectedSite.AddIPAccessRule "192.168.7.21", False, 7283 +selectedSite.AddIPAccessRule "192.168.7.20", False, 7284 +selectedSite.AddIPAccessRule "192.168.7.19", False, 7285 +selectedSite.AddIPAccessRule "192.168.7.18", False, 7286 +selectedSite.AddIPAccessRule "192.168.7.17", False, 7287 +selectedSite.AddIPAccessRule "192.168.7.16", False, 7288 +selectedSite.AddIPAccessRule "192.168.7.15", False, 7289 +selectedSite.AddIPAccessRule "192.168.7.14", False, 7290 +selectedSite.AddIPAccessRule "192.168.7.13", False, 7291 +selectedSite.AddIPAccessRule "192.168.7.12", False, 7292 +selectedSite.AddIPAccessRule "192.168.7.11", False, 7293 +selectedSite.AddIPAccessRule "192.168.7.10", False, 7294 +selectedSite.AddIPAccessRule "192.168.7.9", False, 7295 +selectedSite.AddIPAccessRule "192.168.7.8", False, 7296 +selectedSite.AddIPAccessRule "192.168.7.7", False, 7297 +selectedSite.AddIPAccessRule "192.168.7.6", False, 7298 +selectedSite.AddIPAccessRule "192.168.7.5", False, 7299 +selectedSite.AddIPAccessRule "192.168.7.4", False, 7300 +selectedSite.AddIPAccessRule "192.168.7.3", False, 7301 +selectedSite.AddIPAccessRule "192.168.7.2", False, 7302 +selectedSite.AddIPAccessRule "192.168.7.1", False, 7303 +selectedSite.AddIPAccessRule "192.168.6.255", False, 7304 +selectedSite.AddIPAccessRule "192.168.6.254", False, 7305 +selectedSite.AddIPAccessRule "192.168.6.253", False, 7306 +selectedSite.AddIPAccessRule "192.168.6.252", False, 7307 +selectedSite.AddIPAccessRule "192.168.6.251", False, 7308 +selectedSite.AddIPAccessRule "192.168.6.250", False, 7309 +selectedSite.AddIPAccessRule "192.168.6.249", False, 7310 +selectedSite.AddIPAccessRule "192.168.6.248", False, 7311 +selectedSite.AddIPAccessRule "192.168.6.247", False, 7312 +selectedSite.AddIPAccessRule "192.168.6.246", False, 7313 +selectedSite.AddIPAccessRule "192.168.6.245", False, 7314 +selectedSite.AddIPAccessRule "192.168.6.244", False, 7315 +selectedSite.AddIPAccessRule "192.168.6.243", False, 7316 +selectedSite.AddIPAccessRule "192.168.6.242", False, 7317 +selectedSite.AddIPAccessRule "192.168.6.241", False, 7318 +selectedSite.AddIPAccessRule "192.168.6.240", False, 7319 +selectedSite.AddIPAccessRule "192.168.6.239", False, 7320 +selectedSite.AddIPAccessRule "192.168.6.238", False, 7321 +selectedSite.AddIPAccessRule "192.168.6.237", False, 7322 +selectedSite.AddIPAccessRule "192.168.6.236", False, 7323 +selectedSite.AddIPAccessRule "192.168.6.235", False, 7324 +selectedSite.AddIPAccessRule "192.168.6.234", False, 7325 +selectedSite.AddIPAccessRule "192.168.6.233", False, 7326 +selectedSite.AddIPAccessRule "192.168.6.232", False, 7327 +selectedSite.AddIPAccessRule "192.168.6.231", False, 7328 +selectedSite.AddIPAccessRule "192.168.6.230", False, 7329 +selectedSite.AddIPAccessRule "192.168.6.229", False, 7330 +selectedSite.AddIPAccessRule "192.168.6.228", False, 7331 +selectedSite.AddIPAccessRule "192.168.6.227", False, 7332 +selectedSite.AddIPAccessRule "192.168.6.226", False, 7333 +selectedSite.AddIPAccessRule "192.168.6.225", False, 7334 +selectedSite.AddIPAccessRule "192.168.6.224", False, 7335 +selectedSite.AddIPAccessRule "192.168.6.223", False, 7336 +selectedSite.AddIPAccessRule "192.168.6.222", False, 7337 +selectedSite.AddIPAccessRule "192.168.6.221", False, 7338 +selectedSite.AddIPAccessRule "192.168.6.220", False, 7339 +selectedSite.AddIPAccessRule "192.168.6.219", False, 7340 +selectedSite.AddIPAccessRule "192.168.6.218", False, 7341 +selectedSite.AddIPAccessRule "192.168.6.217", False, 7342 +selectedSite.AddIPAccessRule "192.168.6.216", False, 7343 +selectedSite.AddIPAccessRule "192.168.6.215", False, 7344 +selectedSite.AddIPAccessRule "192.168.6.214", False, 7345 +selectedSite.AddIPAccessRule "192.168.6.213", False, 7346 +selectedSite.AddIPAccessRule "192.168.6.212", False, 7347 +selectedSite.AddIPAccessRule "192.168.6.211", False, 7348 +selectedSite.AddIPAccessRule "192.168.6.210", False, 7349 +selectedSite.AddIPAccessRule "192.168.6.209", False, 7350 +selectedSite.AddIPAccessRule "192.168.6.208", False, 7351 +selectedSite.AddIPAccessRule "192.168.6.207", False, 7352 +selectedSite.AddIPAccessRule "192.168.6.206", False, 7353 +selectedSite.AddIPAccessRule "192.168.6.205", False, 7354 +selectedSite.AddIPAccessRule "192.168.6.204", False, 7355 +selectedSite.AddIPAccessRule "192.168.6.203", False, 7356 +selectedSite.AddIPAccessRule "192.168.6.202", False, 7357 +selectedSite.AddIPAccessRule "192.168.6.201", False, 7358 +selectedSite.AddIPAccessRule "192.168.6.200", False, 7359 +selectedSite.AddIPAccessRule "192.168.6.199", False, 7360 +selectedSite.AddIPAccessRule "192.168.6.198", False, 7361 +selectedSite.AddIPAccessRule "192.168.6.197", False, 7362 +selectedSite.AddIPAccessRule "192.168.6.196", False, 7363 +selectedSite.AddIPAccessRule "192.168.6.195", False, 7364 +selectedSite.AddIPAccessRule "192.168.6.194", False, 7365 +selectedSite.AddIPAccessRule "192.168.6.193", False, 7366 +selectedSite.AddIPAccessRule "192.168.6.192", False, 7367 +selectedSite.AddIPAccessRule "192.168.6.191", False, 7368 +selectedSite.AddIPAccessRule "192.168.6.190", False, 7369 +selectedSite.AddIPAccessRule "192.168.6.189", False, 7370 +selectedSite.AddIPAccessRule "192.168.6.188", False, 7371 +selectedSite.AddIPAccessRule "192.168.6.187", False, 7372 +selectedSite.AddIPAccessRule "192.168.6.186", False, 7373 +selectedSite.AddIPAccessRule "192.168.6.185", False, 7374 +selectedSite.AddIPAccessRule "192.168.6.184", False, 7375 +selectedSite.AddIPAccessRule "192.168.6.183", False, 7376 +selectedSite.AddIPAccessRule "192.168.6.182", False, 7377 +selectedSite.AddIPAccessRule "192.168.6.181", False, 7378 +selectedSite.AddIPAccessRule "192.168.6.180", False, 7379 +selectedSite.AddIPAccessRule "192.168.6.179", False, 7380 +selectedSite.AddIPAccessRule "192.168.6.178", False, 7381 +selectedSite.AddIPAccessRule "192.168.6.177", False, 7382 +selectedSite.AddIPAccessRule "192.168.6.176", False, 7383 +selectedSite.AddIPAccessRule "192.168.6.175", False, 7384 +selectedSite.AddIPAccessRule "192.168.6.174", False, 7385 +selectedSite.AddIPAccessRule "192.168.6.173", False, 7386 +selectedSite.AddIPAccessRule "192.168.6.172", False, 7387 +selectedSite.AddIPAccessRule "192.168.6.171", False, 7388 +selectedSite.AddIPAccessRule "192.168.6.170", False, 7389 +selectedSite.AddIPAccessRule "192.168.6.169", False, 7390 +selectedSite.AddIPAccessRule "192.168.6.168", False, 7391 +selectedSite.AddIPAccessRule "192.168.6.167", False, 7392 +selectedSite.AddIPAccessRule "192.168.6.166", False, 7393 +selectedSite.AddIPAccessRule "192.168.6.165", False, 7394 +selectedSite.AddIPAccessRule "192.168.6.164", False, 7395 +selectedSite.AddIPAccessRule "192.168.6.163", False, 7396 +selectedSite.AddIPAccessRule "192.168.6.162", False, 7397 +selectedSite.AddIPAccessRule "192.168.6.161", False, 7398 +selectedSite.AddIPAccessRule "192.168.6.160", False, 7399 +selectedSite.AddIPAccessRule "192.168.6.159", False, 7400 +selectedSite.AddIPAccessRule "192.168.6.158", False, 7401 +selectedSite.AddIPAccessRule "192.168.6.157", False, 7402 +selectedSite.AddIPAccessRule "192.168.6.156", False, 7403 +selectedSite.AddIPAccessRule "192.168.6.155", False, 7404 +selectedSite.AddIPAccessRule "192.168.6.154", False, 7405 +selectedSite.AddIPAccessRule "192.168.6.153", False, 7406 +selectedSite.AddIPAccessRule "192.168.6.152", False, 7407 +selectedSite.AddIPAccessRule "192.168.6.151", False, 7408 +selectedSite.AddIPAccessRule "192.168.6.150", False, 7409 +selectedSite.AddIPAccessRule "192.168.6.149", False, 7410 +selectedSite.AddIPAccessRule "192.168.6.148", False, 7411 +selectedSite.AddIPAccessRule "192.168.6.147", False, 7412 +selectedSite.AddIPAccessRule "192.168.6.146", False, 7413 +selectedSite.AddIPAccessRule "192.168.6.145", False, 7414 +selectedSite.AddIPAccessRule "192.168.6.144", False, 7415 +selectedSite.AddIPAccessRule "192.168.6.143", False, 7416 +selectedSite.AddIPAccessRule "192.168.6.142", False, 7417 +selectedSite.AddIPAccessRule "192.168.6.141", False, 7418 +selectedSite.AddIPAccessRule "192.168.6.140", False, 7419 +selectedSite.AddIPAccessRule "192.168.6.139", False, 7420 +selectedSite.AddIPAccessRule "192.168.6.138", False, 7421 +selectedSite.AddIPAccessRule "192.168.6.137", False, 7422 +selectedSite.AddIPAccessRule "192.168.6.136", False, 7423 +selectedSite.AddIPAccessRule "192.168.6.135", False, 7424 +selectedSite.AddIPAccessRule "192.168.6.134", False, 7425 +selectedSite.AddIPAccessRule "192.168.6.133", False, 7426 +selectedSite.AddIPAccessRule "192.168.6.132", False, 7427 +selectedSite.AddIPAccessRule "192.168.6.131", False, 7428 +selectedSite.AddIPAccessRule "192.168.6.130", False, 7429 +selectedSite.AddIPAccessRule "192.168.6.129", False, 7430 +selectedSite.AddIPAccessRule "192.168.6.128", False, 7431 +selectedSite.AddIPAccessRule "192.168.6.127", False, 7432 +selectedSite.AddIPAccessRule "192.168.6.126", False, 7433 +selectedSite.AddIPAccessRule "192.168.6.125", False, 7434 +selectedSite.AddIPAccessRule "192.168.6.124", False, 7435 +selectedSite.AddIPAccessRule "192.168.6.123", False, 7436 +selectedSite.AddIPAccessRule "192.168.6.122", False, 7437 +selectedSite.AddIPAccessRule "192.168.6.121", False, 7438 +selectedSite.AddIPAccessRule "192.168.6.120", False, 7439 +selectedSite.AddIPAccessRule "192.168.6.119", False, 7440 +selectedSite.AddIPAccessRule "192.168.6.118", False, 7441 +selectedSite.AddIPAccessRule "192.168.6.117", False, 7442 +selectedSite.AddIPAccessRule "192.168.6.116", False, 7443 +selectedSite.AddIPAccessRule "192.168.6.115", False, 7444 +selectedSite.AddIPAccessRule "192.168.6.114", False, 7445 +selectedSite.AddIPAccessRule "192.168.6.113", False, 7446 +selectedSite.AddIPAccessRule "192.168.6.112", False, 7447 +selectedSite.AddIPAccessRule "192.168.6.111", False, 7448 +selectedSite.AddIPAccessRule "192.168.6.110", False, 7449 +selectedSite.AddIPAccessRule "192.168.6.109", False, 7450 +selectedSite.AddIPAccessRule "192.168.6.108", False, 7451 +selectedSite.AddIPAccessRule "192.168.6.107", False, 7452 +selectedSite.AddIPAccessRule "192.168.6.106", False, 7453 +selectedSite.AddIPAccessRule "192.168.6.105", False, 7454 +selectedSite.AddIPAccessRule "192.168.6.104", False, 7455 +selectedSite.AddIPAccessRule "192.168.6.103", False, 7456 +selectedSite.AddIPAccessRule "192.168.6.102", False, 7457 +selectedSite.AddIPAccessRule "192.168.6.101", False, 7458 +selectedSite.AddIPAccessRule "192.168.6.100", False, 7459 +selectedSite.AddIPAccessRule "192.168.6.99", False, 7460 +selectedSite.AddIPAccessRule "192.168.6.98", False, 7461 +selectedSite.AddIPAccessRule "192.168.6.97", False, 7462 +selectedSite.AddIPAccessRule "192.168.6.96", False, 7463 +selectedSite.AddIPAccessRule "192.168.6.95", False, 7464 +selectedSite.AddIPAccessRule "192.168.6.94", False, 7465 +selectedSite.AddIPAccessRule "192.168.6.93", False, 7466 +selectedSite.AddIPAccessRule "192.168.6.92", False, 7467 +selectedSite.AddIPAccessRule "192.168.6.91", False, 7468 +selectedSite.AddIPAccessRule "192.168.6.90", False, 7469 +selectedSite.AddIPAccessRule "192.168.6.89", False, 7470 +selectedSite.AddIPAccessRule "192.168.6.88", False, 7471 +selectedSite.AddIPAccessRule "192.168.6.87", False, 7472 +selectedSite.AddIPAccessRule "192.168.6.86", False, 7473 +selectedSite.AddIPAccessRule "192.168.6.85", False, 7474 +selectedSite.AddIPAccessRule "192.168.6.84", False, 7475 +selectedSite.AddIPAccessRule "192.168.6.83", False, 7476 +selectedSite.AddIPAccessRule "192.168.6.82", False, 7477 +selectedSite.AddIPAccessRule "192.168.6.81", False, 7478 +selectedSite.AddIPAccessRule "192.168.6.80", False, 7479 +selectedSite.AddIPAccessRule "192.168.6.79", False, 7480 +selectedSite.AddIPAccessRule "192.168.6.78", False, 7481 +selectedSite.AddIPAccessRule "192.168.6.77", False, 7482 +selectedSite.AddIPAccessRule "192.168.6.76", False, 7483 +selectedSite.AddIPAccessRule "192.168.6.75", False, 7484 +selectedSite.AddIPAccessRule "192.168.6.74", False, 7485 +selectedSite.AddIPAccessRule "192.168.6.73", False, 7486 +selectedSite.AddIPAccessRule "192.168.6.72", False, 7487 +selectedSite.AddIPAccessRule "192.168.6.71", False, 7488 +selectedSite.AddIPAccessRule "192.168.6.70", False, 7489 +selectedSite.AddIPAccessRule "192.168.6.69", False, 7490 +selectedSite.AddIPAccessRule "192.168.6.68", False, 7491 +selectedSite.AddIPAccessRule "192.168.6.67", False, 7492 +selectedSite.AddIPAccessRule "192.168.6.66", False, 7493 +selectedSite.AddIPAccessRule "192.168.6.65", False, 7494 +selectedSite.AddIPAccessRule "192.168.6.64", False, 7495 +selectedSite.AddIPAccessRule "192.168.6.63", False, 7496 +selectedSite.AddIPAccessRule "192.168.6.62", False, 7497 +selectedSite.AddIPAccessRule "192.168.6.61", False, 7498 +selectedSite.AddIPAccessRule "192.168.6.60", False, 7499 +selectedSite.AddIPAccessRule "192.168.6.59", False, 7500 +selectedSite.AddIPAccessRule "192.168.6.58", False, 7501 +selectedSite.AddIPAccessRule "192.168.6.57", False, 7502 +selectedSite.AddIPAccessRule "192.168.6.56", False, 7503 +selectedSite.AddIPAccessRule "192.168.6.55", False, 7504 +selectedSite.AddIPAccessRule "192.168.6.54", False, 7505 +selectedSite.AddIPAccessRule "192.168.6.53", False, 7506 +selectedSite.AddIPAccessRule "192.168.6.52", False, 7507 +selectedSite.AddIPAccessRule "192.168.6.51", False, 7508 +selectedSite.AddIPAccessRule "192.168.6.50", False, 7509 +selectedSite.AddIPAccessRule "192.168.6.49", False, 7510 +selectedSite.AddIPAccessRule "192.168.6.48", False, 7511 +selectedSite.AddIPAccessRule "192.168.6.47", False, 7512 +selectedSite.AddIPAccessRule "192.168.6.46", False, 7513 +selectedSite.AddIPAccessRule "192.168.6.45", False, 7514 +selectedSite.AddIPAccessRule "192.168.6.44", False, 7515 +selectedSite.AddIPAccessRule "192.168.6.43", False, 7516 +selectedSite.AddIPAccessRule "192.168.6.42", False, 7517 +selectedSite.AddIPAccessRule "192.168.6.41", False, 7518 +selectedSite.AddIPAccessRule "192.168.6.40", False, 7519 +selectedSite.AddIPAccessRule "192.168.6.39", False, 7520 +selectedSite.AddIPAccessRule "192.168.6.38", False, 7521 +selectedSite.AddIPAccessRule "192.168.6.37", False, 7522 +selectedSite.AddIPAccessRule "192.168.6.36", False, 7523 +selectedSite.AddIPAccessRule "192.168.6.35", False, 7524 +selectedSite.AddIPAccessRule "192.168.6.34", False, 7525 +selectedSite.AddIPAccessRule "192.168.6.33", False, 7526 +selectedSite.AddIPAccessRule "192.168.6.32", False, 7527 +selectedSite.AddIPAccessRule "192.168.6.31", False, 7528 +selectedSite.AddIPAccessRule "192.168.6.30", False, 7529 +selectedSite.AddIPAccessRule "192.168.6.29", False, 7530 +selectedSite.AddIPAccessRule "192.168.6.28", False, 7531 +selectedSite.AddIPAccessRule "192.168.6.27", False, 7532 +selectedSite.AddIPAccessRule "192.168.6.26", False, 7533 +selectedSite.AddIPAccessRule "192.168.6.25", False, 7534 +selectedSite.AddIPAccessRule "192.168.6.24", False, 7535 +selectedSite.AddIPAccessRule "192.168.6.23", False, 7536 +selectedSite.AddIPAccessRule "192.168.6.22", False, 7537 +selectedSite.AddIPAccessRule "192.168.6.21", False, 7538 +selectedSite.AddIPAccessRule "192.168.6.20", False, 7539 +selectedSite.AddIPAccessRule "192.168.6.19", False, 7540 +selectedSite.AddIPAccessRule "192.168.6.18", False, 7541 +selectedSite.AddIPAccessRule "192.168.6.17", False, 7542 +selectedSite.AddIPAccessRule "192.168.6.16", False, 7543 +selectedSite.AddIPAccessRule "192.168.6.15", False, 7544 +selectedSite.AddIPAccessRule "192.168.6.14", False, 7545 +selectedSite.AddIPAccessRule "192.168.6.13", False, 7546 +selectedSite.AddIPAccessRule "192.168.6.12", False, 7547 +selectedSite.AddIPAccessRule "192.168.6.11", False, 7548 +selectedSite.AddIPAccessRule "192.168.6.10", False, 7549 +selectedSite.AddIPAccessRule "192.168.6.9", False, 7550 +selectedSite.AddIPAccessRule "192.168.6.8", False, 7551 +selectedSite.AddIPAccessRule "192.168.6.7", False, 7552 +selectedSite.AddIPAccessRule "192.168.6.6", False, 7553 +selectedSite.AddIPAccessRule "192.168.6.5", False, 7554 +selectedSite.AddIPAccessRule "192.168.6.4", False, 7555 +selectedSite.AddIPAccessRule "192.168.6.3", False, 7556 +selectedSite.AddIPAccessRule "192.168.6.2", False, 7557 +selectedSite.AddIPAccessRule "192.168.6.1", False, 7558 +selectedSite.AddIPAccessRule "192.168.5.255", False, 7559 +selectedSite.AddIPAccessRule "192.168.5.254", False, 7560 +selectedSite.AddIPAccessRule "192.168.5.253", False, 7561 +selectedSite.AddIPAccessRule "192.168.5.252", False, 7562 +selectedSite.AddIPAccessRule "192.168.5.251", False, 7563 +selectedSite.AddIPAccessRule "192.168.5.250", False, 7564 +selectedSite.AddIPAccessRule "192.168.5.249", False, 7565 +selectedSite.AddIPAccessRule "192.168.5.248", False, 7566 +selectedSite.AddIPAccessRule "192.168.5.247", False, 7567 +selectedSite.AddIPAccessRule "192.168.5.246", False, 7568 +selectedSite.AddIPAccessRule "192.168.5.245", False, 7569 +selectedSite.AddIPAccessRule "192.168.5.244", False, 7570 +selectedSite.AddIPAccessRule "192.168.5.243", False, 7571 +selectedSite.AddIPAccessRule "192.168.5.242", False, 7572 +selectedSite.AddIPAccessRule "192.168.5.241", False, 7573 +selectedSite.AddIPAccessRule "192.168.5.240", False, 7574 +selectedSite.AddIPAccessRule "192.168.5.239", False, 7575 +selectedSite.AddIPAccessRule "192.168.5.238", False, 7576 +selectedSite.AddIPAccessRule "192.168.5.237", False, 7577 +selectedSite.AddIPAccessRule "192.168.5.236", False, 7578 +selectedSite.AddIPAccessRule "192.168.5.235", False, 7579 +selectedSite.AddIPAccessRule "192.168.5.234", False, 7580 +selectedSite.AddIPAccessRule "192.168.5.233", False, 7581 +selectedSite.AddIPAccessRule "192.168.5.232", False, 7582 +selectedSite.AddIPAccessRule "192.168.5.231", False, 7583 +selectedSite.AddIPAccessRule "192.168.5.230", False, 7584 +selectedSite.AddIPAccessRule "192.168.5.229", False, 7585 +selectedSite.AddIPAccessRule "192.168.5.228", False, 7586 +selectedSite.AddIPAccessRule "192.168.5.227", False, 7587 +selectedSite.AddIPAccessRule "192.168.5.226", False, 7588 +selectedSite.AddIPAccessRule "192.168.5.225", False, 7589 +selectedSite.AddIPAccessRule "192.168.5.224", False, 7590 +selectedSite.AddIPAccessRule "192.168.5.223", False, 7591 +selectedSite.AddIPAccessRule "192.168.5.222", False, 7592 +selectedSite.AddIPAccessRule "192.168.5.221", False, 7593 +selectedSite.AddIPAccessRule "192.168.5.220", False, 7594 +selectedSite.AddIPAccessRule "192.168.5.219", False, 7595 +selectedSite.AddIPAccessRule "192.168.5.218", False, 7596 +selectedSite.AddIPAccessRule "192.168.5.217", False, 7597 +selectedSite.AddIPAccessRule "192.168.5.216", False, 7598 +selectedSite.AddIPAccessRule "192.168.5.215", False, 7599 +selectedSite.AddIPAccessRule "192.168.5.214", False, 7600 +selectedSite.AddIPAccessRule "192.168.5.213", False, 7601 +selectedSite.AddIPAccessRule "192.168.5.212", False, 7602 +selectedSite.AddIPAccessRule "192.168.5.211", False, 7603 +selectedSite.AddIPAccessRule "192.168.5.210", False, 7604 +selectedSite.AddIPAccessRule "192.168.5.209", False, 7605 +selectedSite.AddIPAccessRule "192.168.5.208", False, 7606 +selectedSite.AddIPAccessRule "192.168.5.207", False, 7607 +selectedSite.AddIPAccessRule "192.168.5.206", False, 7608 +selectedSite.AddIPAccessRule "192.168.5.205", False, 7609 +selectedSite.AddIPAccessRule "192.168.5.204", False, 7610 +selectedSite.AddIPAccessRule "192.168.5.203", False, 7611 +selectedSite.AddIPAccessRule "192.168.5.202", False, 7612 +selectedSite.AddIPAccessRule "192.168.5.201", False, 7613 +selectedSite.AddIPAccessRule "192.168.5.200", False, 7614 +selectedSite.AddIPAccessRule "192.168.5.199", False, 7615 +selectedSite.AddIPAccessRule "192.168.5.198", False, 7616 +selectedSite.AddIPAccessRule "192.168.5.197", False, 7617 +selectedSite.AddIPAccessRule "192.168.5.196", False, 7618 +selectedSite.AddIPAccessRule "192.168.5.195", False, 7619 +selectedSite.AddIPAccessRule "192.168.5.194", False, 7620 +selectedSite.AddIPAccessRule "192.168.5.193", False, 7621 +selectedSite.AddIPAccessRule "192.168.5.192", False, 7622 +selectedSite.AddIPAccessRule "192.168.5.191", False, 7623 +selectedSite.AddIPAccessRule "192.168.5.190", False, 7624 +selectedSite.AddIPAccessRule "192.168.5.189", False, 7625 +selectedSite.AddIPAccessRule "192.168.5.188", False, 7626 +selectedSite.AddIPAccessRule "192.168.5.187", False, 7627 +selectedSite.AddIPAccessRule "192.168.5.186", False, 7628 +selectedSite.AddIPAccessRule "192.168.5.185", False, 7629 +selectedSite.AddIPAccessRule "192.168.5.184", False, 7630 +selectedSite.AddIPAccessRule "192.168.5.183", False, 7631 +selectedSite.AddIPAccessRule "192.168.5.182", False, 7632 +selectedSite.AddIPAccessRule "192.168.5.181", False, 7633 +selectedSite.AddIPAccessRule "192.168.5.180", False, 7634 +selectedSite.AddIPAccessRule "192.168.5.179", False, 7635 +selectedSite.AddIPAccessRule "192.168.5.178", False, 7636 +selectedSite.AddIPAccessRule "192.168.5.177", False, 7637 +selectedSite.AddIPAccessRule "192.168.5.176", False, 7638 +selectedSite.AddIPAccessRule "192.168.5.175", False, 7639 +selectedSite.AddIPAccessRule "192.168.5.174", False, 7640 +selectedSite.AddIPAccessRule "192.168.5.173", False, 7641 +selectedSite.AddIPAccessRule "192.168.5.172", False, 7642 +selectedSite.AddIPAccessRule "192.168.5.171", False, 7643 +selectedSite.AddIPAccessRule "192.168.5.170", False, 7644 +selectedSite.AddIPAccessRule "192.168.5.169", False, 7645 +selectedSite.AddIPAccessRule "192.168.5.168", False, 7646 +selectedSite.AddIPAccessRule "192.168.5.167", False, 7647 +selectedSite.AddIPAccessRule "192.168.5.166", False, 7648 +selectedSite.AddIPAccessRule "192.168.5.165", False, 7649 +selectedSite.AddIPAccessRule "192.168.5.164", False, 7650 +selectedSite.AddIPAccessRule "192.168.5.163", False, 7651 +selectedSite.AddIPAccessRule "192.168.5.162", False, 7652 +selectedSite.AddIPAccessRule "192.168.5.161", False, 7653 +selectedSite.AddIPAccessRule "192.168.5.160", False, 7654 +selectedSite.AddIPAccessRule "192.168.5.159", False, 7655 +selectedSite.AddIPAccessRule "192.168.5.158", False, 7656 +selectedSite.AddIPAccessRule "192.168.5.157", False, 7657 +selectedSite.AddIPAccessRule "192.168.5.156", False, 7658 +selectedSite.AddIPAccessRule "192.168.5.155", False, 7659 +selectedSite.AddIPAccessRule "192.168.5.154", False, 7660 +selectedSite.AddIPAccessRule "192.168.5.153", False, 7661 +selectedSite.AddIPAccessRule "192.168.5.152", False, 7662 +selectedSite.AddIPAccessRule "192.168.5.151", False, 7663 +selectedSite.AddIPAccessRule "192.168.5.150", False, 7664 +selectedSite.AddIPAccessRule "192.168.5.149", False, 7665 +selectedSite.AddIPAccessRule "192.168.5.148", False, 7666 +selectedSite.AddIPAccessRule "192.168.5.147", False, 7667 +selectedSite.AddIPAccessRule "192.168.5.146", False, 7668 +selectedSite.AddIPAccessRule "192.168.5.145", False, 7669 +selectedSite.AddIPAccessRule "192.168.5.144", False, 7670 +selectedSite.AddIPAccessRule "192.168.5.143", False, 7671 +selectedSite.AddIPAccessRule "192.168.5.142", False, 7672 +selectedSite.AddIPAccessRule "192.168.5.141", False, 7673 +selectedSite.AddIPAccessRule "192.168.5.140", False, 7674 +selectedSite.AddIPAccessRule "192.168.5.139", False, 7675 +selectedSite.AddIPAccessRule "192.168.5.138", False, 7676 +selectedSite.AddIPAccessRule "192.168.5.137", False, 7677 +selectedSite.AddIPAccessRule "192.168.5.136", False, 7678 +selectedSite.AddIPAccessRule "192.168.5.135", False, 7679 +selectedSite.AddIPAccessRule "192.168.5.134", False, 7680 +selectedSite.AddIPAccessRule "192.168.5.133", False, 7681 +selectedSite.AddIPAccessRule "192.168.5.132", False, 7682 +selectedSite.AddIPAccessRule "192.168.5.131", False, 7683 +selectedSite.AddIPAccessRule "192.168.5.130", False, 7684 +selectedSite.AddIPAccessRule "192.168.5.129", False, 7685 +selectedSite.AddIPAccessRule "192.168.5.128", False, 7686 +selectedSite.AddIPAccessRule "192.168.5.127", False, 7687 +selectedSite.AddIPAccessRule "192.168.5.126", False, 7688 +selectedSite.AddIPAccessRule "192.168.5.125", False, 7689 +selectedSite.AddIPAccessRule "192.168.5.124", False, 7690 +selectedSite.AddIPAccessRule "192.168.5.123", False, 7691 +selectedSite.AddIPAccessRule "192.168.5.122", False, 7692 +selectedSite.AddIPAccessRule "192.168.5.121", False, 7693 +selectedSite.AddIPAccessRule "192.168.5.120", False, 7694 +selectedSite.AddIPAccessRule "192.168.5.119", False, 7695 +selectedSite.AddIPAccessRule "192.168.5.118", False, 7696 +selectedSite.AddIPAccessRule "192.168.5.117", False, 7697 +selectedSite.AddIPAccessRule "192.168.5.116", False, 7698 +selectedSite.AddIPAccessRule "192.168.5.115", False, 7699 +selectedSite.AddIPAccessRule "192.168.5.114", False, 7700 +selectedSite.AddIPAccessRule "192.168.5.113", False, 7701 +selectedSite.AddIPAccessRule "192.168.5.112", False, 7702 +selectedSite.AddIPAccessRule "192.168.5.111", False, 7703 +selectedSite.AddIPAccessRule "192.168.5.110", False, 7704 +selectedSite.AddIPAccessRule "192.168.5.109", False, 7705 +selectedSite.AddIPAccessRule "192.168.5.108", False, 7706 +selectedSite.AddIPAccessRule "192.168.5.107", False, 7707 +selectedSite.AddIPAccessRule "192.168.5.106", False, 7708 +selectedSite.AddIPAccessRule "192.168.5.105", False, 7709 +selectedSite.AddIPAccessRule "192.168.5.104", False, 7710 +selectedSite.AddIPAccessRule "192.168.5.103", False, 7711 +selectedSite.AddIPAccessRule "192.168.5.102", False, 7712 +selectedSite.AddIPAccessRule "192.168.5.101", False, 7713 +selectedSite.AddIPAccessRule "192.168.5.100", False, 7714 +selectedSite.AddIPAccessRule "192.168.5.99", False, 7715 +selectedSite.AddIPAccessRule "192.168.5.98", False, 7716 +selectedSite.AddIPAccessRule "192.168.5.97", False, 7717 +selectedSite.AddIPAccessRule "192.168.5.96", False, 7718 +selectedSite.AddIPAccessRule "192.168.5.95", False, 7719 +selectedSite.AddIPAccessRule "192.168.5.94", False, 7720 +selectedSite.AddIPAccessRule "192.168.5.93", False, 7721 +selectedSite.AddIPAccessRule "192.168.5.92", False, 7722 +selectedSite.AddIPAccessRule "192.168.5.91", False, 7723 +selectedSite.AddIPAccessRule "192.168.5.90", False, 7724 +selectedSite.AddIPAccessRule "192.168.5.89", False, 7725 +selectedSite.AddIPAccessRule "192.168.5.88", False, 7726 +selectedSite.AddIPAccessRule "192.168.5.87", False, 7727 +selectedSite.AddIPAccessRule "192.168.5.86", False, 7728 +selectedSite.AddIPAccessRule "192.168.5.85", False, 7729 +selectedSite.AddIPAccessRule "192.168.5.84", False, 7730 +selectedSite.AddIPAccessRule "192.168.5.83", False, 7731 +selectedSite.AddIPAccessRule "192.168.5.82", False, 7732 +selectedSite.AddIPAccessRule "192.168.5.81", False, 7733 +selectedSite.AddIPAccessRule "192.168.5.80", False, 7734 +selectedSite.AddIPAccessRule "192.168.5.79", False, 7735 +selectedSite.AddIPAccessRule "192.168.5.78", False, 7736 +selectedSite.AddIPAccessRule "192.168.5.77", False, 7737 +selectedSite.AddIPAccessRule "192.168.5.76", False, 7738 +selectedSite.AddIPAccessRule "192.168.5.75", False, 7739 +selectedSite.AddIPAccessRule "192.168.5.74", False, 7740 +selectedSite.AddIPAccessRule "192.168.5.73", False, 7741 +selectedSite.AddIPAccessRule "192.168.5.72", False, 7742 +selectedSite.AddIPAccessRule "192.168.5.71", False, 7743 +selectedSite.AddIPAccessRule "192.168.5.70", False, 7744 +selectedSite.AddIPAccessRule "192.168.5.69", False, 7745 +selectedSite.AddIPAccessRule "192.168.5.68", False, 7746 +selectedSite.AddIPAccessRule "192.168.5.67", False, 7747 +selectedSite.AddIPAccessRule "192.168.5.66", False, 7748 +selectedSite.AddIPAccessRule "192.168.5.65", False, 7749 +selectedSite.AddIPAccessRule "192.168.5.64", False, 7750 +selectedSite.AddIPAccessRule "192.168.5.63", False, 7751 +selectedSite.AddIPAccessRule "192.168.5.62", False, 7752 +selectedSite.AddIPAccessRule "192.168.5.61", False, 7753 +selectedSite.AddIPAccessRule "192.168.5.60", False, 7754 +selectedSite.AddIPAccessRule "192.168.5.59", False, 7755 +selectedSite.AddIPAccessRule "192.168.5.58", False, 7756 +selectedSite.AddIPAccessRule "192.168.5.57", False, 7757 +selectedSite.AddIPAccessRule "192.168.5.56", False, 7758 +selectedSite.AddIPAccessRule "192.168.5.55", False, 7759 +selectedSite.AddIPAccessRule "192.168.5.54", False, 7760 +selectedSite.AddIPAccessRule "192.168.5.53", False, 7761 +selectedSite.AddIPAccessRule "192.168.5.52", False, 7762 +selectedSite.AddIPAccessRule "192.168.5.51", False, 7763 +selectedSite.AddIPAccessRule "192.168.5.50", False, 7764 +selectedSite.AddIPAccessRule "192.168.5.49", False, 7765 +selectedSite.AddIPAccessRule "192.168.5.48", False, 7766 +selectedSite.AddIPAccessRule "192.168.5.47", False, 7767 +selectedSite.AddIPAccessRule "192.168.5.46", False, 7768 +selectedSite.AddIPAccessRule "192.168.5.45", False, 7769 +selectedSite.AddIPAccessRule "192.168.5.44", False, 7770 +selectedSite.AddIPAccessRule "192.168.5.43", False, 7771 +selectedSite.AddIPAccessRule "192.168.5.42", False, 7772 +selectedSite.AddIPAccessRule "192.168.5.41", False, 7773 +selectedSite.AddIPAccessRule "192.168.5.40", False, 7774 +selectedSite.AddIPAccessRule "192.168.5.39", False, 7775 +selectedSite.AddIPAccessRule "192.168.5.38", False, 7776 +selectedSite.AddIPAccessRule "192.168.5.37", False, 7777 +selectedSite.AddIPAccessRule "192.168.5.36", False, 7778 +selectedSite.AddIPAccessRule "192.168.5.35", False, 7779 +selectedSite.AddIPAccessRule "192.168.5.34", False, 7780 +selectedSite.AddIPAccessRule "192.168.5.33", False, 7781 +selectedSite.AddIPAccessRule "192.168.5.32", False, 7782 +selectedSite.AddIPAccessRule "192.168.5.31", False, 7783 +selectedSite.AddIPAccessRule "192.168.5.30", False, 7784 +selectedSite.AddIPAccessRule "192.168.5.29", False, 7785 +selectedSite.AddIPAccessRule "192.168.5.28", False, 7786 +selectedSite.AddIPAccessRule "192.168.5.27", False, 7787 +selectedSite.AddIPAccessRule "192.168.5.26", False, 7788 +selectedSite.AddIPAccessRule "192.168.5.25", False, 7789 +selectedSite.AddIPAccessRule "192.168.5.24", False, 7790 + + + +'Old functions: +'allowedIPs = SFTPServer.GetAllowedMasks +'For each ip in allowedIPs +' WScript.Echo "Allowed: " + ip +'Next + +'deniedIPs = SFTPServer.GetDeniedMasks +'For each ip in deniedIPs +' WScript.Echo "Denied: " + ip +'Next + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function diff --git a/vbs/IPBanExport.vbs b/vbs/IPBanExport.vbs new file mode 100644 index 0000000..252fc82 --- /dev/null +++ b/vbs/IPBanExport.vbs @@ -0,0 +1,73 @@ +Const ForAppending = 8, AutobanIPRule = 0, ManualIPRule = 1 +Const txtMyOutputFileName = "C:\path\TESTOut.csv" 'Output file CSV File can be opened with MS Excel +Dim SFTPServer, CRLF, txtServer, txtPort, txtAdminUserName, txtPassword, SiteName, myFSO, WriteStuff, selectedSite, i, Key, Key2 + +Set SFTPServer = CreateObject("SFTPCOMInterface.CIServer") + +CRLF = Chr(13) & Chr(10) 'Use the built-in vbCrLf constant instead! + +'*************************************************** +'***Modify the following to match your EFT Server*** +'*************************************************** +txtServer = "localhost" 'input server ip or localhost +txtPort = "1100" 'input port used +txtAdminUserName = "test" 'input server admin credentials - username +txtPassword = "test" 'input server admin credentials - password +SiteName = LCase("MySite") 'input sitename in the "" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then WScript.Quit 0 + +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, ForAppending, True) + +'Header row for CSV file +'Type: AutoBan or Manually Added to List +'Address: IP that is in the list +'Banned: Dated added to banlist +'Permanent: True for permanent addition, False for expiring address +'Expires: Date that non-permanent address in Auto Banlist will drop from list. +'Reason: Reason IP was added to AutoBan list. + +WriteStuff.WriteLine "Type,Address,Banned,Permanent,Expires,Reason" + +Set selectedSite = Nothing + +'Move through sites to find the one you're looking for +For i = 0 To SFTPServer.Sites.Count - 1 +With SFTPServer.Sites.Item(i) +If LCase(.Name) = SiteName Then +For Each Key In .GetIPAccessRules +Select Case Key.Type +Case AutobanIPRule +For Each Key2 In Key.BannedIPs +WriteStuff.WriteLine Join(Array("AutoBanned", Key2.Address, CStr(Key2.Banned), CStr(Key2.Permanently), CStr(Key2.Expires), Key2.Reason), ",") +Next +Case ManualIPRule +If Not Key.Allow Then WriteStuff.WriteLine Join(Array("Manually Added", Key.Address, Key.Added, "", "", ""), ",") +End Select +Next +Else 'LCase(SFTPServer.Sites(i).Name) <> SiteName +'WriteStuff.WriteLine "Manual Added," & key1.Address & "," & key1.added & ",,,," +End If 'Why write "Manual Added, ..." to the .csv file here? +End With 'The Else branch is executed when the current site isn't +Next 'the one you're looking for, so why have an Else branch? + +WriteStuff.Close +Set WriteStuff = Nothing +Set myFSO = Nothing + +SFTPServer.Close +Set SFTPServer = Nothing + +MsgBox "Banned IPs can be found in the file """ & txtMyOutputFileName & """", vbInformation + +Function Connect(serverOrIpAddress, port, username, password) +On Error Resume Next +SFTPServer.Connect serverOrIpAddress, port, username, password +Connect = (Err.Number = 0) + +If Not Connect Then +MsgBox "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & _ +Err.Description & " [" & CStr(Err.Number) & "]", vbInformation, "Error" +End If +End Function diff --git a/vbs/IsFolderVirtual.vbs b/vbs/IsFolderVirtual.vbs new file mode 100644 index 0000000..810bb20 --- /dev/null +++ b/vbs/IsFolderVirtual.vbs @@ -0,0 +1,46 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set Sites=SFTPServer.Sites +set oSite = Sites.Item(0) + +WSCript.Echo oSite.Name +dim folders +'folders = oSite.GetFolderList("/") +if True = oSite.IsFolderVirtual("/wd") then +WSCript.Echo "/wd is virtual." +end if + +if True = oSite.IsFolderVirtual("/Usr") then +WSCript.Echo "/Usr is virtual." +end if + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/ListUserInfo_csv_1.1.vbs b/vbs/ListUserInfo_csv_1.1.vbs new file mode 100644 index 0000000..4985590 --- /dev/null +++ b/vbs/ListUserInfo_csv_1.1.vbs @@ -0,0 +1,56 @@ +' +' FILE: ListUserInfo.vbs +' CREATED: 6-8-2012 (dransom@globalscape.com) +' UPDATED: 6-5-2014 (jhulme@globalscape.com) +' VERSION: 1.1 *added Settings template membership | Test against 6.5.x +' PURPOSE: Modified script that creates CSV file for users +' Tested against EFT Server Versions 6.3.x / 6.4.x / 6.5.x +' Provides the following information: +' Username, Description, Email,Account Creation, Disk Quota, Used space, Home Directory, Settings template membership, Last Connection Time +' **This script is provided AS IS to our customers as a courtesy no support is provided in modifying or debugging this script. +' +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") +CRLF = (Chr(13)& Chr(10)) +'Modify the following variables to match your environment + txtServer = "localhost" + txtPort = "1100" + txtUserName = "eftadmin" + txtPassword = "a" + txtSiteName = "GS" + txtMyOutputFileName = "EFT-Users.csv" + +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +'open output file +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, 8, True) + +'write data to a file +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + WriteStuff.WriteLine("Users for " & theSite.Name & ":") + WriteStuff.WriteLine("Username,Description,Email,Account Creation, Disk Quota, Used space, Home Directory, Settings Template, Last Connection Time, Enabled") + arUsers = theSite.GetUsers() + For j = LBound(arUsers) to UBound(arUsers) + set userSettings = theSite.GetUserSettings(arUsers(j)) + WriteStuff.WriteLine(arUsers(j) & ", " & userSettings.GetDescription & ", " & userSettings.Email & ", " & userSettings.AccountCreationTime & ", " & userSettings.GetMaxSpace & ", " & userSettings.GetUsedSpace & ", " & userSettings.GetHomeDirString & ", " & theSite.GetUserSettingsLevel(arUsers(j)) & ", " & userSettings.LastConnectionTime & ", " & userSettings.GetEnableAccount) + Next + end if +Next + +'Close all variables +WriteStuff.Close +SFTPServer.Close +Set theSite = nothing +Set SFTPServer = nothing +SET WriteStuff = NOTHING +SET myFSO = NOTHING \ No newline at end of file diff --git a/vbs/Remove_All_emails_from_address_book.vbs b/vbs/Remove_All_emails_from_address_book.vbs new file mode 100644 index 0000000..93f5019 --- /dev/null +++ b/vbs/Remove_All_emails_from_address_book.vbs @@ -0,0 +1,34 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +strEmailList = "" + +SFTPServer.SMTPAddressBook = strEmailList + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/RetrievePasswordExpiration.vbs b/vbs/RetrievePasswordExpiration.vbs new file mode 100644 index 0000000..63d9c88 --- /dev/null +++ b/vbs/RetrievePasswordExpiration.vbs @@ -0,0 +1,71 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to return the date and time which a user's password is going to expire." +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +siteMessage = "Enter the site name where the user is located..." +userMessage = "Enter the Username for which you would like to retrieve the expiration date and time..." + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = InputBox (userMessage, msgTitle) +siteName = InputBox (siteMessage, msgTitle) + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + + set userSettings = selectedSite.GetUserSettings(userName) + +'getting pass expiration date +If userSettings.IsPasswordAgeLimited(pDate) Then + dtAccPssExp = Cstr(pDate) + Wscript.Echo "User " +userName + "'s Password Expires on " + dtAccPssExp + Else + Wscript.Echo "User " + userName + "'s Password does not expire" +End If + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/RetrievePasswordExpirationForSite_csv_1.0.vbs b/vbs/RetrievePasswordExpirationForSite_csv_1.0.vbs new file mode 100644 index 0000000..7d00034 --- /dev/null +++ b/vbs/RetrievePasswordExpirationForSite_csv_1.0.vbs @@ -0,0 +1,69 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to return the date and time for which all user's passwords expire for a particular site." +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +siteMessage = "Enter the site name..." +txtMyOutputFileName = "EFT-PasswordExpirations.csv" + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +siteName = InputBox (siteMessage, msgTitle) + +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, 8, True) + +set theSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(siteName)) then + WriteStuff.WriteLine("Users password expiration for " & theSite.Name & ":") + WriteStuff.WriteLine("Username,Password Expiration date") + arUsers = theSite.GetUsers() + For j = LBound(arUsers) to UBound(arUsers) + set userSettings = theSite.GetUserSettings(arUsers(j)) + If userSettings.IsPasswordAgeLimited(pDate) Then + dtAccPssExp = Cstr(pDate) + Else + dtAccPssExp = "Does not expire" + End If + WriteStuff.WriteLine(arUsers(j) & ", " & dtAccPssExp) + Next + end if +Next + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/Return Reg State.vbs b/vbs/Return Reg State.vbs new file mode 100644 index 0000000..8e64837 --- /dev/null +++ b/vbs/Return Reg State.vbs @@ -0,0 +1,52 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to retrieve registration status" +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +moduleMessage = "Enter Integer for Module You want to Check" +txtMyOutputFileName = "RegistrationStatus.csv" + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) +txtModuleInt = InputBox(moduleMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, 8, True) + +dim RegState +RegState = SFTPServer.ModuleRegistrationState(txtModuleInt) +MsgBox RegState + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/SSHSSL-passphrase.vbs b/vbs/SSHSSL-passphrase.vbs new file mode 100644 index 0000000..1de92e0 --- /dev/null +++ b/vbs/SSHSSL-passphrase.vbs @@ -0,0 +1,31 @@ +' + +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + txtServer = "localhost" + txtPort = "1100" + txtUserName = "test" + txtPassword = "test" + +' On Error Resume Next +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + SFTPhrase = theSite.SFTPKeyPassphrase + SSLPassphrase = theSite.GetPassPhrase() + Wscript.Echo theSite.Name & "SFTP Passphrase " & SFTPhrase + Wscript.Echo theSite.Name & "SSL Passphrase " & SSLPassphrase +Next + +Set theSite = nothing +Set SFTPServer = nothing +SET WriteStuff = NOTHING +SET myFSO = NOTHING \ No newline at end of file diff --git a/vbs/SetGroupPermissions.vbs b/vbs/SetGroupPermissions.vbs new file mode 100644 index 0000000..9059466 --- /dev/null +++ b/vbs/SetGroupPermissions.vbs @@ -0,0 +1,101 @@ +' +' FILE: ExportUsersAndGroupMembership.vbs +' AUTHOR: Brian Arriaga +' CREATED: 9 JAN 2015 +' MODIFIED: 9 JAN 2015 +' ORIGINALLY CREATED FOR: EFT Server 6.5-7.0.3 +' PURPOSE: This script loops through all Users of a specified site and performs the GetPermissionGroupsOfUser() COM API method along with +' objLogFile.WriteLine() to record the data in "username,group" format to an output file +' The output text file can be used with ImportUsersAndGroupMembership.vbs to import the user+group memberships. +' Can be used to backup group memberships in scenarios were Group membership settings are being lost. +' +' NOTE: The creation and modification of COM API scripts is not within the standard scope of Support. +' All COM API scripts are supplied as a courtesy "AS IS" with no implied or explicit guarantee of function. +' GlobalSCAPE is not responsible for any damage to system or data as a result of using supplied COM API scripts. +' Further information and usage instruction on COM API methods can be found online within the help file: http://help.globalscape.com/help/ +' + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + + +'Modify the below connection details to reflect your own environment. + txtServer = "localhost" + txtPort = "1100" + txtAdminUserName = "eftadmin" + txtAdminPassword = "a" + txtSiteName = "GS" + +'Folder to apply group/user permissions to + txtVFSName = "/usr/grouptesting" + +'Group to add to folder + txtGroup = "testGroup" + +'The below values specify each permission and whether or not the client has it + boolDirCreate = True + boolDirDelete = False + boolDirList = True + boolDirShowHidden = False + boolDirShowInList = True + boolDirShowReadOnly = False + boolFileAppend = True + boolFileDelete = False + boolFileDownload = True + boolFileRename = False + boolFileUpload = True + +Dim theSite +g_strBuffer ="" + +Call ConnectToServer() +Call FindSite() +Call ListUsersAndGroups() + + +'========================================== +'This sub connects to the server +'========================================= +Sub ConnectToServer() + SFTPServer.Connect txtServer, txtPort, txtAdminUserName, txtAdminPassword + +End Sub + + +'========================================== +'This sub finds the specified site +'========================================= +Sub FindSite() + set Sites=SFTPServer.Sites + + For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + exit for + End if + Next +End Sub + + +'========================================== +'This Sub adds specified group/user to specified VFS folder +'========================================= +Sub ListUsersAndGroups() + set oPerm = theSite.GetBlankPermission(txtVFSName, txtGroup) + oPerm.DirCreate = boolDirCreate + oPerm.DirDelete = boolDirDelete + oPerm.DirList = boolDirList + oPerm.DirShowHidden = boolDirShowHidden + oPerm.DirShowInList = boolDirShowInList + oPerm.DirShowReadOnly = boolDirShowReadOnly + oPerm.FileAppend = boolFileAppend + oPerm.FileDelete = boolFileDelete + oPerm.FileDownload = boolFileDownload + oPerm.FileRename = boolFileRename + oPerm.FileUpload = boolFileUpload + + theSite.SetPermission(oPerm) + +End Sub + +SFTPServer.Close +Set SFTPServer = nothing \ No newline at end of file diff --git a/vbs/SetUserHomeFolders.vbs b/vbs/SetUserHomeFolders.vbs new file mode 100644 index 0000000..76450a2 --- /dev/null +++ b/vbs/SetUserHomeFolders.vbs @@ -0,0 +1,56 @@ +' +' FILE: SetUserHomeFolders.vbs +' Modified: 6-04-2014 (dransom@globalscape.com) +' PURPOSE: Modified script that will set a user's home folder. +' Required parameters: SetUserHomeFolder.vbs +' Example: SetUserHomeFolder.vbs dransom "/usr/dransom" +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") +CRLF = (Chr(13)& Chr(10)) +'Modify the following variables to match your environment + txtServer = "localhost" + txtPort = "1100" + txtUserName = "test" + txtPassword = "test" + txtSiteName = "MySite" + +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +txtEFTUser = WScript.Arguments.Item(0) +txtHomeFolder = WScript.Arguments.Item(1) + + +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + set userSettings = theSite.GetUserSettings(txtEFTUser) + userSettings.setHomeDirIsRoot(1) + userSettings.SetHomeDir(1) + userSettings.SetHomeDirString(txtHomeFolder) + Set oFolderPerm = theSite.GetBlankPermission(txtHomeFolder, txtEFTUser) + oFolderPerm.FileUpload = TRUE + oFolderPerm.FileDownload = TRUE + oFolderPerm.FileDelete = TRUE + oFolderPerm.FileRename = TRUE + oFolderPerm.FileAppend = TRUE + oFolderPerm.DirCreate = TRUE + oFolderPerm.DirDelete = TRUE + oFolderPerm.DirList = TRUE + oFolderPerm.DirShowInList = TRUE + oFolderPerm.DirShowHidden = TRUE + oFolderPerm.DirShowReadOnly = TRUE + Call theSite.SetPermission(oFolderPerm, false) + end if +Next + +'Close all variables +SFTPServer.Close +Set theSite = nothing +Set SFTPServer = nothing diff --git a/vbs/TurnOffNextLoginChangePassword.vbs b/vbs/TurnOffNextLoginChangePassword.vbs new file mode 100644 index 0000000..39f3a3c --- /dev/null +++ b/vbs/TurnOffNextLoginChangePassword.vbs @@ -0,0 +1,53 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +txtServer = "localhost" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "GS" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + +arUsers = selectedSite.GetUsers() + +For j = LBound(arUsers) to UBound(arUsers) +set userSettings = selectedSite.GetUserSettings(arUsers(j)) +userSettings.SetForcePasswordResetOnNextLogin(false) +next + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/VFSCheck.vbs b/vbs/VFSCheck.vbs new file mode 100644 index 0000000..31935fc --- /dev/null +++ b/vbs/VFSCheck.vbs @@ -0,0 +1,160 @@ +'This script is provided AS IS. Back up Server configuration before attempting to run. +'FILENAME: VFSCheck.vbs +'DATE: 31 JAN 2012 +'USE: This will list all the folders of a site and display their corresponding physical paths. +'Notes: There is some logic for error checking, but I never got it to work correctly +' There is additional logic that will delete folders from VFS if they do not have a matching Physical path. +'**** run cmd "cscript (script location)**** +'Modify the section "CONSTANTS/PARAMETERS + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +'Get File Object +Set objFSO = CreateObject("Scripting.FileSystemObject") 'Output file Object +Set objFSO2 = CreateObject("Scripting.FileSystemObject") 'Check foler existince object +Set objFSO3 = CreateObject("Scripting.FileSystemObject") 'Error Log + +'Create/overwrite log file +Set objLogFile = objFSO.CreateTextFile("virtual_folders.txt", True) +'Set objErrorLogFile = objFSO3.CreateTextFile("virtual_folders_errors.log", True) + +'On Error Resume Next 'Added Error Capture instructions for some steps beyond this point. + +'CONSTANTS/PARAMETERS: +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "test" +txtPassword = "test" +txtSiteName = "MySite" +'***WARNING BACKUP CONFIG FILES BEFORE MODIFYING THE NEXT LINE!! +delFlag="False" 'Set to True to actually delete the VFS entry from EFT. ***WARNING BACKUP CONFIG FILES BEFORE DOING THIS!! + +objLogFile.WriteLine("VFS Path, Physical Path, Folder Status") +'objErrorLogFile.WriteLine("Folder, Error, Hex, Source, Description") + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set Sites=SFTPServer.Sites +SitesTotal = Sites.count +For iCount=0 to Sites.count - 1 + Set Site = Sites.Item(iCount) + if LCase(Trim(Site.Name)) = LCase(Trim(txtSiteName)) then + exit for + End if +Next + +'The following step was used for debugging. +'Msgbox Site.GetRootFolder() + +'This step kicks off the whole process. I used "" as the root since the recursion logic adds the / to the path. +GetNextFolder "", Site + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function GetNextFolder (CurrFolder,objSite) + CurrFolder = CurrFolder & "/" + folderList = objSite.GetFolderList(CurrFolder) + if Err.Number <> 0 Then + objLogFile.WriteLine(CurrFolder & ", " & ", ERROR-FOLDER NOT FOUND IN VFS") + DisplayErrorInfo CurrFolder + else + arVFolders = Split(folderlist, CRLF) + recurseFlag=0 + For Each fl in arVFolders + WScript.Echo "Exporting info for folder: " & CurrFolder & fl + 'if the folder name has " at the end of it there are additional folders and we need to recurse to next level + if instr(fl,chr(34)) > 0 then + 'strip " from the folder path + fl = Left(fl,len(fl)-1) + 'set flag to recurse + recurseFlag=1 + End if + 'strip of the EFT Virtual informaiton + f2 = fl + fl = StripVirtualPortion(fl) + 'WScript.Echo "Exporting info for folder: " & CurrFolder & fl + 'Get the physical path + StrPhysical = objSite.GetPhysicalPath(CurrFolder & fl) + IF objFSO2.FolderExists(strPhysical) THEN + folderStat = "The folder exists" + ELSE + folderStat = "Sorry this folder does not exist" + 'If Delete Flag is set remove VFS Entries where Physical folder does not exist + if delFlag = "True" then + objSite.RemoveFolder(CurrFolder & fl) + folderStat = folderStat & " and has been removed from VFS" + recurseFlag = 0 + end if + END IF + 'output infomaion to logfile + objLogFile.WriteLine(CurrFolder & fl & ", " & StrPhysical & ", " & folderStat) + 'if the recurseFlag is set, call GetNextFolder again. + if recurseFlag > 0 then + GetNextFolder CurrFolder & fl,objSite + End if + Next + 'if Err.Number <> 0 Then + ' objLogFile.WriteLine(CurrFolder & fl & ", " & ", ERROR-FOLDER NOT FOUND IN VFS") + ' DisplayErrorInfo (CurrFolder & fl) + ' folderStat = "ERROR-FOLDER NOT FOUND IN VFS" + ' else + ' IF objFSO2.FolderExists(strPhysical) THEN + ' folderStat = "The folder exists" + ' ELSE + ' folderStat = "Sorry this folder does not exist" + ' 'If Delete Flag is set remove VFS Entries where Physical folder does not exist + ' if delFlag = "True" then + ' objSite.RemoveFolder(CurrFolder & fl) + ' end if + ' END IF + ' 'output infomaion to logfile + ' End IF 'error2 + end if 'No Error +End Function + +Function StripVirtualPortion(ByVal sPath) + + Dim iPos , sVirtualFolderPath,bIsVirtual + + iPos = InStr(1, sPath, " - Virtual", 1 ) + If ( iPos > 0 ) Then + 'WScript.Echo "-->Stripping VIRTUAL portion of folder name" + sVirtualFolderPath = sPath + sPath = Left( sPath, iPos -1 ) + End If + + StripVirtualPortion = sPath +End Function + + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function + +Sub DisplayErrorInfo (CurrFolder) + objErrorLogFile.WriteLine(CurrFolder & ", " & Err & ", " & Hex(Err) & ", " & Err.Source & ", " & Err.Description) + WScript.Echo "Folder : " & CurrFolder + WScript.Echo "Error: : " & Err + WScript.Echo "Error (hex) : &H" & Hex(Err) + WScript.Echo "Source : " & Err.Source + WScript.Echo "Description : " & Err.Description + Err.Clear + +End Sub \ No newline at end of file diff --git a/vbs/a.vbs b/vbs/a.vbs new file mode 100644 index 0000000..7334ed8 --- /dev/null +++ b/vbs/a.vbs @@ -0,0 +1,17 @@ +Dim FSO +Set FSO = CreateObject("Scripting.FileSystemObject") + +' Define source file name. +sourceFile = "C:\Users\jbranan\Desktop\source\Report File.xml" +' Define target file name. +destinationFile = "C:\Users\jbranan\Desktop\destination\Report File.xml" +'opy source to target. +FSO.CopyFile sourceFile, destinationFile +'Function UnicodeFileCopy(src As String, dst As String) As String +' On Error Resume Next +' FileCopy src, dst +' UnicodeFileCopy = Err.Description +'End Function +'Sub Main +' Call UnicodeFileCopy"C:\Users\jbranan\Desktop\source\Report File.xml", "C:\Users\jbranan\Desktop'\destination\Report File.xml" +'End Sub \ No newline at end of file diff --git a/vbs/change_email.vbs b/vbs/change_email.vbs new file mode 100644 index 0000000..1c10c52 --- /dev/null +++ b/vbs/change_email.vbs @@ -0,0 +1,47 @@ +' +' FILE: ListUserInfo.vbs +' CREATED: 6-8-2012 (dransom@globalscape.com) +' UPDATED: 6-5-2014 (jhulme@globalscape.com) +' VERSION: 1.1 *added Settings template membership | Test against 6.5.x +' VERSION: 1.2 *added Added enabled/disabled +' PURPOSE: Modified script that creates CSV file for users +' Tested against EFT Server Versions 6.3.x / 6.4.x / 6.5.x +' Provides the following information: +' Username, Description, Email,Account Creation, Disk Quota, Used space, Home Directory, Settings template membership, Last Connection Time +' **This script is provided AS IS to our customers as a courtesy no support is provided in modifying or debugging this script. +' +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") +CRLF = (Chr(13)& Chr(10)) +'Modify the following variables to match your environment + txtServer = "localhost" + txtPort = "1100" + txtUserName = "eftadmin" + txtPassword = "a" + txtSiteName = "GS" + userName = "test" + +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +'chnage email +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + set userSettings = theSite.GetUserSettings(userName) + userSettings.Email = "jhulme@globalscape.com" + end if +Next + +'Close all variables +SFTPServer.Close +Set theSite = nothing +Set SFTPServer = nothing +SET WriteStuff = NOTHING +SET myFSO = NOTHING \ No newline at end of file diff --git a/vbs/changepassword.vbs b/vbs/changepassword.vbs new file mode 100644 index 0000000..5f44291 --- /dev/null +++ b/vbs/changepassword.vbs @@ -0,0 +1,54 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.39" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = "test" +siteName = "GS" +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + +'selectedSite.ChangeUserPassword userName, "abcd", 0 +selectedSite.ChangeUserPassword userName, "test1", 0 +'$1$abcdefg$M72mUVrUAZrOg1C7Nl1qM. + + set userSettings = selectedSite.GetUserSettings(userName) + +'userSettings.MaxInactivePeriod = 30 + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/createPermissionGroup.vbs b/vbs/createPermissionGroup.vbs new file mode 100644 index 0000000..7f6eb40 --- /dev/null +++ b/vbs/createPermissionGroup.vbs @@ -0,0 +1,54 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +'Input boxes **do not modify** +msgTitle = "Globalscape EFT Server" +siteMessage = "Enter the site name:" +groupMessage = "Enter the name of the new group" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +siteName = InputBox (siteMessage, msgTitle) + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +'physical or virtual? +txtGroup = InputBox (groupMessage, msgTitle) + +selectedSite.CreatePermissionGroup(txtGroup) + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/createPhysicalFolder.vbs b/vbs/createPhysicalFolder.vbs new file mode 100644 index 0000000..e094224 --- /dev/null +++ b/vbs/createPhysicalFolder.vbs @@ -0,0 +1,75 @@ +' +' FILE: CreateUserEX2.vbs +' AUTHOR: Brian Arriaga +' CREATED: 17 MAR 2015 +' MODIFIED: 17 MAR 2015 +' ORIGINALLY CREATED FOR: EFT Server 6.5-7.0.3 +' PURPOSE: This script creates a specified user using the CreateUserEX2 method. +' +' NOTE: The creation and modification of COM API scripts is not within the standard scope of Support. +' All COM API scripts are supplied as a courtesy "AS IS" with no implied or explicit guarantee of function. +' GlobalSCAPE is not responsible for any damage to system or data as a result of using supplied COM API scripts. +' Further information and usage instruction on COM API methods can be found online within the help file: http://help.globalscape.com/help/ +' + +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +'Modify the below connection details to reflect your own environment. + txtServer = "192.168.102.28" + txtPort = "1100" + txtAdminUserName = "eftadmin" + txtAdminPassword = "a" + txtSiteName = "GS" + createdFolder = "/Usr/created" + +Dim theSite + +Call ConnectToServerEx() +Call FindSite() +Call CreatePhysical() + +SFTPServer.Close +Set SFTPServer = nothing + +'========================================== +'This sub connects to the server with AD authentication +'========================================= +Sub ConnectToServerEx() + SFTPServer.ConnectEx txtServer, txtPort, 1, "", "" + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + +'========================================== +'This sub connects to the server +'========================================= +Sub ConnectToServer() + SFTPServer.Connect txtServer, txtPort, txtAdminUserName, txtAdminPassword + + WScript.Echo "Connected to EFT Server: " & txtServer +End Sub + + +'========================================== +'This sub finds the specified site +'========================================= +Sub FindSite() + set Sites=SFTPServer.Sites + + For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + if LCase(Trim(theSite.Name)) = LCase(Trim(txtSiteName)) then + exit for + End if + Next + WScript.Echo "Connected to site: " & theSite.Name +End Sub + +'========================================== +'This sub Initializes the CINewUserData property, sets the variables and then creates a user account using the CreateUserEX2() method. +'========================================= +Sub CreatePhysical() + theSite.CreatePHysicalFolder(createdFolder) + +End Sub + diff --git a/vbs/createVFSFolder.vbs b/vbs/createVFSFolder.vbs new file mode 100644 index 0000000..a08cf9b --- /dev/null +++ b/vbs/createVFSFolder.vbs @@ -0,0 +1,64 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "GS" + +'Input boxes **do not modify** +msgTitle = "Globalscape EFT Server" +isPhysMessage = "Is the folder physical or virtual? (Type p for physical and v for virtual" +physFolderMessage = "Enter the full path of the physical folder...." +aliasMessage = "Enter the full path of the alias..." +physRefMessage = "Enter the physical path reference for the virtual folder..." + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +'physical or virtual? +txtIsPhys = InputBox (isPhysMessage, msgTitle) + +if txtIsPhys = "p" then +txtPhysPath = InputBox (physFolderMessage, msgTitle) +selectedSite.CreatePhysicalFolder(txtPhysPath) +end if + +if txtIsPhys = "v" then +txtAliasPath = InputBox (aliasMessage, msgTitle) +txtPhysRef = InputBox (physRefMessage, msgTitle) +Call selectedSite.CreateVirtualFolder(txtAliasPath, txtPhysRef) +end if + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/createsettingstemplate.vbs b/vbs/createsettingstemplate.vbs new file mode 100644 index 0000000..b17f1d6 --- /dev/null +++ b/vbs/createsettingstemplate.vbs @@ -0,0 +1,63 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to create a new settings tempalte for a specified site" +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +siteMessage = "Enter the site name where the user is located..." +templateMessage = "Enter New Template Name" + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +siteName = InputBox (siteMessage, msgTitle) +templateName = InputBox (templateMessage, msgTitle) + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + +selectedSite.CreateSettingsLevel(templateName) + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/encrypt or unencrypt.vbs b/vbs/encrypt or unencrypt.vbs new file mode 100644 index 0000000..e0e076e --- /dev/null +++ b/vbs/encrypt or unencrypt.vbs @@ -0,0 +1,51 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.28" +txtPort = "1100" +txtAdminUserName = "eftadmin" +txtPassword = "a" +boolEncrypt = true +folderPath = "/somefolder" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = "test" +siteName = "GS" +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + +'Encrypt or unencrypt folder +selectedSite.EncryptFolder "/BAPI", boolEncrypt + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/excel.vbs b/vbs/excel.vbs new file mode 100644 index 0000000..9ec5c46 --- /dev/null +++ b/vbs/excel.vbs @@ -0,0 +1,19 @@ +Dim objXL +Dim objWB +Dim objWS + +Set objXL = CreateObject("Excel.Application") +Set objWB = objXL.Workbooks.Open("C:\wd\scripts\blahblah.xls") +Set objWS = objWB.Worksheets("sheet1") + +objWS.Rows(1).EntireRow.Delete + +objWB.Save + +objWB.Close + +objXL.Quit + +Set objXL = Nothing +Set objWB = Nothing +Set objWS = Nothing \ No newline at end of file diff --git a/vbs/get_date1.vbs b/vbs/get_date1.vbs new file mode 100644 index 0000000..caec7f3 --- /dev/null +++ b/vbs/get_date1.vbs @@ -0,0 +1,33 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") +CRLF = (Chr(13)& Chr(10)) + + txtServer = "192.168.102.37" + txtPort = "1100" + txtUserName = "admin" + txtPassword = "Bran1739!" + txtSiteName = "MySite" + username = "a" + +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites +set theSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = txtSiteName Then + set theSite = site + Exit For + End If +Next + set userSettings = theSite.GetUserSettings(username) + MsgBox "Username: " &CStr(username)&" " & "Account creation time: " & CStr(userSettings.LastConnectionTime) + +SFTPServer.Close +Set theSite = nothing +Set SFTPServer = nothing \ No newline at end of file diff --git a/vbs/get_date_user_last_connected.vbs b/vbs/get_date_user_last_connected.vbs new file mode 100644 index 0000000..6f0c3c3 --- /dev/null +++ b/vbs/get_date_user_last_connected.vbs @@ -0,0 +1,42 @@ +' +' FILE: get_date_user_last_connected.vbs +' CREATED: 10-26-2020 (jbranan@globalscape.com) +' UPDATED: 10-26-2020 (jhulme@globalscape.com) +' PURPOSE: Returns date/time a user last connected +' **This script is provided AS IS to our customers as a courtesy no support is provided in modifying or debugging this script. +' +' Set username variable with the username of the user you would like to view +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") +CRLF = (Chr(13)& Chr(10)) +'Modify the following variables to match your environment + txtServer = "localhost" + txtPort = "1100" + txtUserName = "username" + txtPassword = "password" + txtSiteName = "MySite" + username = "a" + +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites +set theSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = txtSiteName Then + set theSite = site + Exit For + End If +Next + set userSettings = theSite.GetUserSettings(username) + MsgBox "Username: " &CStr(username)&" " & "Last Connection Time: " & CStr(userSettings.LastConnectionTime) + +'Close all variables +SFTPServer.Close +Set theSite = nothing +Set SFTPServer = nothing \ No newline at end of file diff --git a/vbs/passphrase to csv.vbs b/vbs/passphrase to csv.vbs new file mode 100644 index 0000000..192a937 --- /dev/null +++ b/vbs/passphrase to csv.vbs @@ -0,0 +1,34 @@ +' +Dim fso +Set fso = WScript.CreateObject("Scripting.Filesystemobject") +Set f = fso.OpenTextFile("C:\Users\fischerc\Desktop\output.csv", 2) +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + txtServer = "localhost" + txtPort = "1100" + txtUserName = "sig" + txtPassword = "Thund3r5truck!" + +' On Error Resume Next +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + SFTPhrase = theSite.SFTPKeyPassphrase + SSLPassphrase = theSite.GetPassPhrase() + f.WriteLine theSite.Name & "," & "SFTP Passphrase," & SFTPhrase + f.WriteLine theSite.Name & "," & "SSL Passphrase," & SSLPassphrase +Next + +Set theSite = nothing +Set SFTPServer = nothing +SET WriteStuff = NOTHING +SET myFSO = NOTHING +f.Close \ No newline at end of file diff --git a/vbs/passphrase.vbs b/vbs/passphrase.vbs new file mode 100644 index 0000000..1de92e0 --- /dev/null +++ b/vbs/passphrase.vbs @@ -0,0 +1,31 @@ +' + +' +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + txtServer = "localhost" + txtPort = "1100" + txtUserName = "test" + txtPassword = "test" + +' On Error Resume Next +SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword +If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + WScript.Quite(255) +Else + WScript.Echo "Connected to " & txtServer +End If +set Sites=SFTPServer.Sites + +For i = 0 to SFTPServer.Sites.Count-1 + set theSite=Sites.Item(i) + SFTPhrase = theSite.SFTPKeyPassphrase + SSLPassphrase = theSite.GetPassPhrase() + Wscript.Echo theSite.Name & "SFTP Passphrase " & SFTPhrase + Wscript.Echo theSite.Name & "SSL Passphrase " & SSLPassphrase +Next + +Set theSite = nothing +Set SFTPServer = nothing +SET WriteStuff = NOTHING +SET myFSO = NOTHING \ No newline at end of file diff --git a/vbs/remapvirtual.vbs b/vbs/remapvirtual.vbs new file mode 100644 index 0000000..0cf3959 --- /dev/null +++ b/vbs/remapvirtual.vbs @@ -0,0 +1,47 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "localhost" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "GS" +strAlias = "/virtual" +strNewPath = "C:\temp" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +selectedSite.RemapVirtualFolder strAlias, strNewPath + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/retreiveIPAccessRules.vbs b/vbs/retreiveIPAccessRules.vbs new file mode 100644 index 0000000..1827202 --- /dev/null +++ b/vbs/retreiveIPAccessRules.vbs @@ -0,0 +1,62 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.39" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" +siteName = "GS" +txtMyOutputFileName = "ipAccessRules.csv" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +'open output file +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, 8, True) + +'write data to a file +rules = SFTPServer.GetIPAccessRules() +For Each key In rules + If key.type = 1 Then + If key.allow = True Then + isAllowed = "Allowed" + else + isAllowed = "Denied" + End if + + WriteStuff.WriteLine(key.address & ", " & isAllowed) + End if +Next + +WScript.Echo "Done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/retreivemaxpassworddays.vbs b/vbs/retreivemaxpassworddays.vbs new file mode 100644 index 0000000..61ee3a8 --- /dev/null +++ b/vbs/retreivemaxpassworddays.vbs @@ -0,0 +1,54 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) +txtServer = "192.168.102.39" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = "new" +siteName = "GS" +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + + set userSettings = selectedSite.GetUserSettings(userName) + dim passwordValue + set passwordValue = userSettings.GetResetPasswordSettings() + passWordDays = passwordValue.MaxPasswordAgeDays + wScript.echo(passWordDays) + +'userSettings.MaxInactivePeriod = 30 + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/retrieve_admin_accounts.vbs b/vbs/retrieve_admin_accounts.vbs new file mode 100644 index 0000000..d3713f7 --- /dev/null +++ b/vbs/retrieve_admin_accounts.vbs @@ -0,0 +1,52 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to retrieve admin users that have administration permissions in EFT" +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +txtMyOutputFileName = "Admin-Users.csv" + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +Set myFSO = CreateObject("Scripting.FileSystemObject") +Set WriteStuff = myFSO.OpenTextFile(txtMyOutputFileName, 8, True) + +For Each admin In SFTPServer.AdminAccounts +WriteStuff.WriteLine(admin.login) +Next + +Wscript.echo "done" + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/setTemplate.vbs b/vbs/setTemplate.vbs new file mode 100644 index 0000000..ed8c4b0 --- /dev/null +++ b/vbs/setTemplate.vbs @@ -0,0 +1,47 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +txtServer = "localhost" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" +userName = "test" +siteName = "GS" +newTemplate = "new" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +Call selectedSite.MoveUserToSettingsLevel(userName, newTemplate) + + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/sethomedir.vbs b/vbs/sethomedir.vbs new file mode 100644 index 0000000..b6da703 --- /dev/null +++ b/vbs/sethomedir.vbs @@ -0,0 +1,68 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +welcomeMsg = "The script you are running is used to return the date and time which a user's password is going to expire." +msgTitle = "Globalscape EFT Server" +serverMessage = "Enter EFT Server IP..." +portMessage = "Enter EFT Server Port..." +adminMessage = "Enter EFT Admin username..." +passMessage = "Enter EFT Admin password..." +siteMessage = "Enter the site name where the user is located..." +userMessage = "Enter the Username for which you would like to retrieve the expiration date and time..." +folderMessage = "Enter home folder" + +'Display welcome message +Call MsgBox (welcomeMsg, , msgTitle) + +'Input Prompts +txtServer = InputBox (serverMessage, msgTitle) +txtPort = InputBox (portMessage, msgTitle) +txtAdminUserName = InputBox(adminMessage, msgTitle) +txtPassword = InputBox(passMessage, msgTitle) + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +userName = InputBox (userMessage, msgTitle) +siteName = InputBox (siteMessage, msgTitle) +folderName = InputBox (folderMessage, msgTitle) + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + + set userSettings = selectedSite.GetUserSettings(userName) + +'set home directory +userSettings.SetHomeDirString(homeFolder) + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/sethomedir_Noneinteractive.vbs b/vbs/sethomedir_Noneinteractive.vbs new file mode 100644 index 0000000..e7d9c62 --- /dev/null +++ b/vbs/sethomedir_Noneinteractive.vbs @@ -0,0 +1,53 @@ +Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer") + +CRLF = (Chr(13)& Chr(10)) + +txtServer = "localhost" +txtPort = "1111" +txtAdminUserName = "eftadmin" +txtPassword = "a" +userName = "mike1" +siteName = "GS" +homeFolder = "/noexisty" + +If Not Connect(txtServer, txtPort, txtAdminUserName, txtPassword) Then + WScript.Quit(0) +End If + +set selectedSite = Nothing +set sites = SFTPServer.Sites() +For i = 0 To sites.Count -1 + set site = sites.Item(i) + If site.Name = siteName Then + set selectedSite = site + Exit For + End If +Next + +If Not selectedSite Is Nothing Then + + set userSettings = selectedSite.GetUserSettings(userName) + +'set home directory +userSettings.SetHomeDirString(homeFolder) + +End If + +SFTPServer.Close +Set SFTPServer = nothing + +Function Connect (serverOrIpAddress, port, username, password) + + On Error Resume Next + Err.Clear + + SFTPServer.Connect serverOrIpAddress, port, username, password + + If Err.Number <> 0 Then + WScript.Echo "Error connecting to '" & serverOrIpAddress & ":" & port & "' -- " & err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error" + Connect = False + Exit Function + End If + + Connect = True +End Function \ No newline at end of file diff --git a/vbs/template.vbs b/vbs/template.vbs new file mode 100644 index 0000000..2d2ea63 --- /dev/null +++ b/vbs/template.vbs @@ -0,0 +1,21 @@ +dim template +dim oServer, oSites, oSite, oTemplate +set oServer = CreateObject ("SFTPCOMInterface.CIServer") +template = "new" + +oServer.connect "localhost", 1111,"eftadmin","a" +set oSites = oServer.Sites() + +for i = 0 to oSites.Count() -1 + set oSite = oSites.Item (i) + if oSite.Name = "GS" Then + exit for + end if +next + +set oTemplate = oSite.GetSettingsLevelSettings (template) +dim forced, isInherited +forced = oTemplate.GetForcePasswordResetOnInitialLogin(isInherited) +Wscript.Echo "template: " & template & "; ForcePasswordResetOnInitialLogin: " & forced & "; inherited: " & isInherited + +oServer.close \ No newline at end of file