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

Microsoftの対話型シェル、スクリプトおよびプログラミング言語、および周辺環境。Microsoftソフトウェア(Windows、Exchange、SharePoint、クラウドサービスのAzureやOffice 365を含む)を管理するシステム管理者が一般的に使用するPowerShellは、Windowsにデフォルトで含まれており、VBスクリプトなどの以前の言語から引き継がれます。

4
PowerShellを使用してActive Directoryで孤立したコンピューターオブジェクトを見つけるにはどうすればよいですか?
PowerShellを使用して、x日間非アクティブであるActive Directoryドメイン内のすべてのコンピューターアカウントを見つけるにはどうすればよいですか? 私が実際にこれを行う方法を知っていることに注意してください。これは、知識をそこに伝えるための自己回答型の質問です。他の誰かがより良い方法を持っている場合は、遠慮なく投稿してください!

3
Powershellパラメーター
スクリプトにParamブロックがあります Param ( [Parameter(Mandatory=$True)] [string]$FileLocation, [Parameter(Mandatory=$True)] [string]$password = Read-Host "Type the password you would like to set all the users to" -assecurestring ) Read-Host CmdLetを必須パラメーターフィールドで使用できますか?そうでない場合、ユーザー作成プロセスに渡すことができるように、変数タイプの正しいタイプを確実に取り込むにはどうすればよいですか?

2
Powershellを使用してリモートでサービスを開始/停止する権限を付与するにはどうすればよいですか?
別のコンピューターでサービスを再起動するPowerShellスクリプトがあります。PowerShellの組み込みのサービスコントロールコマンドレットを使用すると、次のようになります。 $svc = Get-Service -Name MyService -ComputerName myservicehostname Stop-Service -InputObject $svc Start-Service -InputObject $svc このエラーが返されます。 Stop-Service:コンピューター 'myservicehostname'でMyServiceサービスを開けません。 ただし、sc.exeを使用すると、次のようになります。 C:\Windows\System32\sc \\myservicehostname stop MyService C:\Windows\System32\sc \\myservicehostname start MyService 開始と停止は成功します。 再起動しているユーザーは管理者ではありません。subinaclを使用して、サービスを開始/停止してクエリを実行するユーザー権限を付与します。 subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO PowerShellでサービスを停止できないのsc.exeはなぜですか?

3
winrmおよびMicrosoft.Update.Sessionを使用してリモートでサーバーにパッチを適用する際の問題
Windows 2003、2008、2008r2サーバーのネットワークがあります。「Microsoft.Update」comオブジェクトを使用してローカルマシンにパッチを当てるために書いたPowerShellスクリプトがあります。(Windows Update PowerShell Remotingに似てい ます。)私のスクリプトはローカルでうまく機能しますが、管理するサーバーの数がかなり多いため、リモートでその機能を使用したいと思います。その場合は落ちます(解決されなかった他の投稿と同様)。 ただし、失敗を特定のクラスの2つのメソッドに絞り込むことができました。 (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateDownloader() (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateInstaller() これらを管理者としてローカルでPowerShellで実行しても、問題はありません。invoke-command(またはenter-session、またはwinrs)を使用しようとすると、次のエラーが発生します。(これはlocalhostでテストしていますが、どのホストでも実行できます。credsspやkerberosなどのさまざまな認証方法も試しました。) PS C:\> Invoke-Command -ComputerName localhost -ScriptBlock { (New-Object -ComObject "microsoft.update.session").createUpdateDownloader()} Exception calling "CreateUpdateDownloader" with "0" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))" + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation これはブログでバグとして言及されているのを見たことがありますが、その主張に対するバックアップはありません。2つの回避策があり、どちらも私を幸せにしません。 …

5
あるフォルダーから別のフォルダーに特定の拡張子を持つファイルをコピーするPowerShellスクリプトを作成する
次のパラメーターを入力として取得するPowerShellスクリプトを記述したいと思います。 コピー元のフォルダー、拡張機能、コピー先のフォルダー、および変更によりIIS、ユーザー名、パスワードを再起動するかどうかを示すブール値。 リモートサーバーにコピーしていることを考慮して、どのコマンドレットを確認する必要がありますか? パラメータを変数に読み込むにはどうすればよいですか? IISを再起動するにはどうすればよいですか? 複数のフォルダーをコピーしたいと思うかもしれませんが、powershellスクリプトを呼び出すpowershellスクリプトをどのように記述すればよいですか?
10 powershell 


