我目前正在研究一個腳本,該腳本讀出工作站上的標準打印機並將其寫入文本文件。現在我需要轉換或剪切輸出字符串並將其寫入另一個文件,以便將切割的字符串設置爲新的默認打印機。從文本文件中選擇字符串的一部分,並使用powershell將其寫入另一個
例如第一個文本文件的內容是這樣的:
\ NDPS-MYDOMAIN \ myprinter.ou.cn.mydomain.de
我希望得到這樣的:
PS- myprinter
「myprinter」的字符數量因打印機而異。
我被困在切割完整的字符串中需要的部分。
背景:我做了一個從novell到microsoft的大型打印服務器遷移。爲了儘可能減少對用戶的影響,我希望將此腳本作爲默認打印機再次設置爲新的Microsoft部署打印機。希望這是可以理解的。
對不起,我的英語不好。
預先感謝
示例代碼到目前爲止:
$name = (get-content env:Computername)
Get-WmiObject -Class Win32_Printer -Filter "Default = $true" |
Select-Object - expandProperty Name |
Out-File -filepath C:\"$name"_defaultprinter.txt
Get-Content "C:\"$name"_defaultprinter.txt" |
Foreach-Object {$_.Replace("NDPS","PS")} |
Set-Content "C:\"$name"_defaultprinter.txt"
這裏是輸出:
\\mydomain\NDPS-MJP1-0014-SamsungML3471.A-Printers.MJP1.xx-xxxx.xxxxx-xxxxx.DE
\\mydomain\NDPS-MJP1-0014-SamsungML3471.A-Printers.MJP1.xx-xxxx.xxxxx-xxxxx.DE
輸出應該只有PS-MJP1-0014-SamsungML3471
感謝您的編輯 – 2013-02-25 15:46:05