Windows PowerShell Part5 [無断転載禁止]©2ch.net
>>308
コマンドからだけでなく、exeダブルクリックでも.lnkからでも管理者権限にしたい
307の設定がOSのどこかには格納されてるはずなんで、それをコマンドで変更したいんだけど、無理かな
レジストリのどこかかね 使わなそうなexe(既存のをコピーして名前変えても拾ってきてもいい)でチェック入れて
regeditで検索すればすぐ見つかるよ >>310
見つけた!
なるほど、この手があったか、ありがとう ExcelでA1:A3に
佐藤 なんちゃら
田中 なにがし
高橋 えみった
と書いているとして、
$tanto = 高橋
と部分一致したA3の値をB3に書くにはどうしたらいいですか >>307
俺ならUACを一時的に無効にしちまってからインストール作業をするけど、
管理者権限の許可タブをクリックするだけの作業なんてダルくも何ともないです >>313
複数のアプリでセットアップ対象も複数なら自動化したくもなる >>312
pwsh内で配列とかで処理するようだけど、現段階で使い方が理解できませんでした
Excelに$tantoを書いて、Excel内でvlookupした結果をまた$tantoに格納してExcelに戻す
というまったくスマートじゃない方法でひとまず解決しました >>285-286
便乗質問ですけど、任意のディレクトリ内の複数のpdfについて、pdfを開いてから見られるプロパティのフォント(の埋め込み)情報をまとめて取得したいと思ってます。
そのようなコードあったら教えてもらえませんか? Rename-Itemで角括弧入りのパスを扱うときは-Literalpathをつけるといいってのは調べるとすぐにわかったんだけど、
角括弧入りの名前を付けたいときはどうすればいいの?
録画ソフトでとった番組ファイルをスクリプトで圧縮するときに、一旦仮の名前にリネームしてから圧縮後のファイルに後で戻したいんだけど
番組名によってはエラーになってしまうんで困った。 普通に付けられたけど
Get-Item .\てすと.txt|Rename-Item -NewName [てすと].txt >318
ごめん、確かにできるね。
"?"のほうがいかんかったみたい。
"?"がまたどうにもならんね。 >>319
?は*と同じくファイル名には付けられないよ
dos時代からね >>320
なるほど!
すっきりしたよ。ありがとう ROBOCOPY /MIRの動作をPowerShellで簡単に実現できますか?
ROBOCOPYコマンドを起動した方が良いですか? 過疎ってるなあ(゚Д゚)
もうこのスレ↓に合流でよくね?
【最強CUI】PowerShell -Part 2
https://mevius.5ch.net/test/read.cgi/tech/1480109402/ grepやless、viなんかに相当するコマンドって追加された?
以前触った印象だとpowershell割りと嫌いじゃないんだけど、
CLIで完結できますみたいな方向性じゃないのか今一歩使えない
あくまでインタフェースの提供って位置付けなのかな 慣れたものが一番。
それ以上の発展性はないけど、単純に文字列として扱うだけならgrepでいいと思う。
餅は餅屋かな。 >>325
この板にあったwshスレの後継だし
全然プログラミングやらない人のためにも必要 まあ、神奈川県があれば静岡県もある、でも合併しない。
共産党があれば立憲民主党もある、でも合併しない。
立正佼成会があれば創価学会もある、でも合併しない。
幼稚園があれば保育園もある、たまに合併する。
そんなものと思えば。 >>325
そもそも、あちらが過疎ってたせいでこっちに来た私に謝罪を要求します ./hoge.ps1
powershell -command ./hoge.ps1
上の二種類の起動方法を、hoge.ps1自身の処理において識別することって出来ない? >>334
自分のプロセスのコマンドラインを調べるとか。
Get-WmiObject Win32_Process CommandLine -Filter ProcessId=$PID powershellからsshできるようになったけど、これって前からだったっけ?
PSVersion 5.1.17763.134
前までできなかった気がしたけど、いつのまにできるようになってたのね 見てて思ったけど同じps1ファイルを複数実行してるかどうかを把握する方法ってないのかな
コンソール別になるとわかんなくない? 二重起動禁止する方法無いか調べて見つけられなくてMutex使った思い出。 mutexはリリースを忘れてしまうか、スクリプトがリリース前に中断すると
コンソール閉じない限り状態が保持されてしまわない? 泥臭いけど特定パスに排他用のファイルを書き出すという手もある
レジストリでもなんでも排他したい範囲でユニークなリソースを使えば大抵の言語でできる
有効期限等を書き出しておけばロック掛かりっぱなしのトラブルも避けられる こんなんでよいのでは
if(Test-Path .\myprocess.pid){
$check_pid = (Get-Content .\myprocess.pid).Trim()
if(Get-Process -Id $check_pid -ErrorAction SilentlyContinue){ exit }
}
Out-File -InputObject $PID -FilePath .\myprocess.pid -Encoding default
Start-Sleep 10
Remove-Item .\myprocess.pid -Force 排他ロックファイルは最悪予期しない強制断とかでゴミが残るから
それの対策も必要 powershellで
インターネットのテキストファイルを
ダウンロードしてunix形式からWindows形式で保存したいんですが、bitsadminだとunix形式で保存されて文字列が二重にずれて保存されます。
どうにかならないですか? >>349
なんでPowershellを使うか不明だが
落としたテキストをfirefoxで開いてコピペすればいいのでは? >>350
何個か一気にダウンロードしたいので。
それを4つくらい作って、一つだけunix形式なので
ボタン一発で全部Windows形式にしたいんです。一々サイト開いてコピーより楽なので。
なんでバッチのbitsadminだと無理でしたわ。 コマンドのせいとは思えないんだけれど
手動でダウンロードすると勝手にwindows形式とやらになってるの? スクリプトだけでやりたいならダメだけど、nkfとか使って変換しちゃえば。 bitsadminはコマンドプロンプト用コマンドで、powershell用ではない。使えなくはないはずだけど。
ダウンロードで文字エンコードの変換というのはできないので、ダウンロードしてから変換すればいいだろう。 powershellでダウンロードしたら奇麗にできました。
Unix形式TXTの文字ずれ。 powershell でもっと意外なことできないですか? >>358
Search ・ language:PowerShell language:PowerShell
https://github.com/search?utf8=%E2%9C%93&q=language%3APowerShell+language%3APowerShell&type=Repositories&ref=advsearch&l=PowerShell&l=PowerShell >>358
様々なことができますよ。
私は、データマイニング機能のコマンドレット造ろうと思ってますし
統計のコマンドレット作ったらどれだけ簡単に使えるかと思います。
簡単に言えばパイプでコマンドレットつなげば、統計処理が簡単に行える。
現在はExcelの自動化やってますよ。Access使わないようにしたいので。
さらにインタラクティブにExcel動かせますから(つかえそう)と思って
ます。 >>363
冗談で書いたつもりが、あるとは・・・ありがとん。 >>361
すごいですよね。時間がモロに短縮できたり。 >>367
そのまま使うのもいいでしょうけど
言語知識あるひとなら、C#でコマンドレット作ると
相当面白いものができると思いますよ。
そのうち、みんなシェアしあうようになるんじゃないかな。
作るのが結構簡単なので。
そうだC#などでなくても、PowerShellでコマンドレット作れたんだった
速度は遅くなるけど。面白いと思う。 PowerShellでデフラグをやるのを作れと言われたのに
ネットで調べても全然分かりません
誰か助けて下さい お願いします
後払いでいいですよね
今日中にお願いしますね >>373
defrag.exe c:
って書いときゃいいだけ それだけだと寂しいから
$drive=Read-Host "どのドライブをデフラグしますか?"
defrag.exe $drive+":" >>376
派遣ITの仕事でパワーシェルでデフラグするのを作る仕事だと言われたのです
言ったのはその派遣会社の先輩です
>>377
一言でいいのでしょうか?
もっと長いものになるのでは? >>377
PS C:\Users\user> defrag.exe c:
Microsoft ドライブ最適化ツール
Copyright (c) Microsoft Corp.
操作に必要な特権がないため、ストレージ最適化ツールを開始できません。 (0x89000024) defrag.exe使っていいのかOSのAPI(知らん)使っていいのか.netをこねくり回してどうにかするのか
それくらい確認してから聞け PS C:\Users\user> $drive=Read-Host "どのドライブをデフラグしますか?"
>> defrag.exe $drive+":"
どのドライブをデフラグしますか?: c
Microsoft ドライブ最適化ツール
Copyright (c) Microsoft Corp.
指定したボリューム パスは無効です。 (0x89000001) >>381
PowerShellで断片化をどうこうぐらいしか言われていません
というか神ぺらに書いてあっただけで詳細は不明です
まさか、コマンド1つで済む仕事ではないと思います
何しろ数か月かけてやるらしいので、、、 gwmi win32_logicaldisk -Filter DriveType=3 | %{
$drive = $_.DeviceID
$disk = gwmi win32_volume -Filter "DriveLetter='$drive'"
$def = 1 | select Drive,DefragRecommended
$def.Drive = $drive
$def.DefragRecommended = ($disk.DefragAnalysis()).DefragRecommended
$def
} | ft -auto ちなみに私はパワーシェルを勉強し始めてまだ3日です、、、 Drive DefragRecommended
----- -----------------
C: False
これはデフラグいらないってことかな?
本屋でパワーシェルの本を探したけど売っていなくて
結局応用情報用の本を2冊買いました
今回でとって縁を切りたいです $Servers = "CSEPULTAPU01"
ForEach ($Server in $Servers)
{
$vol = Get-WmiObject -Class Win32_Volume -ComputerName $Server -Filter "DriveLetter = 'c:'"
$res = $vol.Defrag($false)
if ($res.ReturnValue -eq 0)
{
Write-Host "Defrag succeeded."
}
else
{
Write-Host "Defrag failed Result code: " $res.ReturnValue
}
} というかパソコンではできないけどデフラクコマンド打つわけじゃないような
何とか.ps1ファイルを作って実行するらしいけどよく分からない
まあ給料が出るか分からないけどまあ適当にやるよ
使えないと思われて首になったらなったでいい
どうせ頑張っても前の会社でもひどくいわれるだけだたt とりあえず、落ち着こうよw
PowerShellだけで、デフラグは出来ないから!
上司はスケジューリング的な事を言ってるんじゃないの?
毎週月曜日にデフラグを実行みたいな・・・・ 車輪の再発明だとして、ファイルの断片化を見つけたり、それを直したりできるものかね? >>392
多分そうだと思う
デフラグのコマンド打つだけなら、コマンド知ってればすぐ終わるものね
仕様書とナントカとも言っていた
>>393
その可能性はあるけどよく分からないからなあ
今日も出勤したらネットで調べながらいじってはみるけど
その人言葉が足りなくて説明伝わらなかったりするからデフラグだけじゃないでしょう
>>394
デフラグが必要かチェックして
デフラグして
後if文がどうやらと
パワーシェルやったこともないし本屋2件回ったけどそれ関係の本ない
ネットのサイトでちょっとしたコマンドとかは分かったけど
まあいいよ
もしできなくて使えねえって切られてもどうでもいい
何か追い込まれる状況になったら辞めるだけ chkdsk c: /fとsfc /scannowもやっとかないと意味ないよって言っとけ Win32_Volume Class DefragAnalysis sample using PowerShell
# get volumes on local system
$v = get-wmiobject win32_volume
# Display Number of volumes
"Number of volumes {0}: " -f $v.length
# Now get the C:\ volume
$v1=$v | where {$_.name -eq "C:\"}
# Perform a defrag analysis on the C: drive
"Performing Defrag Analysis"
$dfa = $v1.DefragAnalysis().DefragAnalysis
# Display results
"";"Defrag Results - defrag of C:"
"-----------------------------" "Average File Size (KB) : {0} KB" -f ($dfa.AverageFileSize/1kb)
"Average Fragments per File : {0} " -f $dfa.averageFragmentsPerfile
"Average Free Space per Extent : {0} " -f $dfa.AverageFreeSpacePerExtent
"Cluster Size (KB) : {0} " -f ($dfa.clustersize/1KB)
"Excess Folder Fragments : {0} " -f $dfa.ExcessFolderFragments
"File Percent Fragementation : {0} " -f $dfa.FilePercentFragementation
"Fragmented folders : {0} " -f $dfa.FragmentedFolders
"Free Space (GB) : {0} GB" -f ($dfa.FreeSpace/1gb)
"Free Space Percent : {0} " -f $dfa.FreeSpacePercent
"Free Space Percent Fragementation : {0} " -f $dfa.FreeSpacePercentFragementaion
"Largest free Space Extent : {0} " -f $dfa.LargestFreeSpaceExtent
"MFT Percent In Use : {0} " -f $dfa.MFTPercentInUse
"MFT Record count : {0} " -f $dfa.MFTRecordCount
"Page File Size : {0} " -f $dfa.PageFileSize
"Total Excess Fragements : {0} " -f $dfa.TotalExcessFragements
"Total Files : {0} " -f $dfa.TotalFiles
"Total Folders : {0} " -f $dfa.TotalFolders
"Total Fragmented Files : {0} " -f $dfa.TotalFragmentedFiles
"Total Free Space Extents : {0} " -f $dfa.TotalFreeSpaceExtents
"Total MFT Fragments : {0} " -f $dfa.TotalMftFragments
"Total MFT Size : {0} " -f $dfa.TotalMftSize
"Total Page File Fragements : {0} " -f $dfa.TotalPageFileFragements
"Total Percent Fragementation : {0} " -f $dfa.TotalPercentFragementation
"Total Unmovable Files : {0} " -f $dfa.TotalUnmovableFiles
"Used Space (GB) : {0} GB" -f ($dfa.UsedSpace/1gb)
"Volume Name : {0} " -f $dfa.VolumeName
"Volume Size (GB) : {0} GB" -f ($dfa.VolumeSize/1gb) Number of volumes 6:
Performing Defrag Analysis
Defrag Results - defrag of C:
-----------------------------
Average File Size (KB) : 0 KB
Average Fragments per File :
Average Free Space per Extent :
Cluster Size (KB) : 0
Excess Folder Fragments :
File Percent Fragementation :
Fragmented folders :
Free Space (GB) : 0 GB
Free Space Percent :
Free Space Percent Fragementation :
Largest free Space Extent :
MFT Percent In Use :
MFT Record count :
Page File Size :
Total Excess Fragements :
Total Files :
Total Folders :
Total Fragmented Files :
Total Free Space Extents :
Total MFT Fragments :
Total MFT Size :
Total Page File Fragements :
Total Percent Fragementation :
Total Unmovable Files :
Used Space (GB) : 0 GB
Volume Name :
Volume Size (GB) : 0 GB デフラグのスケジュールとか、対象になるマシン・デバイスを自動的に
洗い出す機能とか、そういうのを期待してるんだろうな。
そんでもって、デフラグ終了情報とかデバイスのエラー情報とかが
一覧で見られる機能。
そんなんかな? 要件を口頭で訊きとって紙ペラか課題管理表かRFPを作れ、まずはそれからだ >>401
そうかもしれない
今はもう応用情報の勉強ばかりです
これが最後のIT資格 詳細な要件の洗い出しからしないと二度手間三度手間どころではすまんことになりそうな気が
その指示を出した上司に仕様書かかせるなり、自分が仕様書書くために必要な条件聞き出した方がいいと思う
今後のメンテも必要になってくるだろうからドキュメント化しておいた方がいいと思う >>405
PowerShellで断片化だとかデフラグだとかアナリシスだとかしか言われていません。 その状況で「やれます」「やりみます」と言ってはいけない。
なんとなく上司も要件をきちんと把握できてないかも臭を感じる。
「要件定義からやりますか?要求や基準はどこに当たればよさそうですか?」からかな…