タグ付けされた質問 「powershell」

Windows PowerShellは、CMD.exeシェルおよびバッチ言語に取って代わる、Windows用のコマンドラインシェルおよびスクリプト言語です。PowerShellは、Windows Script HostおよびVBScriptと同様の機能を提供するWindows用の自動化エンジンでもあります。

1
ファイルをリモートPCリストにコピーするPowerShellスクリプト
自分のPCからリモートPCのリストにファイルをコピーしようとしました。このPowerShellスクリプトを作成しましたが、スクリプトの実行時にフォローエラーが表示されます 「コピー項目:アクセスが拒否されました」。 $Pclist = Get-Content "D:\pclist.txt" $username = "adminuser" $password = "pass" $FileLocation = 'D:\location.exe' $Destination = "d$\" foreach ($_ in $Pclist) {Copy-Item $FileLocation -Destination \\$_\$Destination -Recurse -PassThru}

1
PowerShellで今月作成されたxcopyファイル
ファイルをコピーするためにこのコードを書きましたが、今月作成したファイルまたは過去31日間作成したファイルだけをコピーする方法が必要ですか? $a = "L:\EndMonths\" $a +=get-date -format MMMM xcopy "L:\28*.zip" $a /I xcopy "L:\29*.zip" $a /I xcopy "L:\30*.zip" $a /I xcopy "L:\31*.zip" $a /I