1
powershellフォントフェイスとサイズのカスタマイズ
次のコマンドを使用して、PowershellがデフォルトのシェルとしてセットアップされたWindows 2012サーバーコアシステムがいくつかあります。 $RegPath = "Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon" Set-ItemProperty -Confirm -Path $RegPath -Name Shell -Value 'cmd.exe /C start /max PowerShell.exe -noExit' c:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ profile.ps1にある特別なpowershellスクリプトを使用して、powershellフォントの色をカスタマイズできることを理解しました。このスクリプトは、すべてのユーザーが使用します。 ただし、今は永続的なフォントフェイスとフォントサイズ(すべてのユーザーに対して)をカスタマイズしたいと思います。IEサーバーからログアウトして再度ログインすると、設定が保持されます。同様に、管理者としてログインした場合、または自分のアカウントのpowershellは同じに見えるはずです-同じフォントの色、フォントフェイス、フォントサイズを使用してください。 Powershell ISEでは、次を使用してフォントフェースとフォントサイズを設定できるようです。 $psISE.Options.FontName = 'Lucida Sans Console' $psISE.Options.FontSize = 14 powershell自体に相当するものは何ですか?
10 powershell  color  font 

3
PowerShellでCredSSP認証を機能させることができない
リモート処理を使用してPowerShellスクリプトを作成しようとすると、ダブルホップの問題だと私が思いました。その記事では、Perrimanが問題の簡潔な説明と問題を解決するための具体的な手順を示しています(コマンドを知っていればほとんど簡単ですが、私のようなあまり知られていない人にとっては、その情報は非常に貴重です!)。 私は走ったEnable-WSManCredSSP Server事件のない私のWin7のサーバー上ではなく、実行しようとEnable-WSManCredSSP Client –DelegateComputer <FQDN of the server>、このエラーが発生し、私のWin7のクライアント上で: Enable-WSManCredSSP : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly …

5
ドメイン以外のサーバーでリモートPSセッションが失敗する
Win8ホストからPSを使用して、ドメインに参加していないリモートWin2008R2サーバーに接続しようとしています(同じサブネット、ローカルVMです)。私が見つけることができるすべてを試してみましたが、何も機能しません。 サーバ: PS C:\Users\Administrator> winrm quickconfig PS C:\Users\Administrator> enable-psremoting クライアント: PS C:\scripts> $cred = get-credential -username "administrator" -message "Enter password" PS C:\scripts> $sess = new-pssession -computername 10.10.106.2 -credential $cred -authentication default new-pssession : [10.10.106.2] Connecting to remote server 10.10.106.2 failed with the following error message : The WinRM client cannot …
10 powershell 

