2016-07-06 3 views
1

시간에 따라 내 PC에서 소셜 미디어를 차단하고 싶습니다. 오전 9시 이후에 차단하고 오전 11시 이후에 차단 해제 (자녀 보호과 같이) 다음을 시도했지만 실패했습니다. Windows에서 소셜 미디어를 차단하는 방법

Unblock.bat 파일을

@echo off 
(Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "127.0.0.1 facebook.com", "#127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts 

을 만든 block.bat 파일

@echo off 
(Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "#127.0.0.1 facebook.com", "127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts 

을 만들고 작업 스케줄러 이러한 2 박쥐 파일을 추가했습니다. 차단은 오전 11시에 실행되고 오후 9시에 잠금 해제됩니다.

Set-Content : The input object cannot be bound because it did not contain the 
information required to bind all mandatory parameters: Path 
At line:1 char:140 
+ ... e "#127.0.0.1 facebook.com", "127.0.0.1 facebook.com" } | Set-Content 
+                ~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (# Copyright (c)...Microsoft Corp.:String) [Set-Content], ParameterBindingException 
    + FullyQualifiedErrorId : InputObjectMissingMandatory,Microsoft.PowerShell.Commands.SetContentCommand

을 수동으로 박쥐 파일을 실행하면 아무것도하지 않는다 :

나는 PowerShell에서이 오류를 얻고있다.

+0

안녕하세요, 무엇을 작동하지 않는 이유는 무엇입니까? 박쥐 파일? 예정된 작업? 이 질문을 포함하도록 질문을 편집하십시오. – sodawillow

+0

실패한 것이 정확히 무엇인지 자세히 설명해주십시오. –

+0

powershell에서 테스트 스크립트 실행하기'(Get-Content test.txt) | ForEach-Object {$ _ -replace "from", "to"} | Set-Content test.txt'이 코드는 완벽하게 작동합니다. 하지만 내가 경로를 변경하고 박쥐에서 실행되면 그것은 작동하지 않습니다. – Nithee

답변

1

이 코드에 대한 샷 보내기

@Echo off 
cls & color 0A & echo. 
Mode con cols=55 lines=5 
Set Copyright=Hackoo 2016 
Title Block-UnBlock Facebook by %Copyright% 
::::::::::::::::::::::::::::::::::::::::: 
:: Automatically check & get admin rights 
::::::::::::::::::::::::::::::::::::::::: 
CLS 
Echo. 
Echo. 
ECHO   ************************************** 
ECHO     Running Admin shell 
ECHO   ************************************** 
::pause 
:checkPrivileges 
NET FILE 1>NUL 2>NUL 
if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges) 

:getPrivileges 
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) 
Echo. 
ECHO. 
ECHO   ************************************** 
ECHO   Invoking UAC for Privilege Escalation 
ECHO   ************************************** 

setlocal DisableDelayedExpansion 
set "batchPath=%~0" 
setlocal EnableDelayedExpansion 
(
ECHO Set UAC = CreateObject^("Shell.Application"^) 
ECHO args = "ELEV " 
ECHO For Each strArg in WScript.Arguments 
ECHO args = args ^& strArg ^& " " 
ECHO Next 
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 
)> "%temp%\OEgetPrivileges.vbs" 
"%SystemRoot%\System32\WScript.exe" "%temp%\OEgetPrivileges.vbs" %* 
exit /B 

:gotPrivileges 
if '%1'=='ELEV' shift /1 
setlocal & pushd . 
cd /d "%~dp0" 
:::::::::::::::::::::::::::: 
::START 
:::::::::::::::::::::::::::: 
setlocal enabledelayedexpansion 
Set Copyright=Hackoo 2016 
Title Block-UnBlock Facebook by %Copyright% 
Rem If you didn't want to create a shortcut and see the intro on your desktop just comment this line below 
If Not Exist %USERPROFILE%\Desktop\Block-UnBlock_Facebook.lnk Goto:Intro 
::*********************************************************************************************** 
:CheckPassword 
Mode con cols=55 lines=3 
cls & color 0A & echo. 
set MyPassword=Hackoo 
set "psCommand=powershell -Command "$pword = read-host 'Enter your password' -AsSecureString ;^
    $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword);^
     [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)"" 