1
PowerShell:set_InnerText関数がXMLに表示されない
$ xmlにはxmlドキュメントが含まれています $e = $xml.CreateElement("Pass2") $e.set_InnerText ("p2") ->このコマンドはエラーを出力します $e.SetAttribute("Pass2","p221") ->これは機能しますが、必要なものではありません 基本的に、xmlファイル内の属性の存在を確認し、存在しない場合は作成します。これは、属性を作成するために使用しようとしているコードです。その後、 AppendChild 次の形式で必要です <Pass2>p221</Pass2> エラーメッセージ: 1行目:1文字:18 + $e.set_InnerText ("p2") + ~ Unexpected token '(' in expression or statement. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnexpectedToken 私はWindows 8を使用していますが、私がフォローしているガイド(http://blogs.msdn.com/b/powershell/archive/2006/10/07/adding-elements-to-xml-objects-with-windows- powershell.aspx)は2006年ですが、構文に変更はありますか?

0
スクリプト(バッチ/パワーシェル)を介してネットワークファイル/フォルダーをオフラインに設定します
フォルダーまたはファイルを右クリックし、Windows 7以降で[常にオフラインで使用可能]をクリックするプロセスを自動化しようとしています。 それを行うためのコマンドやバッチの方法を見つけることができませんでした。これまでのところ、コンテキストメニュー項目で右クリック操作をシミュレートするこのPowerShellスクリプトを見つけました(私の場合は常にオフラインで利用可能です) $o = New-Object -ComObject Shell.Application $o.Namespace("Z:\").Self.verbs() | Where-Object { $_.Name -eq 'Always &available offline' } | ForEach-Object { $_.DoIt() } 機能しません。ドライブの代わりにフォルダーUNCパスを渡そうとすると(たとえばZ:\foldertomakeavailableoffline、指定したフォルダーが存在しないかのように、"null値の式でメソッドを呼び出すことはできません。" どんな助けも大歓迎です。 ありがとう。 編集:ネットワークドライブのファイルから動詞を取得するように動作しないように見える...?

0
PowerShell実行環境はわずかに破損していますか?
私は答えを期待していませんが、方向性を望んでいます。 ときどき、PowerShell ISEが動作しているように見えることもあります。奇妙さはどこからともなく現れるようです。動作を再現する方法が見つかりません。 3日前、CERT:\ドライブで動作するコードを書いていましたが、Intellisense は証明書プロバイダー()ではなく、ファイルシステムプロバイダー(-Fileおよび-Directory)のパラメーターを示しました-ExpiringInDays。 今日、このコードは例外を発生させました。 Invoke-Command -ComputerName OneServer -Credential $admin ` -ScriptBlock {Get-ChildItem -Path CERT:\ -Recurse -ExpiringInDays 366} システムは指定されたデバイスまたはファイルを開けません + CategoryInfo:NotSpecified:(:) [Get-ChildItem]、Win32Exception + FullyQualifiedErrorId:System.ComponentModel.Win32Exception、Microsoft.PowerShell.Commands.GetChildItemCommand + PSComputerName:oneserver 同じPowerShellセッションでローカルコンピューターでこのスニペットを実行すると、同じ例外が発生しました。 Get-ChildItem -Path CERT:\ -Recurse -ExpiringInDays 366 同じ例外CERT:、CERT:\とCERT:\*。 を使用して1つのディレクトリをさらに深くすると-Path CERT:\LocalMachine、例外を発生させることなく実行されましたが、現在から数年(366日以上)有効期限が切れる証明書を返しました。 別のPowerShellセッションに切り替えて、両方のスニペットに貼り付けたところ、両方とも正常に実行されました。変数$adminは両方のセッションで正しく設定されます。私には、これは実行環境で何かがおかしいと指摘しているようです。しかし、すぐ上で、Invoke-Commandとローカルコマンドが同じエラーを発生させました。分かりません。 PowerShellイベントログ(Microsoft / Windows / PowerShell / Operationalの下)には、その例外のエラーは表示されませんが、Invoke-Commandに関連する「アクセスが拒否されました」エラーが表示されます。 WSManは、エラーコード5のエラーを報告しました。 エラーメッセージ:リモートサーバーoneserverへの接続は、次のエラーメッセージで失敗しました:アクセスが拒否されました。 これは実行環境に関係していると思います。別のPowerShellセッションで同一のコードを実行するとうまくいきました。 関連する可能性のあるその他のもの シャットダウン、ログアウト、または再起動するのは、Windowsから強制された場合のみです。 …

1
robocopy / mirがフォルダー構造を複製していません
次のスクリプトを使用して、2013年1月1日より前にすべてをアーカイブしています。 foreach ($i in Get-ChildItem "O:\Projects” -Force -Recurse) { if ($i.LastWriteTime -gt ($(Get-Date).AddDays(-649))) { robocopy $i.FullName "A:\Operations\Projects" /Z /S /MOVE /MIR } } 問題は、スクリプトが正確なディレクトリツリーをコピーしていないことです。適切なファイルを含むフォルダをターゲットディレクトリのルートにコピーするだけです。 例として、これはフォルダー構造を表します。 プロジェクトA 見積もり QuoteA.pdf(最終更新2011年6月) 見切り CloseoutA.pdf(最終変更日2011年11月) プロジェクトB 見積もり QuoteB.pdf(最終変更日2012年10月) 見切り CloseoutB.pdf(最終変更日2013年4月) 上記のスクリプトでは、次のターゲットフォルダが作成されます。 見積もり QuoteA.pdf QuoteB.pdf 見切り CloseoutA.pdf 上記の例は非常に基本的なものです。一部のファイルは、8または9フォルダーの深さです。ソースディレクトリ内には約30,000個のフォルダーがあります。移動中に適切なファイルの完全なパスをそのままにしておく必要がありますが、どうすればそれを実現できますか?

0
PowerShellのsedの後方参照構文
PowerShellのSEDでキャプチャグループを後方参照するにはどうすればよいですか?構文が見つからないようです。 IE私はecho "hello" | sed "s|(h)ello|world\1|"出力する予定ですworldhが、代わりに次のエラーが表示されます: sed : sed.exe: -e expression #1, char 18: invalid reference \1 on `s' command's RHS At line:1 char:16 + echo "hello" | sed "s|(h)ello|world\1|" + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (sed.exe: -e exp...' command's RHS:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError

1
Powershellは文字列を選択し、単語の後
私の質問select-stringでVirtualnameを選択する方法はありますか?これらのログは、時間と仮想アカウント名を選択する必要がある場所から取得しています。私 *> <event seq="453211" time="2019-01-24 11:01:03.639873 -0500" app="hServer 7.45" name="I_SFS_TRANSFER_FILE" desc="Virtual filesystem: transfer file."> <session id="44500" service="SSH" remoteAddress="00.00.00:57292" virtualAccount="xxxxxxxx" windowsAccount="Server3\Users"/> <channel type="session" id="1"/> <sfs moduleName="FlowSfsWin" mountPath="/" code="90000" desc="Transferring file ended.">* これは私が今まで試したことです。 New-Item "C:\clients.log" -type file -force $strings = "virtualAccount=","time=" Foreach($string in $strings){ Get-Content 'C:\uploads.log'| Select-String $string1 -AllMatches | % { …

2
値を計算して新しい名前で使用することによるファイルの名前のバッチ変更
名前を変更する必要があるJPGが数百あります。各ファイル名の既存の番号に適用される次の簡単な式が必要です。 (x-290)*-1 「Vitrine Hinge.0.jpg」は「Vitrine Hinge.290.jpg」に、「Vitrine Hinge.1.jpg」は「Vitrine Hinge.289.jpg」などになります。 問題のファイルの一部 私は次を使用しました: Dir * .jpg | `foreach {$ data = $ _。name.Split("。 ")Rename-Item -NewName {'(' + $ data 1 + '-290)(-1)'}} そして、エラーが表示されます。

1
管理者ユーザーとして実行しているとき、Powershellスクリプトがタスクスケジューラで起動しない
タスク設定があります: ログインしているかどうかに関係なく実行する 最高の特権で実行する タスクを実行するときは、次のアカウント(私の管理者アカウント)を使用します プログラム/スクリプト:%SystemRoot%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe引数:-ExecutionPolicy Bypass C:\ Temp \ test.ps1 test.ps1 含まれるもの: Write-Host "Hello" このスクリプトを最高の特権で実行せずに通常のユーザーとして実行すると、powershellが起動し、期待どおりに動作します。 ただし、上記の設定を使用すると、実行中として表示され、完了した結果として表示されますが、0x0PowerShellは起動しません。 私が間違っていることは何ですか? 注:Start InをC:\ Tempに設定してみましたnoprofile nologo。他にもさまざまな引数を試しました。

1
Powershellでエクスポートできません
PowerShellを初めて使用します。ドライブ内のすべてのフォルダーとファイルをリストし、最終変更日とサイズを表示し、それらをcvsにエクスポートする簡単なスクリプトを作成しようとしています。これまでのところ、ファイルのサイズを取得する方法とエクスポートする方法を除いて、ほとんどすべてを手に入れました。エクスポートの場合、InputObjectを要求されます これは私がこれまで持っているものです Get-ChildItem -Recurse c:\Users\iceledon | Where{$_.LastWriteTime -gt (Get-Date).AddDays(-365)} ; Export-Csv "C:\Users\"

1
win7で(cmdから)ログオフされるまでの時間を確認しますか?[複製]
この質問にはすでに答えがあります: スケジュールされたシャットダウンまでの残り時間は? 1つの答え 若い頃、タイマーを設定してコンピューターの電源を切る簡単な方法を学びました shutdown -f -s -t 3600 ログオフしてシャットダウンするまで1時間かかります。 Windows XPでは、タイマーがカウントダウンすることを覚えています。しかし、win7はごく短時間だけ通知を表示します。その後、消えます。 キャンセルして、必要に応じてリセットできることを知っています。しかし、しばらくしてどれだけの時間が残っているかを確認するにはどうすればよいですか? さらに、Powershellでこれを行うための「モダン」コードは何でしょうか?

1
PowerShellを使用してSharePointドキュメントライブラリからCSVにデータを抽出する
PowerShellを使用してSharePointドキュメントライブラリのデータをCSVファイルに抽出しようとしています。CSvファイルで正しいデータを取得しています。ただし、1つの列(「説明」)にはさらに多くのテキストデータがあります。そのため、スクリプトを実行すると、データは別の行に送られます(1行に送られません)。参考のために、下にスクリプトを書き、下に私の出力ファイルを書きました。 Powershellスクリプト $web = get-spweb "Site Url" $caseLib = $web.lists | where {$_.title -eq "Document Library"} $query=new-object Microsoft.SharePoint.SPQuery $query.ViewFields = "" $query.RowLimit=500000 do { $caseLibItems=$caseLib.GetItems($query) $query.ListItemCollectionPosition = $caseLibItems.ListItemCollectionPosition $listItemsTotal = $caseLibItems.Count $x = 0 for($x=0;$x -lt $listItemsTotal; $x++) { $Description = $caseLibItems[$x]["DocumentSetDescription"] $str = "" if('$Description' -ne $null) { $str …

0
Powershell Move-Item
ファイルから部分的なファイル名データを抽出し、別のディレクトリにその名前でフォルダを作成してから、ファイルをこの場所に移動しようとしています。 また、このファイルが既に存在するかどうかを確認したいと考えています。存在する場合は作成します。 これまでのところ、私のコードは、実際のMove-Item自体がpath [0]のものを表示するまで機能します。 $TRANSFER = 'C:\Users\BRACEGIRDLE\Favorites\Desktop\TRANSFER' $TVSHOWS = 'C:\Users\BRACEGIRDLE\Favorites\Desktop\TV_SHOW' Get-ChildItem "$TRANSFER/*.txt" | ForEach{ $target = $_.Name -split 'S[0-9][0-9].*' If( -not (test-path $TRANSFER\$target)) { New-Item -ItemType Directory -Force -Path $TVSHOWS\$target } Copy-Item -Destination $TVSHOWS\$target } 誰も私の問題が何であるかを知っていますか? ファイル名はそのようなものです 12 Monkeys S02E10 - Fatherland.txt Colony S02E01 - Eleven Thirteen.txt Prison Break S05E05 …

0
どのように私はバットファイルを使用して作成の正確な日付でアンドロイドの曲を並べ替えることができますか?
Y / MM / DDのように ........ 誰かが私に勧めたが、フォルダ内のMP3ファイルはこのテンプレートを使用する。 @ECHO OFF REM get a list of the files FOR %%F IN (*.mp3) DO ( REM GET 2nd, 3rd and 4th parts of file name: examplefile_2018_08_24_110222.mp3 FOR /F "tokens=2,3,4 delims=_" %%G IN ("%%~F") DO ( REM GET previous month and/or year FOR /F …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.