매시간 내 컴퓨터에서 실행되는 데몬 프로세스가 있으며 Hidden
상자를 선택했지만 작동하지 않습니다.
1 시간마다 작업이 실행되지만 내 .NET 콘솔 앱이 실행중인 검은 색 명령 창이 표시됩니다. 작업이 완료 될 때까지 계속 표시된 다음 사라집니다. 이것은 내가하는 일을 팝업하고 중단하기 때문에 매우 성가시다.
나는 그것을 숨기고 싶기 때문에 어떻게 해결할 수 있습니까?
매시간 내 컴퓨터에서 실행되는 데몬 프로세스가 있으며 Hidden
상자를 선택했지만 작동하지 않습니다.
1 시간마다 작업이 실행되지만 내 .NET 콘솔 앱이 실행중인 검은 색 명령 창이 표시됩니다. 작업이 완료 될 때까지 계속 표시된 다음 사라집니다. 이것은 내가하는 일을 팝업하고 중단하기 때문에 매우 성가시다.
나는 그것을 숨기고 싶기 때문에 어떻게 해결할 수 있습니까?
답변:
"사용자 로그온 여부 실행"확인란을 선택하면 실행 파일이 백그라운드에서 실행됩니다.
Windows 7 예약 된 작업이 숨겨진 이유는 무엇입니까? 왜 이런 일이 발생했는지 설명해야합니다.
또한 일반 작업 속성에 대한 TechNet 설명은 다음 과 같습니다.
작업의 일반 속성은 작업 속성 또는 작업 만들기 대화 상자의 일반 탭에 표시됩니다. 작업의 일반 속성에는 작업 이름, 작성자, 설명, 보안 옵션, 작업이 구성된 운영 체제 및 작업을 숨길 지 여부를 제어하는 속성이 포함 됩니다.
작업 폴더에서 작업을 만들 때는 작업 이름을 지정해야합니다. 두 개의 작업이 동일한 작업 폴더에있는 경우 같은 이름을 가질 수 없습니다. 작업 설명은 선택 사항입니다.
작업 보안 옵션은 작업이 실행되는 보안 컨텍스트를 지정합니다. 자세한 내용은 작업 보안 컨텍스트를 참조하십시오.
기본적으로 숨겨진 작업은 작업 스케줄러 사용자 인터페이스에 표시되지 않습니다. 보기 메뉴에서 숨겨진 작업 표시를 선택하면 숨겨진 작업을 볼 수 있습니다. 작업 속성 또는 작업 만들기 대화 상자의 일반 탭에서 숨겨진 확인란을 클릭하면 작업이 숨겨집니다.
이것은 확인란 이 예약 된 실제 프로그램이 아니라 스케줄러의 UI 에서만 작업 자체 를 숨기고 있음을 의미 하지 않습니까?
좋아, 더 많은 연구를 한 결과 StackOverflow 에서이 답변 을 찾았습니다 .
백그라운드에서 실행되도록 예약 된 작업을 설정하려면 작업을 실행하는 사용자를 SYSTEM으로 변경하면 화면에 아무것도 나타나지 않습니다.
한 의견 은 이것이 작업에 대한 모든 권리를 부여한다고 말하며, 이는 성가신 일이 될 수 있지만이 경우 수용 가능합니다.
그러나 여전히 Hidden
그렇게하지 않으면 어떻게해야합니까? 그리고 왜 프로그램을 실행하는 사용자 계정이 보이는지 여부와 관련이 있습니까?
SYSTEM
계정이 파일을 암호화 다른 사용자의 EFS에 액세스 할 수 없습니다.
최고의 솔루션
그것들이 당신을위한 거래 차단기 인 경우, 궁극적 인 해결책은 아래의 것과 같은 JS 스크립트 파일을 생성하는 것입니다.이 스크립트는 숨겨진 창에서 명령을 실행하고 명령이 종료 될 때까지 기다렸다가 오류 코드를 반환합니다.
WScript.CreateObject("WScript.Shell")
.Run('powershell -File C:\\Path\\To\\MyScript.ps1', 0,true);
기본 설정을 그대로두고 창을 표시하지 않고 실행을 생성하는 짧은 사용자 정의 프로그램을 작성합니다. 예를 들어 명령 프롬프트 창을 표시하지 않고 배치 파일을 실행하려면 아래 코드를 사용하십시오. "RunBatchFile.exe (path_to_batch_file)"를 생성하도록 작업을 설정하십시오.
class Program
{
static void Main(string[] args)
{
try
{
if (args.Length < 1)
{
Console.WriteLine("No batch file");
Console.WriteLine("Usage: RunBatchFile (path)");
Environment.Exit(1);
}
if (!File.Exists(args[0]))
{
Console.WriteLine("Batch file {0} not found", args[0]);
Console.WriteLine("Usage: RunBatchFile (path)");
Environment.Exit(1);
}
// Set to batch file's folder
string startIn = Path.GetDirectoryName(args[0]);
if (!string.IsNullOrEmpty(startIn) && Directory.Exists(startIn))
Directory.SetCurrentDirectory(startIn);
// Start
ProcessStartInfo pi = new ProcessStartInfo()
{
FileName = args[0],
UseShellExecute = true,
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(pi);
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.ToString());
}
}
}
ProcessWindowStyle.Hidden
부분에 의한 것이라고 생각합니다 . 나는 여기에 대해 뭔가를 참조하십시오 msdn.microsoft.com/en-us/library/...
Powershell 예약 작업 (GPO를 통해 배포 중) 에서이 문제가 발생했습니다. 명령 창에 배치했습니다.
CMD
/Q /D /C "powershell.exe -Command "& '\\MYDOMAIN\netlogon\MyPowerShellScript.ps1'""