如果我使用:「gpresult/r/scope user」,我將看到哪些GPO(安全組)處於活動狀態,因此我不想爲不同gpo的某些特定規則。現在我怎麼能過濾一些這些活動的GPO到我的批處理文件? 這是從我Gpresult的結果的一部分:在gpresult中找到gpo(for/find/findstr)
De gebruiker is lid van de volgende beveiligingsgroepen
Domain Users
Iedereen
SophosAdministrator
SophosUser
BUILTIN\Administrators
Gebruikers
INTERACTIEF
AANMELDEN OP DE CONSOLE
Geverifieerde gebruikers
Deze organisatie
LOKAAL
Iedereen
GS_08_cv's
Tekenkamer
GS_03_verslagen_openbaar
GS_07_overeenkomsten
GS_01_facturen
GS_04_Functieprofielen
GS_00_documenten
AEC
GS_02_functioneringsgesprekken
GS_06_offertes
GS_05_Arbeidsovereenkomsten
GS_09_ aanbevelingsbrieven
GS_03_verslagen_beperkt
Systeembeheer
Hoog verplicht niveau
我知道我可以搜索特定的名字(?字符串)與FINDSTR,即
gpresult /r /scope user | findstr /L /i "SysteemBeheer" > nul 2>&1
REM *alternative* gpresult /r /scope user | FIND /i "SysteemBeheer" > nul 2>&1
IF %ERRORLEVEL% EQU 0 (ECHO Sys.Beheer) ELSE ECHO NO.sys.beheer
但我能怎樣改變所以多行被讀取?
即(借用只是舉例一些代碼)
systeminfo | find "Microsoft Windows" > %TEMP%\osname.txt
FOR /F "usebackq delims=: tokens=2" %%i IN (%TEMP%\osname.txt) DO set vers=%%i
echo %vers% | find "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_7
echo %vers% | find "Windows Server 2008" > nul
if %ERRORLEVEL% == 0 goto ver_2008
echo %vers% | find "Windows Vista" > nul
if %ERRORLEVEL% == 0 goto ver_vista
goto warnthenexit
我的意思是這樣做從Gpresult的函數多個變量我希望一些如何找到多個安全組(GPO的),搜索(或者一個更好的辦法?)
我想它做這樣的事情,如果存在systeembeheer做blaat1,如果AEC存在,那麼blaat2,如果tekenkamer存在做blaat3,但多個GPO的CAN存在,所以如果上述1確實存在的腳本/搜索絕不僅於此,它還是有看,如果別人之一也同樣存在。
***也許更像這樣?
@echo off
CLS
setlocal enabledelayedexpansion
for %%i in (systeembeheer tekenkamer aec) do (
gpresult /r /scope user | findstr /L /i %%i
if errorlevel 0 if not errorlevel 1 echo %%i ok process found !errorlevel!
if errorlevel 1 if not errorlevel 2 echo %%i no process found !errorlevel!
)
:exit
pause
,改變了它豆蔻:
@ECHO OFF
CLS
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
for %%i in (SysteemBeheer Administratie PersoneelsZaken TeamPlan) do (
gpresult /r /scope user | findstr /L /i %%i > nul 2>&1
if errorlevel 0 if not errorlevel 1 Set "GPO_%%i=True"
if errorlevel 1 if not errorlevel 2 Set "GPO_%%i=False"
REM if errorlevel 0 if not errorlevel 1 echo %%i ok process found !errorlevel! *debug lines*
REM if errorlevel 1 if not errorlevel 2 echo %%i no process found !errorlevel! *debug lines*
)
if "%GPO_systeemBeheer%" == "True" (Echo GPO_SysteemBeheer=%GPO_systeemBeheer%) else Echo GPO_SysteemBeheer Not Found!
if "%GPO_Administratie%" == "True" (Echo GPO_Administratie=%GPO_Administratie%) else Echo GPO_Administratie Not Found!
if "%GPO_PersoneelsZaken%" == "True" (Echo GPO_PersoneelsZaken=%GPO_PersoneelsZaken%) else Echo GPO_PersoneelsZaken Not Found!
if "%GPO_TeamPlan%" == "True" (Echo GPO_TeamPlan=%GPO_TeamPlan%) else Echo GPO_TeamPlan Not Found!
:exit
echo.
echo.
PAUSE
這似乎做我想做什麼,BU我不知道這是否是最好的辦法還是做的正確方法? ??
有誰知道最後一段腳本是否是最好的方式嗎?或者是否有更好/更有效的方式? – APOC
這是完成和/或唯一的方法嗎? – APOC