{"id":4990,"date":"2024-07-04T11:44:51","date_gmt":"2024-07-04T03:44:51","guid":{"rendered":"https:\/\/benson80.eu.org\/?p=4990"},"modified":"2024-07-04T11:53:45","modified_gmt":"2024-07-04T03:53:45","slug":"%e7%94%a8powershell%e8%84%9a%e6%9c%ac%e8%bf%9c%e7%a8%8b%e5%ae%89%e8%a3%85%e8%bd%af%e4%bb%b6%e5%92%8c%e5%85%b1%e4%ba%ab%e6%89%93%e5%8d%b0%e6%9c%ba","status":"publish","type":"post","link":"https:\/\/benson80.eu.org\/?p=4990","title":{"rendered":"\u7f16\u5199 PowerShell \u811a\u672c\u6765\u5b9e\u73b0\u8fdc\u7a0b\u5b89\u88c5\u8f6f\u4ef6\u548c\u8fdc\u7a0b\u5b89\u88c5\u5171\u4eab\u6253\u5370\u673a"},"content":{"rendered":"\n<p>1. \u4ece\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u4e0b\u8f7d\u8f6f\u4ef6\u5e76\u4fdd\u5b58\u5230\u672c\u5730D:\\Temp\u76ee\u5f55\u4e0b\uff0c\u7136\u540e\u5206\u522b\u6267\u884c\u5b89\u88c5\u3002<\/p>\n\n\n\n<p><strong>RemoteInstall.ps1<\/strong>\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p># \u8f6f\u4ef6\u4fe1\u606f<\/p>\n\n\n\n<p>$softwareList = @{<br>&#8220;QQ&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\QQ_9.9.12.25234_64bit_Setup.exe&#8221;<br>&#8220;\u5fae\u4fe1&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\WeChatSetup.exe&#8221;<br>&#8220;\u6709\u9053\u7ffb\u8bd1&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\YoudaoDictSetup.exe&#8221;<br>&#8220;\u641c\u72d7\u8f93\u5165\u6cd5&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\sogou_pinyin_guanwang_14.6a.exe&#8221;<br>&#8220;\u8c37\u6b4c\u6d4f\u89c8\u5668&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\126.0.6478.127_chrome_installer.exe&#8221;<br>&#8220;Adobe Acrobat Reader&#8221; = &#8220;\\\\SX-SERVER\\\u5171\u4eab\u6587\u4ef6\u5939\\\u8d44\u8baf\\AcrobatReaderDC.exe&#8221;<br>}<\/p>\n\n\n\n<p># \u672c\u5730\u4fdd\u5b58\u76ee\u5f55<\/p>\n\n\n\n<p>$localSaveDir = &#8220;D:\\Temp&#8221;<\/p>\n\n\n\n<p># \u68c0\u67e5\u672c\u5730\u4fdd\u5b58\u76ee\u5f55\u662f\u5426\u5b58\u5728\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5219\u521b\u5efa<\/p>\n\n\n\n<p>if (-not (Test-Path -Path $localSaveDir -PathType Container)) {<br>New-Item -Path $localSaveDir -ItemType Directory | Out-Null<br>}<\/p>\n\n\n\n<p># \u4e0b\u8f7d\u548c\u5b89\u88c5\u8f6f\u4ef6<\/p>\n\n\n\n<p>foreach ($software in $softwareList.GetEnumerator()) {<br>$softwareName = $software.Key<br>$remoteFilePath = $software.Value<br>$localSavePath = Join-Path -Path $localSaveDir -ChildPath &#8220;$softwareName.exe&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u4f7f\u7528WebClient\u5bf9\u8c61\u4e0b\u8f7d\u6587\u4ef6\n$webClient = New-Object System.Net.WebClient\n$webClient.DownloadFile($remoteFilePath, $localSavePath)\n\n# \u68c0\u67e5\u6587\u4ef6\u662f\u5426\u6210\u529f\u4e0b\u8f7d\nif (Test-Path $localSavePath) {\n    Write-Output \"$softwareName \u5b89\u88c5\u7a0b\u5e8f\u5df2\u6210\u529f\u4e0b\u8f7d\u5230\u672c\u5730\u8def\u5f84: $localSavePath\"\n\n    # \u6267\u884c\u5b89\u88c5\u7a0b\u5e8f\n    Write-Output \"\u6b63\u5728\u5b89\u88c5 $softwareName ...\"\n    Start-Process $localSavePath -Wait\n    Write-Output \"$softwareName \u5b89\u88c5\u5b8c\u6210.\"\n} else {\n    Write-Error \"\u4e0b\u8f7d $softwareName \u5b89\u88c5\u7a0b\u5e8f\u5931\u8d25.\"\n}<\/code><\/pre>\n\n\n\n<p>}<\/p>\n\n\n\n<p>2. \u8fdc\u7a0b\u5b89\u88c5\u5171\u4eab\u6253\u5370\u673a<\/p>\n\n\n\n<p><strong>Install-Printers.ps1<\/strong>\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p># \u5b9a\u4e49\u5b89\u88c5\u6253\u5370\u673a\u7684\u51fd\u6570<\/p>\n\n\n\n<p>function InstallPrinter {<br>param(<br>[string]$PrinterName,<br>[string]$IPAddress<br>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6784\u5efa\u6253\u5370\u673a\u7684\u7f51\u7edc\u8def\u5f84\n$printerPath = \"\\\\$IPAddress\\$PrinterName\"\n\n# \u5c1d\u8bd5\u6dfb\u52a0\u6253\u5370\u673a\ntry {\n    # \u4f7f\u7528 Add-Printer cmdlet \u6dfb\u52a0\u6253\u5370\u673a\n    Add-Printer -ConnectionName $printerPath -ErrorAction Stop\n\n    Write-Host \"\u6253\u5370\u673a $PrinterName \u5df2\u6210\u529f\u5b89\u88c5.\"\n} catch {\n    Write-Host \"\u5b89\u88c5\u6253\u5370\u673a $PrinterName \u5931\u8d25: $_\"\n}<\/code><\/pre>\n\n\n\n<p>}<\/p>\n\n\n\n<p># \u63d0\u793a\u7528\u6237\u8f93\u5165\u5171\u4eab\u6253\u5370\u673a IP \u5730\u5740<\/p>\n\n\n\n<p>$printerIPAddress = Read-Host &#8220;\u8bf7\u8f93\u5165\u5171\u4eab\u6253\u5370\u673a IP \u5730\u5740 (\u4f8b\u5982 192.168.0.207)&#8221;<\/p>\n\n\n\n<p># \u6267\u884c net view \u547d\u4ee4\u5e76\u83b7\u53d6\u8f93\u51fa<\/p>\n\n\n\n<p>$netViewOutput = net view &#8220;\\$printerIPAddress&#8221;<\/p>\n\n\n\n<p># \u521d\u59cb\u5316\u6253\u5370\u673a\u5217\u8868<\/p>\n\n\n\n<p>$printers = @()<\/p>\n\n\n\n<p># \u5904\u7406 net view \u8f93\u51fa<\/p>\n\n\n\n<p>foreach ($line in $netViewOutput) {<br># \u5982\u679c\u884c\u5305\u542b &#8220;Print&#8221; \u5173\u952e\u5b57\uff0c\u5219\u8868\u793a\u627e\u5230\u4e86\u5171\u4eab\u6253\u5370\u673a<br>if ($line -match &#8220;\\s+Print\\s+&#8221;) {<br># \u63d0\u53d6\u6253\u5370\u673a\u540d\u79f0<br>$printerName = ($line -split &#8216;\\s+Print\\s+&#8217;)[0].Trim()<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    # \u6784\u5efa\u6253\u5370\u673a\u5bf9\u8c61\u5e76\u6dfb\u52a0\u5230\u5217\u8868\n    $printer = New-Object PSObject -Property @{\n        Name = $printerName\n        IPAddress = $printerIPAddress\n    }\n    $printers += $printer\n}<\/code><\/pre>\n\n\n\n<p>}<\/p>\n\n\n\n<p># \u5982\u679c\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u5171\u4eab\u8d44\u6e90\uff0c\u5219\u8f93\u51fa\u6253\u5370\u673a\u5217\u8868<\/p>\n\n\n\n<p>if ($printers.Count -gt 0) {<br>Write-Host &#8220;\u5171\u4eab\u6253\u5370\u673a\u5217\u8868 (IP \u5730\u5740\u4e3a $printerIPAddress):&#8221;<br>for ($i = 0; $i -lt $printers.Count; $i++) {<br>Write-Host &#8220;$($i+1). $($printers[$i].Name)&#8221;<br>}<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u63d0\u793a\u7528\u6237\u9009\u62e9\u8981\u5b89\u88c5\u7684\u6253\u5370\u673a\u5e8f\u53f7\n$selection = Read-Host \"\u8bf7\u8f93\u5165\u8981\u5b89\u88c5\u7684\u6253\u5370\u673a\u5e8f\u53f7\"\n$index = &#91;int]$selection - 1\n\nif ($index -ge 0 -and $index -lt $printers.Count) {\n    $selectedPrinter = $printers&#91;$index]\n\n    # \u8c03\u7528\u5b89\u88c5\u6253\u5370\u673a\u7684\u51fd\u6570\n    InstallPrinter -PrinterName $selectedPrinter.Name -IPAddress $selectedPrinter.IPAddress\n} else {\n    Write-Host \"\u65e0\u6548\u7684\u9009\u62e9\u5e8f\u53f7.\"\n}<\/code><\/pre>\n\n\n\n<p>} else {<br>Write-Host &#8220;\u672a\u627e\u5230\u5728 IP \u5730\u5740 $printerIPAddress \u4e0b\u5171\u4eab\u7684\u6253\u5370\u673a.&#8221;<br>}<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u4ece\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u4e0b\u8f7d\u8f6f\u4ef6\u5e76\u4fdd\u5b58\u5230\u672c\u5730D:\\Te &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-4990","post","type-post","status-publish","format-standard","hentry","category-windows"],"_links":{"self":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/4990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4990"}],"version-history":[{"count":9,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/4990\/revisions"}],"predecessor-version":[{"id":5001,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/4990\/revisions\/5001"}],"wp:attachment":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}