2013-05-29 6 views
1

내가 네트워크 경로 연결이 PowerShell 스크립트를 사용하고 있습니다에서 인터넷 사용의 출력을 숨기는 방법 : 나는 스크립트에서 나중에 열 것이기 때문에,파워 쉘

$usrLogin = [Environment]::UserName + "@mydomain.net" 
$cred = Get-Credential $usrLogin 
$networkCred = $cred.GetNetworkCredential() 
$usercred = $networkCred.UserName + '@' + $networkCred.Domain 
$extractSource = "\\srv01\d$\" 
net use $extractSource $networkCred.Password /USER:$usercred 

나는 "인터넷 사용"을 사용하기로 결정을 직접 네트워크 경로를 여는 FileDialog.

$openFileDialog1 = New-Object System.Windows.Forms.OpenFileDialog 
$openFileDialog1.initialDirectory = "\\srv01\d$\" 

지금 내 질문 :

은 어떻게 "NET USE"명령의 출력을 숨길 수 있습니까? 나는 이것을 시도했지만 작동하지 않았다 : 위의

net use $extractSource $networkCred.Password /USER:$usercred | out-null 

답변

3

당신은 null로 오류 스트림을 리디렉션 할 수 있습니다 :

net use $extractSource $networkCred.Password /USER:$usercred 2>null 

(net use $extractSource $networkCred.Password /USER:$usercred) | out-null 

또는 다음과 같이 $ null로에 저장 : 그것은 여전히 ​​당신을 위해 작동하지 않는 경우, 다음을 시도

또는 2> & 1을 사용하여 오류 스트림을 표준 출력 스트림으로 리디렉션하고 둘 다 null로 설정하십시오.

net use $extractSource $networkCred.Password /USER:$usercred 2>&1>null 
+0

고마워요, 그게 내가 찾고 있던거야! 나는 항상 ">":-) 파이프 instad를 사용해야합니다 tought했습니다 – Deltahost

+0

당신은 2> & 1> null 뭐하는거야 설명해 주시겠습니까? 숫자를 리디렉션하면 오류가 어떻게 처리됩니까? – Richard

+0

늦게 답장을 드려 죄송합니다. 이 숫자는 콘솔 스트림을 나타내며, 2는 오류 스트림입니다. about_Redirection 도움말 항목에서 자세한 정보를 찾을 수 있습니다. –

1

라인 작동 내가 (out-null에 배관을)를 실행할 때.

$null = net use $extractSource $networkCred.Password /USER:$usercred 
+0

불행히도 두 가지 옵션이 모두 작동하지 않습니다 ... "net use"명령의 성공 메시지 만 숨기고 오류 경고는 숨기지 않습니다. 예를 들어 내가 두 번 명령을 실행할 때 나는 심지어 이것과 같은 오류를 파이프에 남긴다 : net.exe : 시스템 오류 1219가 발생했습니다. 줄 번호 : 133 문자 : 16 + $ null = net <<<< $ extractSource $ networkCred.Password/USER : $ usercred + CategoryInfo : NotSpecified : (시스템 오류 1219가 발생했습니다 .String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 서버 또는 공유 리소스에 대한 여러 연결 ... – Deltahost

+0

질문에 지정해야하는 내용입니다. 오류 출력을 처리하려면 Shay의 대답을 참조하십시오. –

+0

불확실한 질문에 사과드립니다 ... 어쨌든 고마워요! – Deltahost