2014-07-15 3 views
0

CSV 파일에서 데이터를 읽으려고합니다. Import-csv cmdlet을 사용하고 있습니다. 이 csv 파일 내가 인스턴스 이름을 트림과 CSV 파일에서 전용 서버 이름을 읽을 수PowerShell에서 특수 문자 다음에 CSV 파일의 데이터 자름

Instance 

Test 

Test1\002 

Test2 

Test3\001 

아래와 같이 인스턴스 이름과 SQL Server 데이터를 가지고있다. 이를 달성하기위한 도움을 찾고 있습니다.

$InputFile = Import-Csv "C:\Test\SQLInstance.csv" 

foreach($Servers in $Inputfile) 
{ 
Write-Host "ServerName:" $Servers.instance 
Get-WmiObject win32_service -ComputerName $Servers.instance | Select Name, Startmode, State | Where-Object ` 
{$_.name -like "*SQL*" -and $_.Startmode -match "Auto" -and $_.state -match "Stopped"} | FT -AutoSize 
} 

답변

0

당신은 -replace 연산자를 사용하여 trailling 문자와 정규 표현식 테스트를 제거하기 위해 테스트해야합니다 다음과 같이

내 스크립트는 다음과 같습니다

본인은 SQL Server 서비스의 세부 보고서를 준비하고 :

"test\001" -replace '\\.*$','' 
"test1" -replace '\\.*$','' 

그래서 당신은 쓸 수 있습니다 :

$serverName = $Servers.instance -replace '\\.*$','' 
+0

Perfect. $ InputFile = Import-Csv "C : \ Test \ SQLInstance.csv"| % {$ _. 인스턴스 = $ _. 인스턴스 - "\\. * $"; $ _} – sqllearner