2
PowerShellの$ PSVersionTableの内容は何を表していますか?
I場合はecho $PSVersionTablePowerShellで、私は、バージョン情報を複数ビットのように見えるものを手に入れます。 プロパティの名前は CLRVersion BuildVersion PSVersion WSManStackVersion PSCompatibleVersions SerializationVersion PSRemotingProtocolVersion 1を除くすべては通常のバージョン表記(#.#.#)であり、その他の1(PSCompatibleVersions)はバージョン番号のセット({1.0, 2.0})です これらはそれぞれ何を表していますか? さらに、この質問は、「インストールされているWindows管理フレームワークのバージョン」で私が尋ねた別の質問への回答をさらに深く掘り下げるために作成されました。。そこでのコメント、および私がそこにリンクした同様の質問の他のコメントは、$PSVersionTableWMFのバージョンを取得するために使用できることを示唆しています。これらのプロパティのいずれかが実際にWMFバージョンを提供し、それを保証する場合は、必ずそこにも回答してください。また、確認の証拠となる証拠や証拠を提供していただければ、できる限り+2を差し上げます。Googleのクエリで満足のいく結果が得られなかった場合。
10 powershell 

2
Add-WebConfigurationの醜い構文に頼らずにIISアプリケーションプールのリサイクル時間を設定するにはどうすればよいですか?
私は、私たちのIIS 7.5インスタンスの構成をスクリプトと通じてきたビット私は私のようなことを構文が出ている他の人々スクリプトのと作品: $WebAppPoolUserName = "domain\user" $WebAppPoolPassword = "password" $WebAppPoolNames = @("Test","Test2") ForEach ($WebAppPoolName in $WebAppPoolNames ) { $WebAppPool = New-WebAppPool -Name $WebAppPoolName $WebAppPool.processModel.identityType = "SpecificUser" $WebAppPool.processModel.username = $WebAppPoolUserName $WebAppPool.processModel.password = $WebAppPoolPassword $WebAppPool.managedPipelineMode = "Classic" $WebAppPool.managedRuntimeVersion = "v4.0" $WebAppPool | set-item } 私はこれがより簡潔である多くの異なる方法で行われるのを見てきました、そして私はオブジェクトプロパティを設定するこの構文が私がTechNetで見るもののようなものと比較して見える方法が好きです: Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name recycling.periodicRestart.requests -Value 100000 私が理解できなかったのは、この構文を使用してリサイクルスケジュールを設定する方法です。 このコマンドはApplicationPoolDefaultsを設定しますが、見苦しいです: …
9 iis  powershell 

2
Windows 2012 R2のシステムロケールをen-USからen-GBに変更する必要がある
Aws Ec2 Windows 2012 R2インスタンスを起動すると、常にデフォルトのen-USロケールが付属しています。 ただし、既存のインスタンスのうちの2つを最初のようにインストールしたかのようにen-GBに変更する必要があります。つまり、ネットワークサービスやローカルサービスなどのシステムユーザーを含むすべてのユーザーのロケールをen-GBに変更する必要があります。 これを行う方法はありますか? Powershell Set-WinSystemLocale en-GBで試しましたが、エラーが発生しませんが、再起動しても何も起こりません。 助けてくれてありがとう

2
PowerShell:一致するパラメーターが見つかりません
Powershellの世界は初めてです。以下は私の最初のスクリプトです $sServer = "Fully.Qualified.Computer.Name" $os = Get-WmiObject -class Win32_OperatingSystem -computername $sServer $object = New-Object –TypeNamePSObject $object | Add-Member –MemberTypeNoteProperty –Name OSBuild –Value $os.BuildNumber $object | Add-Member –MemberTypeNoteProperty –Name OSVersion –Value $os.Version $object | Add-Member –MemberTypeNoteProperty –Name BIOSSerial –Value $bios.SerialNumber Write-Output $object このスクリプトをPowershellISEで実行すると、次のエラーが発生します。 New-Object : A parameter cannot be found that …

1
ドメインネームシステム(DNS)サーバーコマンドレットの小さな問題
私が抱えている問題でキャッシュまたは何かをクリアする必要があるかどうか疑問に思っています。 DNSゾーンからAレコードを削除し、それらを同じホスト名を持つCNameレコードに置き換えようとしています。 Remove-DnsServerResourceRecord -Zonename $line -InputObject $record -Force Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname -TimeToLive $ttl -HostNameAlias $target これは私を投げます: Add-DnsServerResourceRecordCName:サーバーNS01のゾーンzone.tldにリソースレコード@を作成できませんでした。C:\ admin \ updatettl.ps1:56 char:4 + Add-DnsServerResourceRecordCName -Zonename $ line -Name $ hostname> -TimeToLive ... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo:ResourceExists:(@:root / Microsoft / ... urceRecordCName)> [Add-DnsServerResourceRecordCName]、CimException + FullyQualifiedErrorId:WIN32 9709、 Add-DnsServerResourceRecordCName 何か案は?ありがとう

2
PowershellがPKI証明書をリモートで削除する
最近PKIを再構築しましたが、ネットワーク上のすべてのクライアントマシンに発行された証明書を削除したいと思います。Powershellの仕事のように聞こえます!そのため、このスクリプトはGPOによって配布され、SysVolから実行され、起動時にクライアントマシンでトリガーされるように記述しました。 set-location cert:\LocalMachine\My $certname = $env:COMPUTERNAME + ".domain.com" get-item * | %{ if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force } } 管理者特権のコマンドプロンプトから: Ranの場合、スクリプトは何も出力しません(単に新しい端末行)。エラーは返されず、証明書は削除されません。 スクリプト-WhatIfのRemove-Itemコマンドに引数を追加しても、エラーは発生せず、証明書は削除されません。 Remove-Item。\ CERTIFICATE-THUMBPRINT -Forceが実行されると、証明書が削除されます。 これは権限の問題ですか?これを行うためのよりスマートで簡単な方法はありますか? ありがとう!

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