for /f "usebackq delims=" %%p in (`%psCommand%`) do set password=%%p 
if %MyPassword%==%password% (Goto:Good) else (Goto:Bad) 
exit/b 
::*********************************************************************************************** 
:Good 
Cls & Color 0A 
echo(
echo      Good Password 
TimeOut /T 1 /NoBreak>nul 
Goto:menuLOOP 
::*********************************************************************************************** 
:Bad 
Cls & Color 0C 
echo(
echo      Bad password 
TimeOut /T 1 /NoBreak>nul 
Goto:CheckPassword 
::*********************************************************************************************** 
:menuLOOP 
Mode con cols=85 lines=8 
Cls & color 0B 
Title Block and UnBlock Facebook by %Copyright% 
echo(
echo(  ================================Menu================================ 
echo(
for /f "tokens=2* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do echo        %%A %%B 
echo(
echo(  ==================================================================== 
set choice= 
echo(& set /p choice=Make a choice or hit ENTER to quit: || GOTO :EOF 
echo(& call :menu_[%choice%] 
GOTO:menuLOOP 
::******************************************************************************************** 
:menu_[1] Blocking Facebook 
Mode con cols=85 lines=8 
cls & color 0C 
Call:SkipLine 3 
Call:Tab 6 
echo %x% "Deactivate write protection" ... 
TimeOut /T 2 /NoBreak>nul 
set hostspath=%windir%\System32\drivers\etc\hosts 
Set BackupHosts=%AppData%\hosts.hackoo 
If Not Exist %BackupHosts% Attrib -R %hostspath% && Type %hostspath% > %BackupHosts% 
cls 
Attrib -R %hostspath% 
(
echo ########################### 
echo # Block Facebook %Copyright%# 
echo ########################### 
echo 127.0.0.1 www.facebook.com 
echo 127.0.0.1 facebook.com 
echo 127.0.0.1 ok.facebook.com 
echo 127.0.0.1 www.ok.facebook.com 
echo 127.0.0.1 a.ok.facebook.com 
echo 127.0.0.1 www.a.ok.facebook.com 
echo 127.0.0.1 facebook.com.au 
echo 127.0.0.1 www.facebook.com.au 
echo 127.0.0.1 nl-nl.facebook.com 
echo 127.0.0.1 www.nl-nl.facebook.com 
echo 127.0.0.1 facebook.nl 
echo 127.0.0.1 www.facebook.nl 
echo 127.0.0.1 login.facebook.com.au 
echo 127.0.0.1 www.login.facebook.com.au 
echo 127.0.0.1 www-10-01-snc2.facebook.com 
echo 127.0.0.1 www-11-01-snc2.facebook.com 
echo 127.0.0.1 www-10-03-ash1.facebook.com 
echo 127.0.0.1 www-12-08-ash1.facebook.com 
echo 127.0.0.1 www-13-08-ash1.facebook.com 
echo 127.0.0.1 static.ak.fbcdn.net 
echo 127.0.0.1 www.static.ak.fbcdn.net 
echo 127.0.0.1 login.facebook.com 
echo 127.0.0.1 www.login.facebook.com 
echo 127.0.0.1 login.facebook.com.nl 
echo 127.0.0.1 www.login.facebook.com.nl 
echo 127.0.0.1 fbcdn.net 
echo 127.0.0.1 www.fbcdn.net 
echo 127.0.0.1 fbcdn.com 
echo 127.0.0.1 www.fbcdn.com 
echo 127.0.0.1 ads.ak.facebook.com 
echo 127.0.0.1 www.ads.ak.facebook.com 
echo 127.0.0.1 static.ak.connect.facebook.com 
echo 127.0.0.1 www.static.ak.connect.facebook.com 
echo 127.0.0.1 login.facebook.com 
echo 127.0.0.1 www.login.facebook.com 
) > %hostspath% 
cls 
Call:SkipLine 3 
Call:Tab 5 
echo %x% "Facebook is Blocked by %Copyright%" 
ATTRIB +R %hostspath% 
TimeOut /T 2 /NoBreak>nul 
Start www.facebook.com 
::GOTO :menuLOOP 
Exit 
::******************************************************************************************** 
:menu_[2] UnBlocking Facebook 
cls & color 0A 
Title UnBlocking Facebook .... 
Call:SkipLine 3 
Call:Tab 5 
set hostspath=%windir%\System32\drivers\etc\hosts 
Set BackupHosts=%AppData%\hosts.hackoo 
If Exist %BackupHosts% Attrib -R %hostspath% && Type %BackupHosts% > %hostspath% 
ATTRIB +R %hostspath% 
echo %x% "Facebook is UnBlocked by %Copyright%" 
TimeOut /T 2 /NoBreak>nul 
Start www.facebook.com 
Exit 
::GOTO :menuLOOP 
::****************************************************************************************** 
:Play 
(
echo Play "%~1" 
echo Sub Play(URL^) 
echo Dim Sound 
echo Set Sound = CreateObject("WMPlayer.OCX"^) 
echo Sound.URL = URL 
echo Sound.settings.volume = 100 
echo Sound.Controls.play 
echo do while Sound.currentmedia.duration = 0 
echo  wscript.sleep 100 
echo loop 
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000 
echo End Sub 
)>%~2 
::******************************************************************************************** 
:SkipLine 
    For /L %%I In (1,1,%1) Do Echo(
    Goto:Eof 
::******************************************************************************************** 
:Tab 
set "x=" 
For /L %%I In (1,1,%1) Do Set "x=!x! " 
REM         ^-- this is a TAB 
goto :eof 
::******************************************************************************************** 
:Intro 
Color 0A & Mode con cols=101 lines=57 
echo(
echo          ` `` ` ` ` `` ``          
echo         ``` ` `````````  ` `         
echo         ` .-/+osyhhhhhhhhhhhhyyso+:-` ` `        
echo        ````/hddddddddddddddddddddddddddhy- `` `        
echo        `` :mdmdmdmmddddddddddddddddddddddy`         
echo         ` oNmmmmddddddddddddddddddddddmmmd. `        
echo         ` yNmNNNmmmmmmmmmmmmmmmmmmmmmmmmmm:         
echo        ` .dNmNmNNmmNmmmmmmmmmmmmmmmmmmmmmN+ ``        
echo        ` :NmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNy ` ``       
echo        ` oNmmmmNmmmmmmmmmmmmmmmmmmmmmmmmmmm. `       
echo        ` hNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmN: `  `      
echo     ``   ` .mNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmN+ `` `` `      
echo    ` ` `..-/++osyNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNmNy``` ``      
echo    ` ` `.:+syhddddddmmmNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNmyoo/:-.``      
echo   ` ``-/shhddddddddddddmNNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNmdddddddhyo+:-``` ```   
echo   ` `.+ydddddddddddddddddNNNNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddmddddmmddhyo:.``   
echo   ``+dddddddddddddddddmmmNNNNmmmmmmmmdddddmddddddddmmdmmmmmmNmdmdddddddddddddddy/`   
echo  ` `ydddddddddddddddddddmNNNNNmmmmmdddddddddddddddddddddmmmNNNmdddddddddddddddddddd/``  
echo   omdmdddddddddddddddddmNNNmmmmmmmmddddddddddddddddddddmmNNNmmdmddddddddddddddddddd. `  
echo  ` omddddddddddddmddddmmdmmmmmmNmmmmmddddddddddddddddmmmmmNmmmdddddddddddddddddddddy` ` `  
echo   `ymdddddddddddddddddmddddmmmmmmmmmdddddddddddddddddmmmdmddddddddddddddddddddddds. ``  
echo  ` `+dmdddddmmdmmmmddmmmdddddmmmddddddddddddddddddddddddddddddddddmmddmddddddmh+.` ` `  
echo   `` ``/shmdmddmmmmmmmddddmmmmmmmmmmdddddddddddddddddddddddddddddmmddmdddddhy+-` ` ` `  
echo  ` ` ```-/oyhdddmmmmmmmmmmmmmmmmmmdddddddddddddmddddmmmdmmddddddddddhyo/-` ` ` ` `  
echo   ` ` ` ` ` ``-/+sydddddddddmddmmdmdddmdddddmmmdmmmdddddddhhhhhho/-.` `     
echo      ``` ` :mNMNNNNNmdhhhhhhhddddddddhdhhhhhhhyyhmmNNNmmd. `       
echo      ` :mNNNNNMNNNhsooo+++++oyyo+oo++/://++++sNNNNNNmh/ ``      
echo      ``` :dNNNNNNMNNNdyssoo++/+oyy++o++////+oooohNNNNNNmd/ ` ` `      
echo      `:dNNNNNNMNNNNmyyssooo+osyy++ooo++++oosssdNNNNNNmdo ` `      
echo     ``./hNNNNNNNNNNNmNdsyhhoooyoys+/+o+++++yhssymNNNNNNmdy.       
echo    ` `` .oymNNNNmNNNMNNNNMhosdmdysohho+hs+++sddossmNNNNNNNmdmo````      
echo     ` ` -/smNNNNNNNNNNNNNMNdosyydmmmdoodNmmddssosmMNmNNNNNmmdds:.`      
echo `    ` ` .+dmNNNmNNNNNNNNNNMNdosyssssoo+osoooososmMMNmNNNNmNmmddds:.``     
echo ` ``` `` ` ``.-/odNNNNNNmNMNNNNNNMMMMMmssyooooyys++++oohNMMMNmNNNNmNmmmmNNNmdho-` `   
echo ` `` `.-/+syhdmNNNNMMNNNNNNNNNNNNmNMNNMNNhso++smms//+oodNNMMNmNmmNNmNNmNmNNNNNNNmhs/.` ` `  
echo ` ` .+ydmNNNNNNNNNMNMMNNNNNNNNNNNNNNMMMNMMNmy+/hmdh:++yNNNMMMNNNmmmmmNNmNNNNNNNNNNNNmmhs:.` `  
echo ```/dmNNNNNNNMNNNMMMMMMNMNNNNNNNNmNNMMMMMNMNNh+omNo/sdMNMNNMMNNNmmmmmmNNNNNNNNNNNNNNNNmNmds:`` ` 
echo ``.smmmNNNNNNNNNNNNNNNNMNMNNNMNNmNmNNMNMMMNNNNNNdNmdmNNNNNNMMNNNNNNmmmmNNNNNNNNNNNNNNNNNNNmmmh/` ` 
echo ``/dmmNmNNNNNNNNNNNNNNNNNNMMNNNNmmNNNMMMMMMMMMMMNMNNMNMNNNNNNNNNNNNNmmmmNNNNNNNNNNNNNNNNNmmNmmmms. ` 
echo NmmmmNNNmmmmNNNNNNNNNNNMMMNNNNNmNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNmmmmNNNNNNNNNNNNNNNmmmmNmmmmmh-` 
echo mmmmNmNmmmmmmmNNNNNNNNMMMMMMMMNNNmNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNNNmmmNNNNNNNNNNNNNNNNNmmmmmmmmmmd: 
echo mNNmmmmmmmmmmNNNNNMMMMMMNMNMMMMNNmNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmmmmmmmmmmmmmm 
echo NmmmmmmmmmmmNNNNNNNNMMNNNMNNNMMNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmmmmmmmmmmmm 
echo(
echo     "/ |/|     /|       "; 
echo     "$$ | $$ | ______ _______ $$ | __ ______ ______ "; 
echo     "$$ |__$$ |/ \/  |$$ |/|/ \/ \ "; 
echo     "$$ $$ | $$$$$$ |/$$$$$$$/ $$ |_/$$/ /$$$$$$ |/$$$$$$ |"; 
echo     "$$$$$$$$ |/ $$ |$$ |  $$ $$< $$ | $$ |$$ | $$ |"; 
echo     "$$ | $$ |/$$$$$$$ |$$ \_____ $$$$$$ \ $$ \__$$ |$$ \__$$ |"; 
echo     "$$ | $$ |$$ $$ |$$  |$$ | $$ |$$ $$/ $$ $$/ "; 
echo     "$$/ $$/ $$$$$$$/ $$$$$$$/ $$/ $$/ $$$$$$/ $$$$$$/ "; 
echo     "               "; 
echo     "               "; 

Set vbsfile=%temp%\Intro.vbs 
Set URL=http://hackoo.alwaysdata.net/Intro.mp3 
Call:Play %URL% %vbsfile% 
Start %vbsfile% 
Timeout /T 18 /Nobreak>nul 
::******************************************************************** 
Set MyFile=%~f0 
Set ShorcutName=Block-UnBlock_Facebook 
(
echo Call Shortcut("%MyFile%","%ShorcutName%"^) 
echo ^'**********************************************************************************************^) 
echo Sub Shortcut(CheminApplication,Nom^) 
echo Dim objShell,DesktopPath,objShortCut,MyTab 
echo Set objShell = CreateObject("WScript.Shell"^) 
echo MyTab = Split(CheminApplication,"\"^) 
echo If Nom = "" Then 
echo Nom = MyTab(UBound(MyTab^)^) 
echo End if 
echo DesktopPath = objShell.SpecialFolders("Desktop"^) 
echo Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Nom ^& ".lnk"^) 
echo objShortCut.TargetPath = Dblquote(CheminApplication^) 
echo ObjShortCut.IconLocation = "Winver.exe,0" 
echo objShortCut.Save 
echo End Sub 
echo ^'********************************************************************************************** 
echo ^'Fonction pour ajouter les doubles quotes dans une variable 
echo Function DblQuote(Str^) 
echo DblQuote = Chr(34^) ^& Str ^& Chr(34^) 
echo End Function 
echo ^'********************************************************************************************** 
) > %temp%\Shortcutme.vbs 
Start /Wait %temp%\Shortcutme.vbs 
Del %temp%\Shortcutme.vbs 
Goto:CheckPassword 
::**************************************************************************************************** 
:EOF 
EXIT 
+0

굉장 : O, 호스트 파일의 데이터를 차단하는 중 덮어 쓰는 동안 한 가지 더 문제가 있습니다. 모든 시간이 필요합니다. @Hackoo for this Awesome code. – Nithee

0

호스트가 로컬 호스트로 전달하여 페이스 북을 차단할 수 없습니다.

라우터 또는 방화벽에서 변경하십시오.

하지만 당신을 위해 일하는 경우 배치 파일로 이동하십시오. 블록

가장 사용이 VBS

https://www.experts-exchange.com/questions/26971010/VBScript-Hosts-File-add-remove-multiple-entries.html

+0

절대적으로 다른 질문이있을 수 있습니다 ... 또한 전문가 교환은 끔찍한 장소입니다 (유료화 !!!) –

+0

BDW vbs 스크립트가 잘 작동하고 컴퓨터에서 테스트 할 수 있습니다. – DisplayName

0

여기 후 우리의 솔루션입니다.

차단 해제

$HostFile = "$($env:windir)\system32\Drivers\etc\hosts" 

$Hosts = Get-Content -Path $HostFile 
(Get-Content $HostFile) -replace '127.0.0.1 Facebook.com', '#127.0.0.1 Facebook.com' | Set-Content $HostFile 

블록

$HostFile = "$($env:windir)\system32\Drivers\etc\hosts" 
$Hosts = Get-Content -Path $HostFile 
(Get-Content $HostFile) -replace '#127.0.0.1 Facebook.com', '127.0.0.1 Facebook.com' | Set-Content $HostFile 
관련 문제