2011-05-25 13 views
0

創建從.EXE輸出VAR我需要從用戶名的ID號使可變在的powershell

qwinsta.exe /server:vm041 derpy.herp 

這將返回以下輸出

SESSIONNAME  USERNAME     ID STATE TYPE  DEVICE 
        derpy.herp    3 Disc 

我需要創建一個變量根據上面的輸出值爲3的PowerShell。

該代碼將被用於瀏覽多個服務器以查看是否有個別用戶登錄,並與rwinsta.exe

+0

能否在用戶登錄上在同一臺機器一次以上? – mjolinor 2011-05-25 11:26:04

回答

3

這裏有一個非常粗糙的正則表達式 - 我不知道qwinsta.exe,所以我不確定它可以返回的數據排列 - 儘管如此,上述示例仍然適用。

這將爲變量$ ID分配3。

$output = qwinsta.exe /server:vm041 derpy.herp 
$output -match ".*derpy.herp.*(\d).*" 
$ID = $Matches[1] 

您可以進行參數,像這樣的用戶名:

$username = "derpy.herp" 
$output = qwinsta.exe /server:vm041 $username 
$output -match ".*$username.*(\d).*" 
$ID = $Matches[1] 

HTH, 馬特

0

斷開它們可以分析您所獲得的輸出,讓您的ID,並然後使用New-Variable cmdlet來實例化您的變量。